use lspconfig for setup lsps

This commit is contained in:
2022-05-13 20:16:50 +03:00
parent dd0e3c60d0
commit 5595a291ef

View File

@@ -1,10 +1,29 @@
local lsp_installer = require("nvim-lsp-installer") local lsp_installer = require("nvim-lsp-installer")
local lspconfig = require("lspconfig")
local null_ls = require("null-ls") local null_ls = require("null-ls")
local util = require("lspconfig").util local util = require("lspconfig").util
local formatting = null_ls.builtins.formatting local formatting = null_ls.builtins.formatting
local diagnostics = null_ls.builtins.diagnostics local diagnostics = null_ls.builtins.diagnostics
lsp_installer.setup({
ensure_installed = {
"bashls",
"cssmodules_ls",
"dockerls",
"tailwindcss",
"tsserver",
"vimls",
"cssls",
"html",
"jsonls",
"prismals",
"sumneko_lua",
"svelte",
},
automatic_installation = true,
})
null_ls.setup({ null_ls.setup({
sources = { sources = {
formatting.prettierd, formatting.prettierd,
@@ -57,7 +76,9 @@ local on_attach = function(client, bufnr)
}, bufnr) }, bufnr)
end end
lsp_installer.on_server_ready(function(server) local servers = lsp_installer.get_installed_servers()
for _, server in ipairs(servers) do
local opts = { local opts = {
capabilities = capabilities, capabilities = capabilities,
on_attach = on_attach, on_attach = on_attach,
@@ -114,8 +135,8 @@ lsp_installer.on_server_ready(function(server)
opts.root_dir = util.root_pattern(".eslintrc", ".eslintrc.json") opts.root_dir = util.root_pattern(".eslintrc", ".eslintrc.json")
end end
server:setup(opts) lspconfig[server.name].setup(opts)
end) end
vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, {
update_in_insert = false, update_in_insert = false,