nvim: update LSP keymap

This commit is contained in:
He4eT 2025-08-24 02:17:41 +02:00
commit 05ecb0d2f7

View file

@ -27,7 +27,7 @@ npx @johnnymorganz/stylua-bin ./init.lua
  cfg_lazy_lsp_servers   cfg_lazy_lsp_servers
cfg_lazy_lsp_servers_lua cfg_lazy_lsp_servers_lua
  cfg_lazy_lsp_servers_ts_ls   cfg_lazy_lsp_servers_ts_ls
  cfg_lazy_lsp_servers_volar   cfg_lazy_lsp_servers_vue_ls
  cfg_lazy_lsp_keymaps   cfg_lazy_lsp_keymaps
  cfg_lazy_cmp: Autocompletion   cfg_lazy_cmp: Autocompletion
  cfg_lazy_cmp_keymaps   cfg_lazy_cmp_keymaps
@ -408,7 +408,7 @@ require('lazy').setup({
vim.keymap.set({ 'n' }, '<leader>:', fzf.command_history, { desc = '[F]zf: command history' }) vim.keymap.set({ 'n' }, '<leader>:', fzf.command_history, { desc = '[F]zf: command history' })
-- LSP -- LSP
vim.keymap.set({ 'n' }, 'gd', fzf.lsp_definitions, { desc = 'LSP: [G]oto [d]efinition list' }) vim.keymap.set({ 'n' }, '<leader>gd', fzf.lsp_definitions, { desc = 'LSP: [G]oto [D]efinition list' })
vim.keymap.set({ 'n' }, '<leader>gr', fzf.lsp_references, { desc = 'LSP: [G]o to fzf [R]eference list' }) vim.keymap.set({ 'n' }, '<leader>gr', fzf.lsp_references, { desc = 'LSP: [G]o to fzf [R]eference list' })
vim.keymap.set({ 'n' }, '<leader>fu', fzf_grep_filename, { desc = '[F]zf: current file [U]sages' }) vim.keymap.set({ 'n' }, '<leader>fu', fzf_grep_filename, { desc = '[F]zf: current file [U]sages' })
end, end,
@ -451,41 +451,40 @@ require('lazy').setup({
}, },
}, },
}, },
--[[ cfg_lazy_lsp_servers_volar ]] --[[ cfg_lazy_lsp_servers_vue_ls ]]
volar = {}, vue_ls = {},
} }
--[[ cfg_lazy_lsp_keymaps ]] --[[ cfg_lazy_lsp_keymaps ]]
local setup_lsp_keymaps = function(_, bufnr) vim.api.nvim_create_autocmd('LspAttach', {
local nmap = function(keys, func, desc) group = vim.api.nvim_create_augroup('lsp-attach', { clear = true }),
if desc then callback = function(event)
desc = 'LSP: ' .. desc local map = function(keys, func, desc, mode)
vim.keymap.set(mode or 'n', keys, func, { buffer = event.buf, desc = 'LSP: ' .. desc })
end end
vim.keymap.set('n', keys, func, { buffer = bufnr, desc = desc })
end
-- See also cfg_lazy_fzf_keymaps -- See also cfg_lazy_fzf_keymaps
nmap('K', vim.lsp.buf.hover, 'Hover Documentation') map('<C-k>', vim.lsp.buf.signature_help, 'Signature Documentation', { 'n', 'i' })
nmap('<C-k>', vim.lsp.buf.signature_help, 'Signature Documentation')
nmap('<leader>rn', vim.lsp.buf.rename, '[R]e[n]ame') map('<leader>rn', vim.lsp.buf.rename, '[R]e[n]ame')
nmap('<leader>ca', vim.lsp.buf.code_action, '[C]ode [A]tion') map('<leader>ca', vim.lsp.buf.code_action, '[C]ode [A]tion', { 'n', 'x' })
nmap('gD', vim.lsp.buf.type_definition, '[G]oto type [D]efinition') map('gd', vim.lsp.buf.definition, '[G]oto [D]efinition')
nmap('<leader>gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration') map('gD', vim.lsp.buf.type_definition, '[G]oto type [D]efinition')
nmap('<leader>gd', vim.lsp.buf.definition, '[G]oto [d]efinition') map('<leader>gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
nmap('<leader>ea', vim.lsp.buf.add_workspace_folder, 'Workspac[e] [A]dd Folder') map('<leader>ea', vim.lsp.buf.add_workspace_folder, 'Workspac[e] [A]dd Folder')
nmap('<leader>er', vim.lsp.buf.remove_workspace_folder, 'Workspac[e] [R]emove Folder') map('<leader>er', vim.lsp.buf.remove_workspace_folder, 'Workspac[e] [R]emove Folder')
nmap('<leader>el', function() map('<leader>el', function()
print(vim.inspect(vim.lsp.buf.list_workspace_folders())) print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
end, 'Workspac[e] [L]ist Folders') end, 'Workspac[e] [L]ist Folders')
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_) vim.api.nvim_buf_create_user_command(event.buf, 'Format', function(_)
vim.lsp.buf.format() vim.lsp.buf.format()
end, { desc = 'Format current buffer with LSP' }) end, { desc = 'Format current buffer with LSP' })
end end,
})
local capabilities = vim.lsp.protocol.make_client_capabilities() local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities) capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
@ -495,7 +494,6 @@ require('lazy').setup({
handlers = { handlers = {
function(server_name) function(server_name)
local server = servers[server_name] or {} local server = servers[server_name] or {}
server.on_attach = setup_lsp_keymaps
server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {}) server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {})
require('lspconfig')[server_name].setup(server) require('lspconfig')[server_name].setup(server)
end, end,