return { "williamboman/mason.nvim", dependencies = { "williamboman/mason-lspconfig.nvim", "WhoIsSethDaniel/mason-tool-installer.nvim", }, config = function() -- import mason local mason = require("mason") -- import mason-lspconfig local mason_lspconfig = require("mason-lspconfig") local mason_tool_installer = require("mason-tool-installer") -- enable mason and configure icons mason.setup({ ui = { icons = { package_installed = "✓", package_pending = "➜", package_uninstalled = "✗", }, }, }) mason_lspconfig.setup({ -- list of servers for mason to install ensure_installed = { "gopls", "lua_ls", "rust_analyzer", "html", "volar", "vtsls", "tailwindcss", "eslint", "cssls", "cssmodules_ls", "jsonls", "yamlls", "docker_compose_language_service", "dockerls", "bashls", "clangd", "lemminx", }, }) mason_tool_installer.setup({ ensure_installed = { "prettier", -- prettier formatter "stylua", -- lua formatter "isort", -- python formatter "black", -- python formatter "pylint", "eslint_d", "stylua", "shellharden", "shfmt", "goimports", "goimports-reviser", "golines", "taplo", }, }) end, }