dotfiles/nvim/lua/lsp.lua

40 lines
894 B
Lua
Raw Normal View History

2022-09-27 00:15:16 +00:00
require('fidget').setup({})
require('lsp_signature').setup()
2022-08-30 14:14:07 +00:00
require('mason').setup()
require('mason-lspconfig').setup({
automatic_installation = true,
})
-- Format on save
vim.api.nvim_create_autocmd(
'BufWritePre',
{
pattern = { '<buffer>' },
2022-10-15 02:01:45 +00:00
callback = function()
vim.lsp.buf.format({})
end,
2022-08-30 14:14:07 +00:00
}
)
2022-09-27 00:15:16 +00:00
-- Language Servers
local capabilities = require('cmp_nvim_lsp').update_capabilities(vim.lsp.protocol.make_client_capabilities())
capabilities.textDocument.completion.completionItem.snippetSupport = true
2022-08-30 14:14:07 +00:00
2022-09-27 00:15:16 +00:00
local language_servers = { 'gopls', 'pyright', 'rust_analyzer', 'html', 'cssls', 'tsserver', 'emmet_ls', 'sumneko_lua' }
local settings = {
Lua = {
diagnostics = {
globals = { 'vim' }
2022-08-30 14:14:07 +00:00
}
}
2022-09-27 00:15:16 +00:00
}
for _, server in ipairs(language_servers) do
require('lspconfig')[server].setup({
capabilities = capabilities,
settings = settings,
})
end