From ce4133afa22a14293bed748818de13b9886159cb Mon Sep 17 00:00:00 2001 From: tea Date: Tue, 3 Sep 2024 20:14:03 +0200 Subject: [PATCH] nvim: add LSP keymappings --- .config/nvim/lua/my/lsp.lua | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/.config/nvim/lua/my/lsp.lua b/.config/nvim/lua/my/lsp.lua index 01d87c0..ba26e6a 100644 --- a/.config/nvim/lua/my/lsp.lua +++ b/.config/nvim/lua/my/lsp.lua @@ -1,7 +1,28 @@ local map = require('my.functions').map local on_attach = function(client, bufnr) - -- TODO: key mappings + map('n', '', vim.diagnostic.goto_prev, 'Prev diagnostic', bufnr) + map('n', '', vim.diagnostic.goto_next, 'Next diagnostic', bufnr) + map('n', 'gD', vim.lsp.buf.declaration, 'Go to declaration', bufnr) + map('n', 'gd', vim.lsp.buf.definition, 'Go to definition', bufnr) + map('n', '', vim.lsp.buf.definition, 'Go to definition', bufnr) + map('n', 'gi', vim.lsp.buf.implementation, 'Go to implementation', + bufnr) + map('n', 'gr', vim.lsp.buf.references, 'Show references', bufnr) + map('n', 'K', vim.lsp.buf.hover, 'Hover', bufnr) + map('i', '', vim.lsp.buf.hover, 'Hover', bufnr) + require('which-key').add({{ 'l', group = 'LSP' }}) + require('which-key').add({{ 'lw', group = 'workspace' }}) + map('n', 'lwa', vim.lsp.buf.add_workspace_folder, + 'Add workspace folder', bufnr) + map('n', 'lwr', vim.lsp.buf.remove_workspace_folder, + 'Remove workspace folder', bufnr) + map('n', 'lwl', function() + print(vim.inspect(vim.lsp.buf.list_workspace_folders())) + end, 'List workspace folders', bufnr) + map('n', 'lr', vim.lsp.buf.rename, 'Rename symbol', bufnr) + map('n', 'la', vim.lsp.buf.code_action, 'Code action', bufnr) + map('n', 'lf', vim.lsp.buf.format, 'Format buffer', bufnr) if client.server_capabilities.documentHighlightProvider then vim.api.nvim_create_augroup('config_lsp', { clear = false })