local icons = require("lazyvim.config.icons") 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", -- opts = { -- -- Animation style (see below for details) -- stages = "static", -- -- -- 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, -- }, -- }, -- }, { "echasnovski/mini.bufremove", event = "VeryLazy", -- 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)" }, }, }, -- { -- "ghillb/cybu.nvim", -- event = "VeryLazy", -- keys = { -- { "bl", "CybuNext", desc = "Next Buffer" }, -- { "bh", "CybuPrev", desc = "Prev Buffer" }, -- }, -- opts = { -- 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 -- }, -- }, -- }, -- }, { "mbbill/undotree", cmd = { "UndotreeToggle" }, }, { "MunifTanjim/nui.nvim", }, { "kyazdani42/nvim-web-devicons", }, { "lukas-reineke/indent-blankline.nvim", opts = {}, }, -- { -- "windwp/nvim-autopairs", -- event = "VeryLazy", -- opts = { -- disable_filetype = { "TelescopePrompt", "spectre_panel" }, -- ignored_next_char = "[%w%.*]", -- don't place autopairs when cursor sits infront of any character. -- }, -- config = function(_, opts) -- require("nvim-autopairs").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]]) vim.opt.sidescrolloff = 0 end, on_close = function() vim.g.cmp_active = true vim.cmd([[LspStart]]) vim.opt.sidescrolloff = 8 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, }, { "SmiteshP/nvim-navic", init = function() vim.g.navic_silence = true require("lazyvim.utils").on_attach(function(client, buffer) if client.server_capabilities.documentSymbolProvider then require("nvim-navic").attach(client, buffer) end end) end, opts = { separator = " ", highlight = true, depth_limit = 5 }, }, }