return { { -- to add ", (... Surrounding selected text "kylechui/nvim-surround", version = "*", -- Use for stability; omit to use `main` branch for the latest features event = "VeryLazy", config = function() require("nvim-surround").setup({ -- Configuration here, or leave empty to use defaults }) end, }, { "rcarriga/nvim-notify", opts = { -- regular opts }, config = function(_, opts) require("notify").setup(vim.tbl_extend("keep", { -- other stuff background_colour = "#000000", render = "wrapped-compact", }, opts)) end, }, { "chrisgrieser/nvim-recorder", dependencies = "rcarriga/nvim-notify", -- optional opts = {}, -- required even with default settings, since it calls `setup()` }, { "hedyhli/outline.nvim", lazy = true, cmd = { "Outline", "OutlineOpen" }, keys = { -- Example mapping to toggle outline { "o", "Outline", desc = "Toggle outline" }, }, opts = { -- Your setup opts here }, config = function() require("outline").setup({}) end, }, { -- Automatically add brackets by pairs "jiangmiao/auto-pairs", lazy = false, }, { -- Scroll "karb94/neoscroll.nvim", config = function() require("neoscroll").setup({}) end, }, -- Swiss Army knife among Neovim plugins { "echasnovski/mini.nvim", version = false }, -- when open go to the closed position { "farmergreg/vim-lastplace" }, -- icons { "nvim-tree/nvim-web-devicons", config = function() require("nvim-web-devicons").setup({ -- your personnal icons can go here (to override) -- you can specify color or cterm_color instead of specifying both of them -- DevIcon will be appended to `name` override = { zsh = { icon = "", color = "#428850", cterm_color = "65", name = "Zsh", }, }, -- globally enable different highlight colors per icon (default to true) -- if set to false all icons will have the default icon's color color_icons = true, -- globally enable default icons (default to false) -- will get overriden by `get_icons` option default = true, -- globally enable "strict" selection of icons - icon will be looked up in -- different tables, first by filename, and if not found by extension; this -- prevents cases when file doesn't have any extension but still gets some icon -- because its name happened to match some extension (default to false) strict = true, -- same as `override` but specifically for overrides by filename -- takes effect when `strict` is true override_by_filename = { [".gitignore"] = { icon = "", color = "#f1502f", name = "Gitignore", }, }, -- same as `override` but specifically for overrides by extension -- takes effect when `strict` is true override_by_extension = { ["log"] = { icon = "", color = "#81e043", name = "Log", }, }, -- same as `override` but specifically for operating system -- takes effect when `strict` is true override_by_operating_system = { ["apple"] = { icon = "", color = "#A2AAAD", cterm_color = "248", name = "Apple", }, }, }) -- code end, }, -- Extensible UI for Neovim notifications and LSP progress messages { "j-hui/fidget.nvim", opts = {}, }, -- extensible core UI hooks { "stevearc/dressing.nvim", opts = {}, }, { "eandrju/cellular-automaton.nvim" }, -- stupid animation ex :CellularAutomaton make_it_rain { "HiPhish/rainbow-delimiters.nvim" }, -- rainbow delimiters { "lukas-reineke/indent-blankline.nvim", main = "ibl", opts = {}, config = function() -- Config for matching colors with rainbow_delimiters local highlight = { "RainbowRed", "RainbowYellow", "RainbowBlue", "RainbowOrange", "RainbowGreen", "RainbowViolet", "RainbowCyan", } local hooks = require("ibl.hooks") -- create the highlight groups in the highlight setup hook, so they are reset -- every time the colorscheme changes hooks.register(hooks.type.HIGHLIGHT_SETUP, function() vim.api.nvim_set_hl(0, "RainbowRed", { fg = "#E06C75" }) vim.api.nvim_set_hl(0, "RainbowYellow", { fg = "#E5C07B" }) vim.api.nvim_set_hl(0, "RainbowBlue", { fg = "#61AFEF" }) vim.api.nvim_set_hl(0, "RainbowOrange", { fg = "#D19A66" }) vim.api.nvim_set_hl(0, "RainbowGreen", { fg = "#98C379" }) vim.api.nvim_set_hl(0, "RainbowViolet", { fg = "#C678DD" }) vim.api.nvim_set_hl(0, "RainbowCyan", { fg = "#56B6C2" }) end) vim.g.rainbow_delimiters = { highlight = highlight } require("ibl").setup({ scope = { highlight = highlight }, exclude = { filetypes = { "lspinfo", "packer", "checkhealth", "help", "man", "dashboard", "", }, -- filetypes = vim.g.exclude_filetypes, }, }) hooks.register(hooks.type.SCOPE_HIGHLIGHT, hooks.builtin.scope_highlight_from_extmark) end, }, { -- Scrollbar "lewis6991/satellite.nvim", config = function() require("satellite").setup({ current_only = false, winblend = 50, zindex = 40, excluded_filetypes = {}, width = 2, handlers = { cursor = { enable = true, -- Supports any number of symbols symbols = { "⎺", "⎻", "⎼", "⎽" }, -- symbols = { '⎻', '⎼' } -- Highlights: -- - SatelliteCursor (default links to NonText }, search = { enable = true, -- Highlights: -- - SatelliteSearch (default links to Search) -- - SatelliteSearchCurrent (default links to SearchCurrent) }, diagnostic = { enable = true, signs = { "-", "=", "≡" }, min_severity = vim.diagnostic.severity.HINT, -- Highlights: -- - SatelliteDiagnosticError (default links to DiagnosticError) -- - SatelliteDiagnosticWarn (default links to DiagnosticWarn) -- - SatelliteDiagnosticInfo (default links to DiagnosticInfo) -- - SatelliteDiagnosticHint (default links to DiagnosticHint) }, gitsigns = { enable = true, signs = { -- can only be a single character (multibyte is okay) add = "│", change = "│", delete = "-", }, -- Highlights: -- SatelliteGitSignsAdd (default links to GitSignsAdd) -- SatelliteGitSignsChange (default links to GitSignsChange) -- SatelliteGitSignsDelete (default links to GitSignsDelete) }, marks = { enable = true, show_builtins = false, -- shows the builtin marks like [ ] < > key = "m", -- Highlights: -- SatelliteMark (default links to Normal) }, quickfix = { signs = { "-", "=", "≡" }, -- Highlights: -- SatelliteQuickfix (default links to WarningMsg) }, }, }) end, }, -- quickly switch between frequently used files ";" { "jackMort/tide.nvim", opts = { -- optional configuration }, dependencies = { "MunifTanjim/nui.nvim", "nvim-tree/nvim-web-devicons", }, }, }