diff options
| author | William Boman <william@redwill.se> | 2026-05-14 17:24:50 +0200 |
|---|---|---|
| committer | William Boman <william@redwill.se> | 2026-05-16 17:55:06 +0200 |
| commit | f57740ff7a1e451dfb20176abea090426597091c (patch) | |
| tree | 106c08bf697470dc9870fe5acdedd536e10562c2 /lua/mason-registry/init.lua | |
| parent | feat: add the infrastructure to support "system" packages (#2085) (diff) | |
| download | mason-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.lua | 10 |
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) |
