aboutsummaryrefslogtreecommitdiffstats
path: root/lua/mason-registry/init.lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2023-04-02 00:15:48 +0200
committerGitHub <noreply@github.com>2023-04-02 00:15:48 +0200
commit2e35781f5ee020fac6182b4494fdf2f12f3a9bbf (patch)
tree007649bea851c2b65d04fc685fb7a7ff4b16ff30 /lua/mason-registry/init.lua
parentfix(ui): remove new lines from error (#1167) (diff)
downloadmason-2e35781f5ee020fac6182b4494fdf2f12f3a9bbf.tar
mason-2e35781f5ee020fac6182b4494fdf2f12f3a9bbf.tar.gz
mason-2e35781f5ee020fac6182b4494fdf2f12f3a9bbf.tar.bz2
mason-2e35781f5ee020fac6182b4494fdf2f12f3a9bbf.tar.lz
mason-2e35781f5ee020fac6182b4494fdf2f12f3a9bbf.tar.xz
mason-2e35781f5ee020fac6182b4494fdf2f12f3a9bbf.tar.zst
mason-2e35781f5ee020fac6182b4494fdf2f12f3a9bbf.zip
fix(registry): use oneshot channel for updating registry (#1168)
Diffstat (limited to 'lua/mason-registry/init.lua')
-rw-r--r--lua/mason-registry/init.lua21
1 files changed, 2 insertions, 19 deletions
diff --git a/lua/mason-registry/init.lua b/lua/mason-registry/init.lua
index 67a63976..93472ef3 100644
--- a/lua/mason-registry/init.lua
+++ b/lua/mason-registry/init.lua
@@ -150,25 +150,8 @@ end
---@param callback? fun(success: boolean, updated_registries: RegistrySource[])
function M.update(callback)
local a = require "mason-core.async"
- local Result = require "mason-core.result"
- return a.run(function()
- return Result.try(function(try)
- local updated_sources = {}
- for source in sources.iter { include_uninstalled = true } do
- source:get_installer():if_present(function(installer)
- try(installer():map_err(function(err)
- return ("%s failed to install: %s"):format(source, err)
- end))
- table.insert(updated_sources, source)
- end)
- end
- return updated_sources
- end):on_success(function(updated_sources)
- if #updated_sources > 0 then
- M:emit("update", updated_sources)
- end
- end)
- end, function(success, result)
+
+ return a.run(require("mason-registry.installer").run, function(success, result)
if not callback then
return
end