return { -- Create annotations with one keybind, and jump your cursor in the inserted annotation { "danymat/neogen", keys = { { "cc", function() require("neogen").generate({}) end, desc = "Neogen Comment", }, }, opts = { snippet_engine = "luasnip" }, }, -- Incremental rename { "smjonas/inc-rename.nvim", cmd = "IncRename", config = true, }, -- Refactoring tool { "ThePrimeagen/refactoring.nvim", keys = { { "r", function() require("refactoring").select_refactor() end, mode = "v", noremap = true, silent = true, expr = false, }, }, opts = {}, }, -- Go forward/backward with square brackets { "nvim-mini/mini.bracketed", event = "BufReadPost", config = function() local bracketed = require("mini.bracketed") bracketed.setup({ file = { suffix = "" }, window = { suffix = "" }, quickfix = { suffix = "" }, yank = { suffix = "" }, treesitter = { suffix = "n" }, }) end, }, -- Better increase/descrease { "monaqa/dial.nvim", -- stylua: ignore keys = { { "", function() return require("dial.map").inc_normal() end, expr = true, desc = "Increment" }, { "", function() return require("dial.map").dec_normal() end, expr = true, desc = "Decrement" }, }, config = function() local augend = require("dial.augend") require("dial.config").augends:register_group({ default = { augend.integer.alias.decimal, augend.integer.alias.hex, augend.date.alias["%Y/%m/%d"], augend.constant.alias.bool, augend.semver.alias.semver, augend.constant.new({ elements = { "let", "const" } }), }, }) end, }, -- Use aerial.nvim instead of symbols-outline (more actively maintained) { "stevearc/aerial.nvim", keys = { { "cs", "AerialToggle", desc = "Symbols Outline (Aerial)" } }, cmd = "AerialToggle", opts = { layout = { default_direction = "right", }, attach_mode = "global", }, }, -- Disabled: using blink.cmp instead -- { -- "nvim-cmp", -- dependencies = { "hrsh7th/cmp-emoji" }, -- opts = function(_, opts) -- table.insert(opts.sources, { name = "emoji" }) -- end, -- }, }