lua/josean/plugins/lsp/mason.lua (1353B)
1 return {
2 "williamboman/mason.nvim",
3 dependencies = {
4 "williamboman/mason-lspconfig.nvim",
5 "WhoIsSethDaniel/mason-tool-installer.nvim",
6 },
7 config = function()
8 -- import mason
9 local mason = require("mason")
10
11 -- import mason-lspconfig
12 local mason_lspconfig = require("mason-lspconfig")
13
14 local mason_tool_installer = require("mason-tool-installer")
15
16 -- enable mason and configure icons
17 mason.setup({
18 ui = {
19 icons = {
20 package_installed = "✓",
21 package_pending = "➜",
22 package_uninstalled = "✗",
23 },
24 },
25 })
26
27 mason_lspconfig.setup({
28 -- list of servers for mason to install
29 ensure_installed = {
30 "tsserver",
31 "html",
32 "cssls",
33 "tailwindcss",
34 "svelte",
35 "lua_ls",
36 "graphql",
37 "emmet_ls",
38 "prismals",
39 "pyright",
40 },
41 -- auto-install configured servers (with lspconfig)
42 automatic_installation = true, -- not the same as ensure_installed
43 })
44
45 mason_tool_installer.setup({
46 ensure_installed = {
47 "prettier", -- prettier formatter
48 "stylua", -- lua formatter
49 "isort", -- python formatter
50 "black", -- python formatter
51 "pylint", -- python linter
52 "eslint_d", -- js linter
53 },
54 })
55 end,
56 }