my neovim config, who would've thought
at main 2.1 kB view raw
1---@type LazySpec 2return { 3 { 4 "echasnovski/mini.nvim", 5 event = "VeryLazy", 6 keys = { 7 { 8 "<leader>c", 9 function() 10 require("mini.bufremove").delete() 11 end, 12 }, 13 }, 14 config = function() 15 require("mini.bufremove").setup { silent = true } 16 require("mini.splitjoin").setup {} 17 require("mini.pairs").setup {} 18 require("mini.ai").setup {} 19 require("mini.icons").setup {} 20 require("mini.test").setup {} 21 require("mini.hipatterns").setup {} 22 require("mini.comment").setup {} 23 end, 24 }, 25 26 { 27 "folke/snacks.nvim", 28 lazy = false, 29 priority = 1001, 30 keys = function() 31 local function wrap(mod, fn, opts) 32 return function() 33 return Snacks[mod][fn](opts or {}) 34 end 35 end 36 37 return { 38 { "<leader>d", wrap("picker", "resume") }, 39 { "<leader>f", wrap("picker", "smart") }, 40 { "<leader>b", wrap("picker", "buffers") }, 41 { "<leader>sr", wrap("picker", "recent") }, 42 { "<leader>sg", wrap("picker", "grep", { args = { "-i" } }) }, 43 { "<leader>sd", wrap("picker", "diagnostics") }, 44 { "<leader>sh", wrap("picker", "help") }, 45 { "z=", wrap("picker", "spelling") }, 46 } 47 end, 48 ---@module "snacks" 49 ---@type snacks.Config 50 opts = { 51 image = { 52 enabled = true, 53 doc = { inline = false }, 54 }, 55 words = { 56 enabled = true, 57 debounce = 100, 58 }, 59 picker = { 60 enabled = true, 61 main = { current = true }, 62 layout = { 63 preset = "ivy", 64 layout = { 65 height = 25, 66 }, 67 }, 68 win = { 69 input = { 70 keys = { 71 ["<Esc>"] = { "close", mode = { "n", "i" } }, 72 ["<C-k>"] = { "" }, 73 ["<C-j>"] = { "" }, 74 }, 75 }, 76 }, 77 sources = { 78 select = { layout = { preset = "ivy" } }, 79 spelling = { layout = { preset = "ivy" } }, 80 smart = { multi = { "buffers", "files" } }, 81 }, 82 }, 83 }, 84 }, 85}