Add which-key plugin and descriptions for all custom keymaps

This commit is contained in:
Fabian Schmidt
2024-09-17 14:49:38 +02:00
parent 9b831f0e3a
commit 8b714fabfa
7 changed files with 102 additions and 76 deletions

View File

@@ -5,26 +5,23 @@ local lsp_attach = function(client, buf)
vim.lsp.inlay_hint.enable(true, nil)
local opts = { noremap = true, silent = true }
vim.keymap.set('n', '<S-C-e>', require("telescope.builtin").diagnostics, opts)
local bufopts = { noremap = true, silent = true, buffer = buf }
local wk = require("which-key")
vim.keymap.set('n', '<space>e', vim.diagnostic.open_float, bufopts)
vim.keymap.set('n', '<C-e>', require("telescope.builtin").diagnostics, bufopts)
vim.keymap.set('n', '<C-ü>d', vim.diagnostic.goto_prev, bufopts)
vim.keymap.set('n', '<C-¨>d', vim.diagnostic.goto_next, bufopts)
wk.add({
{ '<leader>e', vim.diagnostic.open_float, bufopts, desc = "Show diagnostics in buffer" },
{ '<C-e>', require("telescope.builtin").diagnostics, bufopts, desc = "Show diagnostics under cursor" },
{ '<C-ü>d', vim.diagnostic.goto_prev, bufopts },
{ '<C-¨>d', vim.diagnostic.goto_next, bufopts },
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts)
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts)
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts)
vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, bufopts)
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, bufopts)
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, bufopts)
vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, bufopts)
vim.keymap.set('n', 'gr', require("telescope.builtin").lsp_references, bufopts)
{ 'gD', vim.lsp.buf.declaration, bufopts, desc = "Go to declaration" },
{ 'gd', vim.lsp.buf.definition, bufopts, desc = "Go to definition" },
{ 'gi', vim.lsp.buf.implementation, bufopts, desc = "Go to implementation" },
{ '<C-k>', vim.lsp.buf.signature_help, bufopts, desc = "Show signature" },
{ '<leader>rn', vim.lsp.buf.rename, bufopts, desc = "Rename" },
{ '<leader>ca', vim.lsp.buf.code_action, bufopts, desc = "Show code actions" },
{ 'gr', require("telescope.builtin").lsp_references, bufopts, desc = "Shwo references" },
})
end
local mason_path = vim.fn.glob(vim.fn.stdpath "data" .. "/mason/packages/codelldb/extension/")