diff --git a/lua/lazyvim/plugins/lsp/init.lua b/lua/lazyvim/plugins/lsp/init.lua index b9eba694..48ad27b9 100644 --- a/lua/lazyvim/plugins/lsp/init.lua +++ b/lua/lazyvim/plugins/lsp/init.lua @@ -61,4 +61,28 @@ return { }) end, }, + + -- cmdline tools and lsp servers + { + + "williamboman/mason.nvim", + cmd = "Mason", + keys = { { "cm", "Mason", desc = "Mason" } }, + ensure_installed = { + "stylua", + "shellcheck", + "shfmt", + "flake8", + }, + config = function(plugin) + require("mason").setup() + local mr = require("mason-registry") + for _, tool in ipairs(plugin.ensure_installed) do + local p = mr.get_package(tool) + if not p:is_installed() then + p:install() + end + end + end, + }, }