dotfiles/config/nvim/plugin/snacks.lua (view raw)
| 1 | Config.add "folke/snacks.nvim" |
| 2 | |
| 3 | local function wrap(mod, fn, opts) |
| 4 | return function() return Snacks[mod][fn](opts or {}) end |
| 5 | end |
| 6 | |
| 7 | Config.map("n", "<leader>b", wrap("picker", "buffers")) |
| 8 | Config.map("n", "<leader>d", wrap("picker", "diagnostics")) |
| 9 | Config.map("n", "<leader>f", wrap("picker", "smart")) |
| 10 | Config.map("n", "<leader>sd", wrap("picker", "git_diff")) |
| 11 | Config.map("n", "<leader>sg", wrap("picker", "grep", { args = { "-i" } })) |
| 12 | Config.map("n", "<leader>sh", wrap("picker", "help")) |
| 13 | Config.map("n", "<leader>sr", wrap("picker", "recent")) |
| 14 | Config.map("n", "<leader>ss", wrap("picker", "resume")) |
| 15 | Config.map("n", "<leader>st", wrap("picker", "tags")) |
| 16 | |
| 17 | require("snacks").setup { |
| 18 | picker = { |
| 19 | enabled = true, |
| 20 | main = { current = true }, |
| 21 | layout = { |
| 22 | preset = "ivy", |
| 23 | layout = { height = 25 }, |
| 24 | }, |
| 25 | win = { input = { keys = { |
| 26 | ["<Esc>"] = { "close", mode = { "n", "i" } }, |
| 27 | } } }, |
| 28 | sources = { |
| 29 | select = { layout = { preset = "ivy" } }, |
| 30 | spelling = { layout = { preset = "ivy" } }, |
| 31 | smart = { multi = { "buffers", "files" } }, |
| 32 | }, |
| 33 | }, |
| 34 | } |