dotfiles/symlinks/config/nvim/lua/lsp/server_config.lua

69 lines
1.2 KiB
Lua

-------------------------------------------------------------------------------
-- - LSP servers common config -
-------------------------------------------------------------------------------
local M = {}
M.on_attach = function(client, bufnr)
vim.bo.omnifunc = "v:lua.vim.lsp.omnifunc"
-- Lsp keymaps
local opts = {buffer = bufnr}
vim.keymap.set(
"n",
"<C-]>",
vim.lsp.buf.definition,
opts
)
vim.keymap.set(
"n",
"gD",
vim.lsp.buf.declaration,
opts
)
vim.keymap.set(
"n",
"gr",
vim.lsp.buf.references,
opts
)
vim.keymap.set(
"n",
"gi",
vim.lsp.buf.implementation,
opts
)
vim.keymap.set(
"n",
"<Leader>rn",
vim.lsp.buf.rename,
opts
)
vim.keymap.set(
"n",
"<C-k>",
vim.lsp.buf.signature_help,
opts
)
vim.keymap.set(
"n",
"K",
vim.lsp.buf.hover,
opts
)
vim.keymap.set(
"n",
"<A-CR>",
vim.lsp.buf.code_action,
opts
)
vim.keymap.set(
"n",
"<Leader>ac",
vim.lsp.buf.code_action,
opts
)
end
return M