2022-10-17 20:40:36 +02:00
|
|
|
-- import mason plugin safely
|
|
|
|
local mason_status, mason = pcall(require, "mason")
|
|
|
|
if not mason_status then
|
|
|
|
return
|
|
|
|
end
|
|
|
|
|
|
|
|
-- import mason-lspconfig plugin safely
|
|
|
|
local mason_lspconfig_status, mason_lspconfig = pcall(require, "mason-lspconfig")
|
|
|
|
if not mason_lspconfig_status then
|
|
|
|
return
|
|
|
|
end
|
|
|
|
|
|
|
|
-- import mason-null-ls plugin safely
|
|
|
|
local mason_null_ls_status, mason_null_ls = pcall(require, "mason-null-ls")
|
|
|
|
if not mason_null_ls_status then
|
|
|
|
return
|
|
|
|
end
|
|
|
|
|
|
|
|
-- enable mason
|
|
|
|
mason.setup()
|
|
|
|
|
|
|
|
mason_lspconfig.setup({
|
|
|
|
-- list of servers for mason to install
|
|
|
|
ensure_installed = {
|
|
|
|
"tsserver",
|
|
|
|
"html",
|
|
|
|
"cssls",
|
|
|
|
"tailwindcss",
|
|
|
|
"sumneko_lua",
|
|
|
|
},
|
|
|
|
-- auto-install configured servers (with lspconfig)
|
|
|
|
automatic_installation = true, -- not the same as ensure_installed
|
|
|
|
})
|
|
|
|
|
|
|
|
mason_null_ls.setup({
|
|
|
|
-- list of formatters & linters for mason to install
|
|
|
|
ensure_installed = {
|
|
|
|
"prettier", -- ts/js formatter
|
|
|
|
"stylua", -- lua formatter
|
|
|
|
"eslint_d", -- ts/js linter
|
|
|
|
},
|
2022-10-21 21:49:21 +02:00
|
|
|
-- auto-install configured formatters & linters (with null-ls)
|
2022-10-17 20:40:36 +02:00
|
|
|
automatic_installation = true,
|
|
|
|
})
|