lsp move mappings to navigator so nvim can unregister keys on detach

master
blob42 8 months ago
parent 800fcc2809
commit 9a5a2c7a10

@ -578,34 +578,7 @@ M.lspconfig = { --{{{
-- See `<cmd> :help vim.lsp.*` for documentation on any of the below functions
n = {
["gD"] = { vim.lsp.buf.declaration,
"lsp declaration",
},
["K"] = { vim.lsp.buf.hover, "lsp hover", },
["gm"] = { vim.lsp.buf.implementation, "lsp implementation", },
["<leader>D"] = { vim.lsp.buf.type_definition, "lsp definition type", },
["[d"] = { vim.diagnostic.goto_prev , "lsp goto prev" },
["]d"] = { vim.diagnostic.goto_next, "lsp goto_next",
},
[']O'] = { vim.diagnostic.setloclist, "lsp diagnostic setloclist" },
["<Space>fm"] = { vim.lsp.buf.format, "lsp formatting" },
["<leader>gi"] = { vim.lsp.buf.incoming_calls, "lsp incoming_calls" },
["<leader>go"] = { vim.lsp.buf.outgoing_calls, "lsp outgoing_calls" },
["<C-LeftMouse>"] = { vim.lsp.buf.definition, "lsp definition" },
["g<LeftMouse>"] = { vim.lsp.buf.implementation, "lsp implementation" },
["<BS>h"] = { function()
vim.lsp.inlay_hint(0, nil)
end, "toggle lsp hints" },
},
n = { },
i = {
['<M-i>'] = { vim.lsp.buf.signature_help, 'lsp signature help' },
}

@ -31,12 +31,50 @@ local config = {
default_mapping = false,
on_attach = require('plugins.configs.lspconfig').on_attach,
keymaps = {
{ key = 'gr', func = require('navigator.reference').async_ref, desc = 'lsp async_ref' },
{ key = 'g0', func = require('navigator.symbols').document_symbols, desc = 'lsp document_symbols' },
{ key = 'gW', func = require('navigator.workspace').workspace_symbol_live, desc = 'lsp workspace_symbol_live' },
{ key = '<c-]>', func = require('navigator.definition').definition, desc = 'lsp definition' },
{ key = 'gp', func = require('navigator.definition').definition_preview, desc = 'lsp definition preview' },
{ key = 'gP', func = require('navigator.definition').type_definition_preview, desc = 'lsp type definition preview' },
{
key = 'gr',
func = require('navigator.reference').async_ref,
desc = 'lsp async_ref'
},
{
key = '<leader>lr',
func = require('navigator.reference').reference,
desc = 'lsp reference'
},
{
key = 'g0',
func = require('navigator.symbols').document_symbols,
desc = 'lsp document_symbols'
},
{
key = 'gW',
func = require('navigator.workspace').workspace_symbol_live,
desc = 'lsp workspace_symbol_live'
},
{
key = '<c-]>',
func = require('navigator.definition').definition,
desc = 'lsp definition'
},
{
key = '<C-LeftMouse>',
func = require('navigator.definition').definition,
desc = "lsp definition"
},
{ key = 'gd', func = require('navigator.definition').definition, desc = 'definition' },
{ key = 'gD', func = vim.lsp.buf.declaration, desc = 'declaration' },
{ key = 'gm', func = vim.lsp.buf.implementation, desc = 'implementation' },
{ key = 'g<LeftMouse>', func = vim.lsp.buf.implementation, desc = 'implementation' },
{
key = 'gp',
func = require('navigator.definition').definition_preview,
desc = 'lsp definition preview'
},
{ key = "<BS>h", func = function()
vim.lsp.inlay_hint(0, nil)
end, desc = "toggle lsp hints"},
{ key = '<leader>D', func = vim.lsp.buf.type_definition, desc = 'type_definition' },
{ key = '<leader>Dp', func = require('navigator.definition').type_definition_preview, desc = 'lsp type definition preview' },
{ key = '<M-a>', mode = 'n', func = require('navigator.codeAction').code_action, desc = 'lsp code_action' },
{ key = '<M-a>', mode = 'i', func = require('navigator.codeAction').code_action, desc = 'lsp code_action' },
@ -48,10 +86,40 @@ local config = {
desc = 'lsp range_code_action',
},
{ key = '<Space>rn', func = require('navigator.rename').rename, desc = 'lsp rename' },
{ key = '<Leader>gi', func = vim.lsp.buf.incoming_calls, desc = 'lsp incoming_calls' },
{ key = '<Leader>go', func = vim.lsp.buf.outgoing_calls, desc = 'lsp outgoing_calls' },
{ key = 'gL', func = require('navigator.diagnostics').show_diagnostics, desc = 'lsp show_diagnostics' },
{ key = 'gG', func = require('navigator.diagnostics').show_buf_diagnostics, desc = 'lsp show_buf_diagnostics' },
--TODO: toggle diagnostics
{
key = ']d',
func = vim.diagnostic.goto_next,
desc = 'next diagnostics',
},
{
key = '[d',
func = vim.diagnostic.goto_prev,
desc = 'prev diagnostics',
},
{
key = ']O',
func = vim.diagnostic.set_loclist,
desc = 'diagnostics set loclist',
},
{ key = ']r', func = require('navigator.treesitter').goto_next_usage, desc = 'lsp goto_next_usage' },
{ key = '[r', func = require('navigator.treesitter').goto_previous_usage, desc = 'lsp goto_previous_usage' },
{
key = '<leader>lf',
func = vim.lsp.buf.format,
mode = 'n',
desc = 'lsp format'
},
{
key = '<leader>lf',
func = vim.lsp.buf.range_formatting,
mode = 'v',
desc = 'lsp range format'
},
{ key = '<Leader>k', func = require('navigator.dochighlight').hi_symbol, desc = 'lsp hi_symbol' },
{ key = '<leader>wa', func = require('navigator.workspace').add_workspace_folder, desc = 'lsp add_workspace_folder' },
{

Loading…
Cancel
Save