feat(neovim): add which-key mappings

This commit is contained in:
Felix Schröter 2022-05-19 00:52:46 +02:00
parent af37d88f90
commit 51f2778efc
Signed by: felschr
GPG key ID: 671E39E6744C807D
5 changed files with 120 additions and 63 deletions

View file

@ -1,16 +1,33 @@
vim.keymap.set("n", "gd", vim.lsp.buf.definition, { silent = true })
vim.keymap.set("n", "gp", peek_definition, { silent = true })
vim.keymap.set("n", "gy", vim.lsp.buf.type_definition, { silent = true })
vim.keymap.set("n", "gi", vim.lsp.buf.implementation, { silent = true })
vim.keymap.set("n", "gr", vim.lsp.buf.references, { silent = true })
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, { silent = true })
vim.keymap.set("n", "K", vim.lsp.buf.hover, { silent = true })
vim.keymap.set("n", "<c-k>", vim.lsp.buf.signature_help, { silent = true })
vim.keymap.set("n", "<leader>sd", vim.lsp.buf.document_symbol, { silent = true })
vim.keymap.set("n", "<leader>sw", vim.lsp.buf.workspace_symbol, { silent = true })
vim.keymap.set("n", "<leader>f", function()
vim.lsp.buf.formatting_seq_sync(nil, nil, { "tsserver", "diagnosticls" })
end, { silent = true })
vim.keymap.set("n", "<leader>a", vim.lsp.buf.code_action, { silent = true })
vim.keymap.set("n", "<leader>r", vim.lsp.buf.rename, { silent = true })
vim.keymap.set("n", "<leader>l", vim.lsp.codelens.run, { silent = true })
local wk = require("which-key")
wk.register({
g = {
name = "Go to",
d = { vim.lsp.buf.definition, "Go to definition" },
p = { vim.lsp.buf.peek_definition, "Show definition" },
y = { vim.lsp.buf.type_definition, "Go to type definition" },
i = { vim.lsp.buf.implementation, "Go to implementation" },
r = { vim.lsp.buf.references, "Show references" },
D = { vim.lsp.buf.declaration, "Show declarations" },
},
K = { vim.lsp.buf.hover, "Show info" },
["<c-k>"] = { vim.lsp.buf.signature_help, "Show signature" },
}, { mode = "n" })
wk.register({
s = {
name = "Symbols",
d = { vim.lsp.buf.document_symbol, "Document symbol" },
w = { vim.lsp.buf.workspace_symbol, "Workspace symbol" },
},
f = {
function()
vim.lsp.buf.formatting_seq_sync(nil, nil, { "tsserver", "diagnosticls" })
end,
"Format file",
},
a = { vim.lsp.buf.code_action, "Code actions" },
r = { vim.lsp.buf.rename, "Rename" },
l = { vim.lsp.codelens.run, "Run codelens" },
}, { mode = "n", prefix = "<leader>" })