From 2e35781f5ee020fac6182b4494fdf2f12f3a9bbf Mon Sep 17 00:00:00 2001 From: William Boman Date: Sun, 2 Apr 2023 00:15:48 +0200 Subject: fix(registry): use oneshot channel for updating registry (#1168) --- lua/mason-registry/init.lua | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) (limited to 'lua/mason-registry/init.lua') 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 -- cgit v1.2.3-70-g09d2