summaryrefslogtreecommitdiff
path: root/config/essentials/nvim/lua/user/cmp
diff options
context:
space:
mode:
authorRaymaekers Luca <raymaekers.luca@gmail.com>2023-09-01 00:38:59 +0200
committerRaymaekers Luca <raymaekers.luca@gmail.com>2023-09-01 00:38:59 +0200
commitd94e878591beed81db514cd429fc638f3c296785 (patch)
treebded143aa5a6ce0326f52ed68f4f03d904e9a600 /config/essentials/nvim/lua/user/cmp
parentd0ae21d18c24fa0c4e7d39d3e57e6613501b697d (diff)
parent2d4be6b13ee3f3154e308d09ba54f0f61e4d5b2f (diff)
Merge branch 'main' of /var/git/dotfiles
Diffstat (limited to 'config/essentials/nvim/lua/user/cmp')
-rw-r--r--config/essentials/nvim/lua/user/cmp/setup.lua24
1 files changed, 24 insertions, 0 deletions
diff --git a/config/essentials/nvim/lua/user/cmp/setup.lua b/config/essentials/nvim/lua/user/cmp/setup.lua
index 8f8291e..36d55e3 100644
--- a/config/essentials/nvim/lua/user/cmp/setup.lua
+++ b/config/essentials/nvim/lua/user/cmp/setup.lua
@@ -42,3 +42,27 @@ cmp.setup.cmdline(':', {
{ name = 'cmdline', keyword_length = 4 }
}),
})
+
+local function nnoremap(rhs, lhs, bufopts, desc)
+ bufopts.desc = desc
+ vim.keymap.set("n", rhs, lhs, bufopts)
+end
+
+-- Regular Neovim LSP client keymappings
+local bufopts = { noremap=true, silent=true }
+nnoremap('gD', vim.lsp.buf.declaration, bufopts, "Go to declaration")
+nnoremap('gd', vim.lsp.buf.definition, bufopts, "Go to definition")
+nnoremap('gi', vim.lsp.buf.implementation, bufopts, "Go to implementation")
+nnoremap('K', vim.lsp.buf.hover, bufopts, "Hover text")
+nnoremap('<C-k>', vim.lsp.buf.signature_help, bufopts, "Show signature")
+nnoremap('<leader>wa', vim.lsp.buf.add_workspace_folder, bufopts, "Add workspace folder")
+nnoremap('<leader>wr', vim.lsp.buf.remove_workspace_folder, bufopts, "Remove workspace folder")
+nnoremap('<leader>wl', function()
+print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
+end, bufopts, "List workspace folders")
+nnoremap('<leader>D', vim.lsp.buf.type_definition, bufopts, "Go to type definition")
+nnoremap('<leader>rn', vim.lsp.buf.rename, bufopts, "Rename")
+nnoremap('<leader><Return>', vim.lsp.buf.code_action, bufopts, "Code actions")
+vim.keymap.set('v', "<leader><Return>", "<ESC><CMD>lua vim.lsp.buf.range_code_action()<CR>",
+{ noremap=true, silent=true, desc = "Code actions" })
+nnoremap('<leader>f', function() vim.lsp.buf.format { async = true } end, bufopts, "Format file")