-- Editor enhancements - Snacks explorer configuration -- -- LazyVim provides snacks (explorer, picker, lazygit, terminal), native -- commenting (Neovim 0.10+), and mini.hipatterns for color preview. -- This file only adds project-specific overrides on top. return { -- ───────────────────────────────────────────────────────────────────────── -- Snacks: explorer + picker tweaks -- ───────────────────────────────────────────────────────────────────────── { "folke/snacks.nvim", opts = { quickfile = { enabled = true, }, explorer = { replace_netrw = true, }, lazygit = { enabled = true, }, picker = { enabled = true, ui_select = true, sources = { explorer = { hidden = true, ignored = true, -- show .gitignore files too follow_file = true, win = { list = { keys = { -- Ctrl+Shift versions (work in Kitty/WezTerm/Alacritty with the right config) [""] = { "edit_vsplit", mode = { "n", "i" } }, [""] = { "edit_split", mode = { "n", "i" } }, -- Plain Ctrl fallbacks for terminals that don't transmit -- the Shift modifier seperately [""] = { "edit_vsplit", mode = { "n", "i" } }, [""] = { "edit_split", mode = { "n", "i" } }, }, }, }, }, }, }, }, keys = { -- Optional Lazygit log/file-history shortcuts - LazyVim's gg -- already opens lazygit itself. { "gl", function() Snacks.lazygit.log() end, desc = "Lazygit Log", }, { "gf", function() Snacks.lazygit.log_file() end, desc = "Lazygit File History", }, }, }, -- ───────────────────────────────────────────────────────────────────────── -- Which-key: leader-prefix cheat sheet -- ───────────────────────────────────────────────────────────────────────── -- Hold for ~300ms (timeoutlen) and the group menu appears. { "folke/which-key.nvim", opts = { spec = { { "a", group = "AI" }, { "b", group = "Buffer" }, { "c", group = "Code" }, { "cg", group = "Go" }, { "cgp", group = "Profile" }, { "d", group = "Debug" }, { "D", group = "Database" }, { "f", group = "Find" }, { "g", group = "Git" }, { "o", group = "Overseer" }, { "s", group = "Search / Symbols" }, { "t", group = "Test" }, { "T", group = "Terminal" }, { "u", group = "UI / Toggle" }, { "x", group = "Diagnostics" }, }, }, }, }