aboutsummaryrefslogtreecommitdiffstats
path: root/lua/mason-registry/init.lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2026-05-14 17:24:50 +0200
committerWilliam Boman <william@redwill.se>2026-05-16 17:55:06 +0200
commitf57740ff7a1e451dfb20176abea090426597091c (patch)
tree106c08bf697470dc9870fe5acdedd536e10562c2 /lua/mason-registry/init.lua
parentfeat: add the infrastructure to support "system" packages (#2085) (diff)
downloadmason-f57740ff7a1e451dfb20176abea090426597091c.tar
mason-f57740ff7a1e451dfb20176abea090426597091c.tar.gz
mason-f57740ff7a1e451dfb20176abea090426597091c.tar.bz2
mason-f57740ff7a1e451dfb20176abea090426597091c.tar.lz
mason-f57740ff7a1e451dfb20176abea090426597091c.tar.xz
mason-f57740ff7a1e451dfb20176abea090426597091c.tar.zst
mason-f57740ff7a1e451dfb20176abea090426597091c.zip
feat: add support for socket.dev firewall client
Diffstat (limited to 'lua/mason-registry/init.lua')
-rw-r--r--lua/mason-registry/init.lua10
1 files changed, 8 insertions, 2 deletions
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)