From 3569827f7b4651561eaafc60a3f3bc1bf382cebb Mon Sep 17 00:00:00 2001 From: William Boman Date: Sun, 27 Aug 2023 17:55:27 +0200 Subject: refactor(registry): colocate FileRegistrySource buffer management (#1473) --- lua/mason-registry/sources/file.lua | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'lua') diff --git a/lua/mason-registry/sources/file.lua b/lua/mason-registry/sources/file.lua index 1d97bbe7..84a3d6e1 100644 --- a/lua/mason-registry/sources/file.lua +++ b/lua/mason-registry/sources/file.lua @@ -38,10 +38,9 @@ function FileRegistrySource:get_all_package_specs() return _.filter_map(util.map_registry_spec, self:get_buffer().specs) end -function FileRegistrySource:reload() - if not self:is_installed() then - return - end +---@param specs RegistryPackageSpec[] +function FileRegistrySource:reload(specs) + self.buffer = _.assoc("specs", specs, self.buffer or {}) self.buffer.instances = _.compose( _.index_by(_.prop "name"), _.map(util.hydrate_package(self.buffer.instances or {})) @@ -130,8 +129,7 @@ function FileRegistrySource:install() return specs end) :on_success(function(specs) - self.buffer = _.assoc("specs", specs, self.buffer or {}) - self:reload() + self:reload(specs) end) :on_failure(function(err) log.fmt_error("Failed to install registry %s. %s", self, err) -- cgit v1.2.3-70-g09d2