From f57740ff7a1e451dfb20176abea090426597091c Mon Sep 17 00:00:00 2001 From: William Boman Date: Thu, 14 May 2026 17:24:50 +0200 Subject: feat: add support for socket.dev firewall client --- lua/mason-registry/init.lua | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'lua/mason-registry/init.lua') diff --git a/lua/mason-registry/init.lua b/lua/mason-registry/init.lua index 1e59175c..a5d0ed36 100644 --- a/lua/mason-registry/init.lua +++ b/lua/mason-registry/init.lua @@ -1,5 +1,6 @@ local EventEmitter = require "mason-core.EventEmitter" local InstallLocation = require "mason-core.installer.InstallLocation" +local _ = require "mason-core.functional" local log = require "mason-core.log" local path = require "mason-core.path" local uv = vim.loop @@ -56,6 +57,11 @@ function Registry.get_system_package(pkg_name) error(("Cannot find system package %q."):format(pkg_name)) end +function Registry.has_system_package(pkg_name) + local ok = pcall(Registry.get_system_package, pkg_name) + return ok +end + function Registry.get_installed_package_names() local fs = require "mason-core.fs" if not fs.sync.dir_exists(InstallLocation.global():package()) then @@ -169,7 +175,7 @@ local REGISTRY_STORE_TTL = 86400 -- 24 hrs ---@param sources LazySourceCollection ---@param callback? RegistryUpdateCallback -local function refresh(sources, callback) +local refresh = _.scheduler_wrap(function(sources, callback) local a = require "mason-core.async" local state = sources:get_install_state() @@ -196,7 +202,7 @@ local function refresh(sources, callback) else a.run(update, callback, sources) end -end +end) ---@param callback? RegistryUpdateCallback function Registry.refresh(callback) -- cgit v1.3.1