return {} -- return { -- -- snippets -- { -- "L3MON4D3/LuaSnip", -- dependencies = { -- "rafamadriz/friendly-snippets", -- config = function() -- require("luasnip.loaders.from_vscode").lazy_load() -- end, -- }, -- opts = { -- history = true, -- delete_check_events = "TextChanged", -- }, -- -- stylua: ignore -- keys = { -- { -- "", -- function() -- return require("luasnip").jumpable(1) and "luasnip-jump-next" or "" -- end, -- expr = true, silent = true, mode = "i", -- }, -- { "", function() require("luasnip").jump(1) end, mode = "s" }, -- { "", function() require("luasnip").jump(-1) end, mode = { "i", "s" } }, -- }, -- }, -- -- -- auto completion -- { -- "hrsh7th/nvim-cmp", -- event = "InsertEnter", -- dependencies = { -- "hrsh7th/cmp-nvim-lsp", -- "hrsh7th/cmp-buffer", -- "hrsh7th/cmp-path", -- "saadparwaiz1/cmp_luasnip", -- }, -- }, -- -- -- auto pairs -- { -- "echasnovski/mini.pairs", -- event = "VeryLazy", -- config = function(_, opts) -- require("mini.pairs").setup(opts) -- end, -- }, -- -- -- surround -- { -- "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, -- }, -- -- -- comments -- { "JoosepAlviste/nvim-ts-context-commentstring" }, -- { -- "echasnovski/mini.comment", -- event = "VeryLazy", -- opts = { -- hooks = { -- pre = function() -- require("ts_context_commentstring.internal").update_commentstring({}) -- end, -- }, -- }, -- config = function(_, opts) -- require("mini.comment").setup(opts) -- end, -- }, -- -- -- better text-objects -- { -- "echasnovski/mini.ai", -- keys = { -- { "a", mode = { "x", "o" } }, -- { "i", mode = { "x", "o" } }, -- }, -- dependencies = { -- { -- "nvim-treesitter/nvim-treesitter-textobjects", -- init = function() -- -- no need to load the plugin, since we only need its queries -- require("lazy.core.loader").disable_rtp_plugin("nvim-treesitter-textobjects") -- end, -- }, -- }, -- opts = function() -- local ai = require("mini.ai") -- return { -- n_lines = 500, -- custom_textobjects = { -- o = ai.gen_spec.treesitter({ -- a = { "@block.outer", "@conditional.outer", "@loop.outer" }, -- i = { "@block.inner", "@conditional.inner", "@loop.inner" }, -- }, {}), -- f = ai.gen_spec.treesitter({ a = "@function.outer", i = "@function.inner" }, {}), -- c = ai.gen_spec.treesitter({ a = "@class.outer", i = "@class.inner" }, {}), -- }, -- } -- end, -- config = function(_, opts) -- local ai = require("mini.ai") -- ai.setup(opts) -- end, -- }, -- }