From 0b13c9f6bc12a59bde521862254fbcae87b58b34 Mon Sep 17 00:00:00 2001 From: kylo252 <59826753+kylo252@users.noreply.github.com> Date: Tue, 4 Apr 2023 10:10:36 +0200 Subject: [PATCH] feat(mason): add support for mason-registry (#3994) * feat(mason): add support for mason-registry * fix(lazy)!: wrap refresh for mason-registry --- lua/lvim/core/mason.lua | 25 +++++++++++++++++++++++++ lua/lvim/plugins.lua | 5 +++++ snapshots/default.json | 6 +++--- 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/lua/lvim/core/mason.lua b/lua/lvim/core/mason.lua index 75b12229..29ba355f 100644 --- a/lua/lvim/core/mason.lua +++ b/lua/lvim/core/mason.lua @@ -5,6 +5,9 @@ local join_paths = require("lvim.utils").join_paths function M.config() lvim.builtin.mason = { ui = { + check_outdated_packages_on_open = true, + width = 0.8, + height = 0.9, border = "rounded", keymaps = { toggle_package_expand = "", @@ -19,6 +22,12 @@ function M.config() }, }, + icons = { + package_installed = "◍", + package_pending = "◍", + package_uninstalled = "◍", + }, + -- NOTE: should be available in $PATH install_root_dir = join_paths(vim.fn.stdpath "data", "mason"), @@ -26,6 +35,7 @@ function M.config() PATH = "skip", pip = { + upgrade_pip = false, -- These args will be added to `pip install` calls. Note that setting extra args might impact intended behavior -- and is not recommended. -- @@ -41,6 +51,21 @@ function M.config() -- packages that are requested to be installed will be put in a queue. max_concurrent_installers = 4, + -- [Advanced setting] + -- The registries to source packages from. Accepts multiple entries. Should a package with the same name exist in + -- multiple registries, the registry listed first will be used. + registries = { + "lua:mason-registry.index", + "github:mason-org/mason-registry", + }, + + -- The provider implementations to use for resolving supplementary package metadata (e.g., all available versions). + -- Accepts multiple entries, where later entries will be used as fallback should prior providers fail. + providers = { + "mason.providers.registry-api", + "mason.providers.client", + }, + github = { -- The template URL to use when downloading assets from GitHub. -- The placeholders are the following (in order): diff --git a/lua/lvim/plugins.lua b/lua/lvim/plugins.lua index 3f8cb62c..817a4635 100644 --- a/lua/lvim/plugins.lua +++ b/lua/lvim/plugins.lua @@ -27,6 +27,11 @@ local core_plugins = { require("lvim.core.mason").setup() end, cmd = { "Mason", "MasonInstall", "MasonUninstall", "MasonUninstallAll", "MasonLog" }, + build = function() + pcall(function() + require("mason-registry").refresh() + end) + end, lazy = true, }, { diff --git a/snapshots/default.json b/snapshots/default.json index bd3466b3..7d53fecf 100644 --- a/snapshots/default.json +++ b/snapshots/default.json @@ -54,13 +54,13 @@ "commit": "b64fded" }, "mason.nvim": { - "commit": "698b282" + "commit": "5e059a0" }, "neodev.nvim": { "commit": "7330427" }, "nlsp-settings.nvim": { - "commit": "1986267" + "commit": "23705ee" }, "null-ls.nvim": { "commit": "0180603" @@ -78,7 +78,7 @@ "commit": "bdb94e3" }, "nvim-lspconfig": { - "commit": "e99d159" + "commit": "c345220" }, "nvim-navic": { "commit": "59b997f"