feat: add plugins, formatting, and editor quality-of-life improvements
- Add leap.nvim (<CR> to jump, S for cross-window) with LeapBackdrop dimming - Add mini.surround with default s-prefix keymaps - Add conform.nvim with format-on-save and <leader>cf keymap - Add undotree with <leader>uu toggle and nerd font shapes - Add nvim-treesitter-context for sticky scope header (max 3 lines) - Add inc-rename.nvim with Noice input dialog and <leader>cr keymap - Add lazydev.nvim for proper Neovim Lua type definitions in lua_ls - Enable Snacks modules: scratch, zen, terminal (<C-/> toggle), and expand picker with flash integration and frecency matcher - Configure flash to suppress default keymaps (owned by leap/mini.surround) - Switch gitsigns from numhl to signcolumn for Snacks.statuscolumn rendering - Set 2-space indentation with expandtab - Enable persistent undo via undofile - Auto-restore persistence session on startup when no file args given Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+28
-2
@@ -100,7 +100,15 @@ vim.keymap.set("n", "gao", function() Snacks.picker.lsp_outgoing_calls() end, {
|
||||
vim.keymap.set("n", "<leader>ss", function() Snacks.picker.lsp_symbols() end, { desc = "LSP Symbols" })
|
||||
vim.keymap.set("n", "<leader>sS", function() Snacks.picker.lsp_workspace_symbols() end, { desc = "LSP Workspace Symbols" })
|
||||
|
||||
-- Standard LSP
|
||||
vim.keymap.set("n", "K", vim.lsp.buf.hover, { desc = "Hover Documentation" })
|
||||
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, { desc = "Code Action" })
|
||||
vim.keymap.set("n", "<leader>cr", function()
|
||||
return ":" .. require("inc_rename").config.cmd_name .. " " .. vim.fn.expand("<cword>")
|
||||
end, { expr = true, desc = "Rename Symbol" })
|
||||
|
||||
-- Other
|
||||
vim.keymap.set("n", "<leader>sq", "<cmd>nohlsearch<cr>", { desc = "Clear Search Highlights" })
|
||||
vim.keymap.set("n", "<leader>z", function() Snacks.zen() end, { desc = "Toggle Zen Mode" })
|
||||
vim.keymap.set("n", "<leader>Z", function() Snacks.zen.zoom() end, { desc = "Toggle Zoom" })
|
||||
vim.keymap.set("n", "<leader>.", function() Snacks.scratch() end, { desc = "Toggle Scratch Buffer" })
|
||||
@@ -111,8 +119,8 @@ vim.keymap.set("n", "<leader>cR", function() Snacks.rename.rename_file() end, {
|
||||
vim.keymap.set({ "n", "v" }, "<leader>gB", function() Snacks.gitbrowse() end, { desc = "Git Browse" })
|
||||
vim.keymap.set("n", "<leader>gg", function() Snacks.lazygit() end, { desc = "Lazygit" })
|
||||
vim.keymap.set("n", "<leader>un", function() Snacks.notifier.hide() end, { desc = "Dismiss All Notifications" })
|
||||
vim.keymap.set("n", "<c-/>", function() Snacks.terminal() end, { desc = "Toggle Terminal" })
|
||||
vim.keymap.set("n", "<c-_>", function() Snacks.terminal() end, { desc = "which_key_ignore" })
|
||||
vim.keymap.set({ "n", "t" }, "<c-/>", function() Snacks.terminal() end, { desc = "Toggle Terminal" })
|
||||
vim.keymap.set({ "n", "t" }, "<c-_>", function() Snacks.terminal() end, { desc = "which_key_ignore" })
|
||||
vim.keymap.set({ "n", "t" }, "]]", function() Snacks.words.jump(vim.v.count1) end, { desc = "Next Reference" })
|
||||
vim.keymap.set({ "n", "t" }, "[[", function() Snacks.words.jump(-vim.v.count1) end, { desc = "Prev Reference" })
|
||||
vim.keymap.set("n", "<leader>N", function()
|
||||
@@ -132,6 +140,24 @@ end, { desc = "Neovim News" })
|
||||
|
||||
----------------------------------------------------------
|
||||
|
||||
-- Leap Keymaps
|
||||
vim.keymap.set({ 'n', 'x', 'o' }, '<CR>', '<Plug>(leap)')
|
||||
vim.keymap.set('n', 'S', '<Plug>(leap-from-window)')
|
||||
|
||||
----------------------------------------------------------
|
||||
|
||||
-- Conform Keymaps
|
||||
vim.keymap.set({ "n", "v" }, "<leader>cf", function()
|
||||
require("conform").format({ lsp_format = "fallback" })
|
||||
end, { desc = "Format Buffer" })
|
||||
|
||||
----------------------------------------------------------
|
||||
|
||||
-- Undotree Keymaps
|
||||
vim.keymap.set("n", "<leader>uu", "<cmd>UndotreeToggle<cr>", { desc = "Toggle Undotree" })
|
||||
|
||||
----------------------------------------------------------
|
||||
|
||||
-- Persistence Keymaps
|
||||
vim.keymap.set("n", "<leader>qs", function() require("persistence").load() end, { desc = "Restore Session" })
|
||||
vim.keymap.set("n", "<leader>qS", function() require("persistence").select() end, { desc = "Select Session" })
|
||||
|
||||
Reference in New Issue
Block a user