From f9d8b71dfd216217dba9c938961f5010cdbf0278 Mon Sep 17 00:00:00 2001 From: Samir Benmendil Date: Sun, 17 Dec 2023 17:16:12 +0000 Subject: [PATCH] nvim: configure mason --- nvim/lua/plugins/lsp.lua | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) 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, + }, } -- 2.48.1