From: Samir Benmendil Date: Sun, 17 Dec 2023 17:16:12 +0000 (+0000) Subject: nvim: configure mason X-Git-Url: https://git.rmz.io/dotfiles.git/commitdiff_plain/73fded47386a8cee508e05163812f3fbc68867d1?ds=inline nvim: configure mason --- diff --git a/nvim/lua/plugins/lsp.lua b/nvim/lua/plugins/lsp.lua index cfb909a..3354f7d 100644 --- a/nvim/lua/plugins/lsp.lua +++ b/nvim/lua/plugins/lsp.lua @@ -62,4 +62,37 @@ return { }, }, }, + + -- cmdline tools and lsp servers + { + + "williamboman/mason.nvim", + cmd = "Mason", + keys = { { "cm", "Mason", desc = "Mason" } }, + opts = { + ensure_installed = { + "stylua", + "shfmt", + -- "flake8", + }, + }, + ---@param opts MasonSettings | {ensure_installed: string[]} + config = function(_, opts) + require("mason").setup(opts) + local mr = require("mason-registry") + local function ensure_installed() + for _, tool in ipairs(opts.ensure_installed) do + local p = mr.get_package(tool) + if not p:is_installed() then + p:install() + end + end + end + if mr.refresh then + mr.refresh(ensure_installed) + else + ensure_installed() + end + end, + }, }