feat: add lsp key descriptions

This commit is contained in:
Fey Naomi Schrewe 2024-09-08 12:36:40 +02:00
parent 2c15f7a9ac
commit 0913d00968

View File

@ -8,10 +8,15 @@ lspconfig.ccls.setup {}
-- Global mappings. -- Global mappings.
-- See `:help vim.diagnostic.*` for documentation on any of the below functions -- See `:help vim.diagnostic.*` for documentation on any of the below functions
vim.keymap.set('n', '<space>e', vim.diagnostic.open_float) vim.keymap.set('n', '<space>e', vim.diagnostic.open_float, {
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev) desc = 'Open LSP diagnostics'
vim.keymap.set('n', ']d', vim.diagnostic.goto_next) })
vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist) vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, {
desc = 'Go to previous LSP diagnostic'
})
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, {
desc = 'Go to next LSP diagnostic'
})
-- Use LspAttach autocommand to only map the following keys -- Use LspAttach autocommand to only map the following keys
-- after the language server attaches to the current buffer -- after the language server attaches to the current buffer
@ -23,24 +28,21 @@ vim.api.nvim_create_autocmd('LspAttach', {
-- Buffer local mappings. -- Buffer local mappings.
-- See `:help vim.lsp.*` for documentation on any of the below functions -- See `:help vim.lsp.*` for documentation on any of the below functions
local opts = { buffer = ev.buf } local opts = function (desc) return { buffer = ev.buf, desc = desc } end
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts) vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts('Go to declaration'))
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, opts) vim.keymap.set('n', 'gd', vim.lsp.buf.definition, opts('Go to definition'))
vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts) vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts('Show LSP info'))
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, opts) vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, opts('Go to implementation'))
vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, opts) vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, opts('Show function signature'))
vim.keymap.set('n', '<space>wa', vim.lsp.buf.add_workspace_folder, opts) vim.keymap.set('n', '<space>wa', vim.lsp.buf.add_workspace_folder, opts('Add workspace folder'))
vim.keymap.set('n', '<space>wr', vim.lsp.buf.remove_workspace_folder, opts) vim.keymap.set('n', '<space>wr', vim.lsp.buf.remove_workspace_folder, opts('Remove workspace folder'))
vim.keymap.set('n', '<space>wl', function() vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, opts('Go to type definition'))
print(vim.inspect(vim.lsp.buf.list_workspace_folders())) vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, opts('Rename symbol'))
end, opts) vim.keymap.set({ 'n', 'v' }, '<space>ca', vim.lsp.buf.code_action, opts('Execute code action'))
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, opts) vim.keymap.set('n', 'gr', vim.lsp.buf.references, opts('Go to references'))
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, opts)
vim.keymap.set({ 'n', 'v' }, '<space>ca', vim.lsp.buf.code_action, opts)
vim.keymap.set('n', 'gr', vim.lsp.buf.references, opts)
vim.keymap.set('n', '<space>f', function() vim.keymap.set('n', '<space>f', function()
vim.lsp.buf.format { async = true } vim.lsp.buf.format { async = true }
end, opts) end, opts('Format buffer with LSP'))
end, end,
}) })