mirror of
https://github.com/He4eT/dotfiles.git
synced 2026-05-04 23:47:23 +00:00
nvim: update LSP keymap
This commit is contained in:
parent
22e6d1239b
commit
05ecb0d2f7
1 changed files with 26 additions and 28 deletions
|
|
@ -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,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue