return { { "nvim-lua/plenary.nvim", }, { "RRethy/vim-illuminate", event = "BufReadPost", config = function() require("illuminate").configure({ delay = 200 }) end, -- stylua: ignore keys = { { "]]", function() require("illuminate").goto_next_reference(false) end, desc = "Next Reference", }, { "[[", function() require("illuminate").goto_prev_reference(false) end, desc = "Prev Reference" }, }, }, { "nvim-lua/popup.nvim", }, { "folke/neodev.nvim", }, { "rcarriga/nvim-notify", config = function() local icons = require("lazyvim.config.icons") require("notify").setup({ -- Animation style (see below for details) stages = "fade_in_slide_out", -- Render function for notifications. See notify-render() render = "default", -- Default timeout for notifications timeout = 2000, -- For stages that change opacity this is treated as the highlight behind the window -- Set this to either a highlight group or an RGB hex value e.g. "#000000" background_colour = "Normal", -- Minimum width for notification windows minimum_width = 10, -- Icons for the different levels icons = { ERROR = icons.diagnostics.Error, WARN = icons.diagnostics.Warning, INFO = icons.diagnostics.Information, DEBUG = icons.ui.Bug, TRACE = icons.ui.Pencil, }, }) end, }, { "echasnovski/mini.bufremove", -- stylua: ignore keys = { { "bd", function() require("mini.bufremove").delete(0, false) end, desc = "Delete Buffer" }, { "bD", function() require("mini.bufremove").delete(0, true) end, desc = "Delete Buffer (Force)" }, }, }, { "lewis6991/impatient.nvim", config = function() require("impatient").enable_profile() end, }, { "ghillb/cybu.nvim", keys = { { "bl", "CybuNext", desc = "Next Buffer" }, { "bh", "CybuPrev", desc = "Prev Buffer" }, }, config = function() require("cybu").setup({ position = { relative_to = "win", -- win, editor, cursor anchor = "topright", -- topleft, topcenter, topright, -- centerleft, center, centerright, -- bottomleft, bottomcenter, bottomright -- vertical_offset = 10, -- vertical offset from anchor in lines -- horizontal_offset = 0, -- vertical offset from anchor in columns -- max_win_height = 5, -- height of cybu window in lines -- max_win_width = 0.5, -- integer for absolute in columns -- float for relative to win/editor width }, display_time = 1750, -- time the cybu window is displayed style = { separator = " ", -- string used as separator prefix = "…", -- string used as prefix for truncated paths padding = 1, -- left & right padding in number of spaces hide_buffer_id = true, devicons = { enabled = true, -- enable or disable web dev icons colored = true, -- enable color for web dev icons }, }, }) end, }, { "mbbill/undotree", cmd = { "UndotreeToggle" }, }, { "MunifTanjim/nui.nvim", }, { "kyazdani42/nvim-web-devicons", }, { "lukas-reineke/indent-blankline.nvim", config = function() vim.g.indent_blankline_buftype_exclude = { "terminal", "nofile" } vim.g.indent_blankline_filetype_exclude = { "help", "startify", "dashboard", "packer", "neogitstatus", "NvimTree", "Trouble", "text", } vim.g.indentLine_enabled = 1 vim.g.indent_blankline_char = "▏" vim.g.indent_blankline_show_trailing_blankline_indent = false vim.g.indent_blankline_show_first_indent_level = true vim.g.indent_blankline_use_treesitter = false vim.g.indent_blankline_show_current_context = true require("indent_blankline").setup({ show_current_context = true, }) end, }, { "echasnovski/mini.pairs", event = "VeryLazy", config = function(_, opts) require("mini.pairs").setup(opts) end, }, { "preservim/vim-markdown", }, { "nacro90/numb.nvim", event = "BufEnter", config = function() require("numb").setup({ show_numbers = true, -- enable 'number' for the window while peeking show_cursorline = true, -- enable 'cursorline' for window wdile peeking }) end, }, { "junegunn/vim-slash", }, { "folke/zen-mode.nvim", cmd = { "ZenMode" }, config = function() require("zen-mode").setup({ window = { backdrop = 1, height = 0.9, width = 80, options = { signcolumn = "no", number = false, relativenumber = false, cursorline = true, cursorcolumn = false, -- disable cursor column }, }, plugins = { gitsigns = { enabled = false }, tmux = { enabled = false }, twilight = { enabled = false }, }, on_open = function() vim.g.cmp_active = false vim.cmd([[LspStop]]) end, on_close = function() vim.g.cmp_active = true vim.cmd([[LspStart]]) end, }) end, }, { "echasnovski/mini.surround", keys = { "gz" }, opts = { mappings = { add = "gza", -- Add surrounding in Normal and Visual modes delete = "gzd", -- Delete surrounding find = "gzf", -- Find surrounding (to the right) find_left = "gzF", -- Find surrounding (to the left) highlight = "gzh", -- Highlight surrounding replace = "gzr", -- Replace surrounding update_n_lines = "gzn", -- Update `n_lines` }, }, config = function(_, opts) -- use gz mappings instead of s to prevent conflict with leap require("mini.surround").setup(opts) end, }, { "danymat/neogen", event = "BufEnter", config = function() require("neogen").setup({ enabled = true, input_after_comment = true, }) end, }, }