From c35b450705899b011957f16c2a583e1e3818af8c Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Fri, 27 May 2022 12:53:21 +0200 Subject: vim: register keybinds with which-key --- .vim/lua/lsp.lua | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) (limited to '.vim/lua/lsp.lua') diff --git a/.vim/lua/lsp.lua b/.vim/lua/lsp.lua index 64a6895..98e9e58 100644 --- a/.vim/lua/lsp.lua +++ b/.vim/lua/lsp.lua @@ -16,12 +16,19 @@ local my_attach = function(client, bufnr) vim.keymap.set('n', '' , vim.lsp.buf.definition) vim.keymap.set('n', 'gd' , vim.lsp.buf.definition) vim.keymap.set('n', 'gR' , vim.lsp.buf.references) + wk_register({ + ['gd'] = {'goto definition'}, + ['gR'] = {'goto references'}, + }, { buffer = bufnr }) end if client.resolved_capabilities.hover then vim.keymap.set('n', 'K' , vim.lsp.buf.hover) end if client.resolved_capabilities.rename then vim.keymap.set('n', 'grr' , vim.lsp.buf.rename) + wk_register({ + ['grr'] = {'rename'}, + }, { buffer = bufnr }) end if client.resolved_capabilities.signature_help then vim.keymap.set('n', '' , vim.lsp.buf.signature_help) @@ -32,26 +39,35 @@ local my_attach = function(client, bufnr) end if client.resolved_capabilities.type_definition then vim.keymap.set('n', 'gT' , vim.lsp.buf.type_definition) + wk_register({ + ['gT'] = {'goto typedef'}, + }, { buffer = bufnr }) end if client.resolved_capabilities.declaration then vim.keymap.set('n', 'gD' , vim.lsp.buf.declaration) + wk_register({ + ['gD'] = {'goto declaration'}, + }, { buffer = bufnr }) end if client.resolved_capabilities.implementation then vim.keymap.set('n', 'gI' , vim.lsp.buf.implementation) + wk_register({ + ['gI'] = {'goto implementation'}, + }, { buffer = bufnr }) end if client.resolved_capabilities.workspace_symbol then vim.keymap.set('n', 'gW' , vim.lsp.buf.workspace_symbol) + wk_register({ + ['gW'] = {'goto symbol'}, + }, { buffer = bufnr }) end -- if client.resolved_capabilities.document_symbol then -- vim.keymap.set('n', 'g0', 'vim.lsp.buf.document_symbol') -- end - - augroup { - lsp_user = { - {'BufWritePre' , '*' , 'lua require("lsp").format(vim.fn.expand(":p"))'}, - {'BufWritePre' , '*.go' , 'lua vim.lsp.buf.code_action({ only = {"source.organizeImports"} })'}, - } - } + if client.supports_method('textDocument/codeAction') then + vim.keymap.set('n', 'ga', vim.lsp.buf.code_action) + wk_register({['ga'] = {'code action'}}, {buffer = bufnr}) + end end local my_exit = function(code, signal, client_id) -- cgit 1.4.1