dotfiles/nvim/lua/lsp.lua

57 lines
1 KiB
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
2022-12-13 23:19:03 +00:00
local on_attach = function(client, bufnr)
if not client.supports_method("textDocument/formatting") then
return
end
vim.api.nvim_create_autocmd(
'BufWritePre',
{
buffer = bufnr,
callback = function()
vim.lsp.buf.format()
end,
}
)
end
2022-08-30 14:14:07 +00:00
2022-09-27 00:15:16 +00:00
-- Language Servers
2022-10-15 15:00:12 +00:00
local capabilities = require('cmp_nvim_lsp').default_capabilities()
2022-09-27 00:15:16 +00:00
capabilities.textDocument.completion.completionItem.snippetSupport = true
2022-08-30 14:14:07 +00:00
2022-10-20 01:39:07 +00:00
local language_servers = {
'gopls',
'pyright',
'rust_analyzer',
'elixirls',
'html',
'cssls',
'tsserver',
'emmet_ls',
'sumneko_lua',
}
2022-09-27 00:15:16 +00:00
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,
2022-12-13 23:19:03 +00:00
on_attach = on_attach,
2022-09-27 00:15:16 +00:00
})
end