dotfiles/nvim-old/lua/thomas/plugins/lsp/mason.lua
2024-10-27 16:21:40 +00:00

57 lines
1.1 KiB
Lua

-- 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
mason.setup()
mason_lspconfig.setup({
-- list of servers for mason to install
ensure_installed = {
"clangd",
"ts_ls",
"html",
"cssls",
"bashls",
"dockerls",
"eslint",
-- "pyre",
"pyright",
"tailwindcss",
"lua_ls",
"jsonls",
"yamlls",
"marksman",
},
-- 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 = {
"clang-format",
"prettier", -- ts/js formatter
"stylua", -- lua formatter
"eslint_d", -- ts/js linter
"black",
"pylint",
"marksman",
"shfmt",
},
automatic_installation = true,
})