77 lines
1.3 KiB
Lua

return {
"williamboman/mason.nvim",
dependencies = {
"WhoIsSethDaniel/mason-tool-installer.nvim",
"williamboman/mason-lspconfig.nvim",
},
config = function()
-- enable mason and configure icons
require("mason").setup({
ui = {
icons = {
package_installed = "",
package_pending = "",
package_uninstalled = "",
},
},
})
require("mason-lspconfig").setup({
automatic_enable = {
exclude = {
"jdtls",
},
},
ensure_installed = {
"bashls",
"cssls",
"dockerls",
"emmet_ls",
"eslint",
"groovyls",
"html",
"jdtls",
"jsonls",
"kotlin_lsp",
"lemminx",
"lua_ls",
"postgres_lsp",
"pylsp",
"ts_ls",
"vimls",
"yamlls",
},
})
-- formatters, linters and debug adapters for mason to install
require("mason-tool-installer").setup({
ensure_installed = {
"autopep8",
"biome",
"black",
"checkstyle",
"chrome-debug-adapter",
"codespell",
"eslint_d",
"firefox-debug-adapter",
"flake8",
"fourmolu",
"isort",
"java-debug-adapter",
"jq",
"markdownlint",
"matlab-language-server",
"mdformat",
"nginx-config-formatter",
"npm-groovy-lint",
"prettier",
"shellcheck",
"shfmt",
"stylua",
"xmlformatter",
"yamlfmt",
},
})
end,
}