mirror of
https://github.com/m-housh/dotfiles.git
synced 2026-02-14 22:22:40 +00:00
feat: Updates nvim lsp config
This commit is contained in:
@@ -49,18 +49,27 @@ return {
|
|||||||
vim.api.nvim_create_autocmd('LspAttach', {
|
vim.api.nvim_create_autocmd('LspAttach', {
|
||||||
group = vim.api.nvim_create_augroup('my-lsp-attach', { clear = true }),
|
group = vim.api.nvim_create_augroup('my-lsp-attach', { clear = true }),
|
||||||
callback = function(event)
|
callback = function(event)
|
||||||
|
-- Helper function to create a keymap.
|
||||||
local map = function(keys, func, desc)
|
local map = function(keys, func, desc)
|
||||||
vim.keymap.set('n', keys, func, { buffer = true, desc = 'LSP: ' .. desc })
|
vim.keymap.set('n', keys, func, { buffer = true, desc = 'LSP: ' .. desc })
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Mappings.
|
-- Mappings.
|
||||||
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||||
|
|
||||||
|
map('[d', '<CMD>lua vim.lsp.diagnostic.goto_prev()<CR>', 'Goto previous')
|
||||||
|
map(']d', '<CMD>lua vim.lsp.diagnostic.goto_next()<CR>', 'Goto next')
|
||||||
map('<space>ca', vim.lsp.buf.code_action, '[C]ode [A]ction')
|
map('<space>ca', vim.lsp.buf.code_action, '[C]ode [A]ction')
|
||||||
|
map('<space>D', vim.lsp.buf.type_definition, 'Type [D]efinition')
|
||||||
|
map('<space>f', vim.lsp.buf.format, '[F]ormat')
|
||||||
|
map('<space>rn', vim.lsp.buf.rename, '[R]e[n]ame')
|
||||||
map('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
|
map('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
|
||||||
map('gd', telescope_builtin.lsp_definitions, '[G]oto [D]efinition')
|
map('gd', telescope_builtin.lsp_definitions, '[G]oto [D]efinition')
|
||||||
map('gi', telescope_builtin.lsp_implementations, '[G]oto, [I]mplementation')
|
map('gi', telescope_builtin.lsp_implementations, '[G]oto, [I]mplementation')
|
||||||
map('gr', telescope_builtin.lsp_references, '[G]oto [R]eferences')
|
map('gr', telescope_builtin.lsp_references, '[G]oto [R]eferences')
|
||||||
map('gt', telescope_builtin.lsp_type_definitions, '[T]ype Definitions')
|
map('gt', telescope_builtin.lsp_type_definitions, '[T]ype Definitions')
|
||||||
map('K', vim.lsp.buf.hover, 'Hover Documentation')
|
map('K', vim.lsp.buf.hover, 'Hover Documentation')
|
||||||
|
|
||||||
-- -- buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
|
-- -- buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
|
||||||
-- buf_set_keymap("n", "<space>wa",
|
-- buf_set_keymap("n", "<space>wa",
|
||||||
-- "<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>", opts)
|
-- "<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>", opts)
|
||||||
@@ -69,55 +78,12 @@ return {
|
|||||||
-- buf_set_keymap("n", "<space>wl",
|
-- buf_set_keymap("n", "<space>wl",
|
||||||
-- "<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>",
|
-- "<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>",
|
||||||
-- opts)
|
-- opts)
|
||||||
-- buf_set_keymap("n", "<space>D",
|
|
||||||
-- "<cmd>lua vim.lsp.buf.type_definition()<CR>", opts)
|
|
||||||
-- buf_set_keymap("n", "<space>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opts)
|
|
||||||
-- opts)
|
|
||||||
-- buf_set_keymap("n", "<space>e", "<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>", opts)
|
-- buf_set_keymap("n", "<space>e", "<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>", opts)
|
||||||
-- buf_set_keymap("n", "[d", "<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>", opts)
|
|
||||||
-- buf_set_keymap("n", "]d", "<cmd>lua vim.lsp.diagnostic.goto_next()<CR>", opts)
|
|
||||||
-- buf_set_keymap("n", "<space>q", "<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>", opts)
|
-- buf_set_keymap("n", "<space>q", "<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>", opts)
|
||||||
-- buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
|
|
||||||
vim.api.nvim_buf_set_option(event.buf, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
vim.api.nvim_buf_set_option(event.buf, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
-- Use an on_attach function to only map the following keys
|
|
||||||
-- after the language server attaches to the current buffer
|
|
||||||
-- local on_attach = function(_, bufnr)
|
|
||||||
-- local function buf_set_keymap(...)
|
|
||||||
-- vim.api.nvim_buf_set_keymap(bufnr, ...)
|
|
||||||
-- end
|
|
||||||
-- -- Mappings.
|
|
||||||
-- local opts = {noremap = true, silent = true}
|
|
||||||
-- -- See `:help vim.lsp.*` for documentation on any of the below functions
|
|
||||||
-- buf_set_keymap("n", "gD", "<Cmd>lua vim.lsp.buf.declaration()<CR>", opts)
|
|
||||||
-- buf_set_keymap("n", "gd", "<Cmd>lua vim.lsp.buf.definition()<CR>", opts)
|
|
||||||
-- buf_set_keymap("n", "K", "<Cmd>lua vim.lsp.buf.hover()<CR>", opts)
|
|
||||||
-- buf_set_keymap("n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts)
|
|
||||||
-- buf_set_keymap("n", "gT", vim.lsp.buf.type_definition, opts)
|
|
||||||
-- -- buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
|
|
||||||
-- buf_set_keymap("n", "<space>wa",
|
|
||||||
-- "<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>", opts)
|
|
||||||
-- buf_set_keymap("n", "<space>wr",
|
|
||||||
-- "<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>", opts)
|
|
||||||
-- buf_set_keymap("n", "<space>wl",
|
|
||||||
-- "<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>",
|
|
||||||
-- opts)
|
|
||||||
-- buf_set_keymap("n", "<space>D",
|
|
||||||
-- "<cmd>lua vim.lsp.buf.type_definition()<CR>", opts)
|
|
||||||
-- buf_set_keymap("n", "<space>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opts)
|
|
||||||
-- buf_set_keymap("n", "<space>ca", "<cmd>lua vim.lsp.buf.code_action()<CR>",
|
|
||||||
-- opts)
|
|
||||||
-- buf_set_keymap("n", "gr", "<cmd>lua vim.lsp.buf.references()<CR>", opts)
|
|
||||||
-- buf_set_keymap("n", "<space>e", "<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>", opts)
|
|
||||||
-- buf_set_keymap("n", "[d", "<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>", opts)
|
|
||||||
-- buf_set_keymap("n", "]d", "<cmd>lua vim.lsp.diagnostic.goto_next()<CR>", opts)
|
|
||||||
-- buf_set_keymap("n", "<space>q", "<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>", opts)
|
|
||||||
-- buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
|
|
||||||
-- vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
|
||||||
-- end
|
|
||||||
|
|
||||||
-- Use a loop to conveniently call 'setup' on multiple servers and
|
-- Use a loop to conveniently call 'setup' on multiple servers and
|
||||||
-- map buffer local keybindings when the language server attaches
|
-- map buffer local keybindings when the language server attaches
|
||||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||||
@@ -141,7 +107,6 @@ return {
|
|||||||
|
|
||||||
for _, lsp in ipairs(servers) do
|
for _, lsp in ipairs(servers) do
|
||||||
nvim_lsp[lsp].setup {
|
nvim_lsp[lsp].setup {
|
||||||
--on_attach = on_attach,
|
|
||||||
capabilities = capabilities,
|
capabilities = capabilities,
|
||||||
settings = {
|
settings = {
|
||||||
gopls = {
|
gopls = {
|
||||||
|
|||||||
Reference in New Issue
Block a user