use lspconfig for setup lsps
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user