---@type LazySpec return { { "echasnovski/mini.nvim", event = "VeryLazy", keys = { { "c", function() require("mini.bufremove").delete() end, }, }, config = function() require("mini.bufremove").setup { silent = true } require("mini.splitjoin").setup {} require("mini.pairs").setup {} require("mini.ai").setup {} require("mini.icons").setup {} require("mini.test").setup {} require("mini.hipatterns").setup {} require("mini.comment").setup {} end, }, { "folke/snacks.nvim", lazy = false, priority = 1001, keys = function() local function wrap(mod, fn, opts) return function() return Snacks[mod][fn](opts or {}) end end return { { "d", wrap("picker", "resume") }, { "f", wrap("picker", "smart") }, { "b", wrap("picker", "buffers") }, { "sr", wrap("picker", "recent") }, { "sg", wrap("picker", "grep", { args = { "-i" } }) }, { "sd", wrap("picker", "diagnostics") }, { "sh", wrap("picker", "help") }, { "z=", wrap("picker", "spelling") }, } end, ---@module "snacks" ---@type snacks.Config opts = { image = { enabled = true, doc = { inline = false }, }, words = { enabled = true, debounce = 100, }, picker = { enabled = true, main = { current = true }, layout = { preset = "ivy", layout = { height = 25, }, }, win = { input = { keys = { [""] = { "close", mode = { "n", "i" } }, [""] = { "" }, [""] = { "" }, }, }, }, sources = { select = { layout = { preset = "ivy" } }, spelling = { layout = { preset = "ivy" } }, smart = { multi = { "buffers", "files" } }, }, }, }, }, }