diff options
| author | David T. Sadler <davidtsadler@googlemail.com> | 2026-02-10 23:11:20 +0000 |
|---|---|---|
| committer | David T. Sadler <davidtsadler@googlemail.com> | 2026-02-10 23:24:01 +0000 |
| commit | ab78c4274a485398ea7dc61cdd11ba90e215fbd7 (patch) | |
| tree | 86f6a0455f7b90f934f8fa2f27d351272426caf1 | |
| parent | 61bf44150c5dbf610d71276ec5a189334917ff70 (diff) | |
Add snacks.nvim
| -rw-r--r-- | nvim/.config/nvim/lsp/lua_ls.lua | 1 | ||||
| -rw-r--r-- | nvim/.config/nvim/lua/config/keymaps.lua | 20 | ||||
| -rw-r--r-- | nvim/.config/nvim/lua/plugins/init.lua | 1 | ||||
| -rw-r--r-- | nvim/.config/nvim/lua/plugins/snacks-nvim.lua | 7 | ||||
| -rw-r--r-- | nvim/.config/nvim/nvim-pack-lock.json | 4 |
5 files changed, 33 insertions, 0 deletions
diff --git a/nvim/.config/nvim/lsp/lua_ls.lua b/nvim/.config/nvim/lsp/lua_ls.lua index b93bbad..8975a49 100644 --- a/nvim/.config/nvim/lsp/lua_ls.lua +++ b/nvim/.config/nvim/lsp/lua_ls.lua @@ -29,6 +29,7 @@ return { checkThirdParty = false, library = { vim.env.VIMRUNTIME, + vim.fn.expand("$HOME/.local/share/nvim/site/pack/core/opt/snacks.nvim/lua"), }, }, }, diff --git a/nvim/.config/nvim/lua/config/keymaps.lua b/nvim/.config/nvim/lua/config/keymaps.lua index 8e7dc0a..f3942cb 100644 --- a/nvim/.config/nvim/lua/config/keymaps.lua +++ b/nvim/.config/nvim/lua/config/keymaps.lua @@ -30,6 +30,9 @@ set('n', '[b', '<cmd>bprevious<cr>', { desc = 'Prev Buffer' }) set('n', ']b', '<cmd>bnext<cr>', { desc = 'Next Buffer' }) set('n', '<leader>bb', '<cmd>e #<cr>', { desc = 'Switch to Other Buffer' }) set('n', '<leader>`', '<cmd>e #<cr>', { desc = 'Switch to Other Buffer' }) +set('n', '<leader>bd', function() Snacks.bufdelete() end, { desc = 'Delete Buffer' }) +set('n', '<leader>bo', function() Snacks.bufdelete.other() end, { desc = 'Delete Other Buffers' }) +set('n', '<leader>bD', '<cmd>:bd<cr>', { desc = 'Delete Buffer and Window' }) -- https://github.com/mhinz/vim-galore#saner-behavior-of-n-and-n -- Saner search behavior: n always goes forward, N always goes backward. @@ -94,6 +97,8 @@ set('n', '[w', diagnostic_goto(false, 'WARN'), { desc = 'Prev Warning' }) set('n', '<leader>ui', vim.show_pos, { desc = 'Inspect Pos' }) set('n', '<leader>uI', function() vim.treesitter.inspect_tree() vim.api.nvim_input('I') end, { desc = 'Inspect Tree' }) +-- Floating terminal. +set('n', '<leader>fT', function() Snacks.terminal() end, { desc = 'Terminal (cwd)' }) -- Window Splitting. set('n', '<leader>sh', '<C-W>s', { desc = 'Split Window Below' }) set('n', '<leader>sv', '<C-W>v', { desc = 'Split Window Right' }) @@ -115,3 +120,18 @@ set('n', '<leader>l', '<cmd>set list!<cr>', { desc = 'Toggle Hidden Characters' -- Quickly source current file. set('n', '<leader>xx', '<cmd>source %<cr>', { desc = 'Source Current File' }) + +-- LSP +set('n', '<leader>cl', function() Snacks.picker.lsp_config() end, { desc = "Lsp Info" }) +set('n', 'gd', vim.lsp.buf.definition, { desc = 'Goto Definition' }) +set('n', 'gr', vim.lsp.buf.references, { desc = 'References', nowait = true }) +set('n', 'gr', vim.lsp.buf.references, { desc = 'References', nowait = true }) +set('n', 'gI', vim.lsp.buf.implementation, { desc = 'Goto Implementation' }) +set('n', 'gy', vim.lsp.buf.type_definition, { desc = 'Goto T[y]pe Definition' }) +set('n', 'gD', vim.lsp.buf.declaration, { desc = 'Goto Declaration' }) +set('n', 'K', function() return vim.lsp.buf.hover() end, { desc = 'Hover' }) +set('n', 'gK', function() return vim.lsp.buf.signature_help() end, { desc = 'Signature Help' }) +set({'n', 'x'}, '<leader>ca', vim.lsp.buf.code_action, { desc = 'Code Action' }) +set({'n', 'x'}, '<leader>cc', vim.lsp.codelens.run, { desc = 'Run Codelens' }) +set('n', '<leader>cR', function() Snacks.rename.rename_file() end, { desc = 'Rename File' }) +set('n', 'leader>cr', vim.lsp.buf.rename, { desc = 'Rename' }) diff --git a/nvim/.config/nvim/lua/plugins/init.lua b/nvim/.config/nvim/lua/plugins/init.lua index fbed01b..a3deebe 100644 --- a/nvim/.config/nvim/lua/plugins/init.lua +++ b/nvim/.config/nvim/lua/plugins/init.lua @@ -1,3 +1,4 @@ +require('plugins.snacks-nvim') require('plugins.nord') require('plugins.vim-obsession') require('plugins.nvim-treesitter') diff --git a/nvim/.config/nvim/lua/plugins/snacks-nvim.lua b/nvim/.config/nvim/lua/plugins/snacks-nvim.lua new file mode 100644 index 0000000..91a953f --- /dev/null +++ b/nvim/.config/nvim/lua/plugins/snacks-nvim.lua @@ -0,0 +1,7 @@ +vim.pack.add({'https://github.com/folke/snacks.nvim'}) + +require('snacks').setup({ + bigfile = { enabled = true }, + bufdelete = { enabled = true }, + terminal = { enabled = true }, +}) diff --git a/nvim/.config/nvim/nvim-pack-lock.json b/nvim/.config/nvim/nvim-pack-lock.json index 15b3288..c08d492 100644 --- a/nvim/.config/nvim/nvim-pack-lock.json +++ b/nvim/.config/nvim/nvim-pack-lock.json @@ -13,6 +13,10 @@ "rev": "45a07f869b0cffba342276f2c77ba7c116d35db8", "src": "https://github.com/nvim-treesitter/nvim-treesitter" }, + "snacks.nvim": { + "rev": "fe7cfe9800a182274d0f868a74b7263b8c0c020b", + "src": "https://github.com/folke/snacks.nvim" + }, "vim-obsession": { "rev": "ed9dfc7c2cc917ace8b24f4f9f80a91e05614b63", "src": "https://github.com/tpope/vim-obsession.git" |
