-
Notifications
You must be signed in to change notification settings - Fork 0
/
mason.lua
71 lines (68 loc) · 1.89 KB
/
mason.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
-- https://github.com/williamboman/mason.nvim
-- https://github.com/williamboman/mason-lspconfig.nvim
return {
"williamboman/mason.nvim",
-- event = "VeryLazy", -- vim fails to load LSPs if Mason is not loaded early enough
dependencies = {
"williamboman/mason-lspconfig.nvim",
"WhoIsSethDaniel/mason-tool-installer.nvim",
},
config = function()
local mason = require("mason")
local mason_lspconfig = require("mason-lspconfig")
local mason_tool_installer = require("mason-tool-installer")
mason.setup({
ui = {
icons = {
package_installed = "✓",
package_pending = "➜",
package_uninstalled = "✗",
},
},
})
mason_lspconfig.setup({
ensure_installed = {
"html",
"lua_ls",
"pyright",
"ansiblels",
"bashls",
"docker_compose_language_service",
"dockerls",
"gopls",
"jqls",
"jsonls",
"helm_ls",
"terraformls",
"yamlls",
"pyright",
"vimls",
},
})
mason_tool_installer.setup({
-- check which linters are already available on system
ensure_installed = {
---- Formatters
"prettier",
"stylua",
-- I already have most of these install on my system, outside NVIM:
-- "shfmt", -- system
---- Linters
-- "eslint_d", -- system
-- "shellcheck", -- system
-- "tflint", -- system
-- "yamllint", -- system
-- "ruff", -- system
-- "black", -- system
---- Go
-- "gofumpt", -- system
-- "goimports", -- system
-- "gomodifytags", -- system
-- "golangci-lint", -- system
-- "gotests", i -- system
-- "iferr", -- system
-- "impl", -- system
},
})
end,
}