From f74983e782b7394f5737df99f8823e196a23291d Mon Sep 17 00:00:00 2001 From: William Boman Date: Tue, 6 May 2025 02:57:26 +0200 Subject: feat: associate package instances with registry source and record it in receipt --- lua/mason-registry/sources/github.lua | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'lua/mason-registry/sources/github.lua') diff --git a/lua/mason-registry/sources/github.lua b/lua/mason-registry/sources/github.lua index ceb503dc..5cc69023 100644 --- a/lua/mason-registry/sources/github.lua +++ b/lua/mason-registry/sources/github.lua @@ -61,7 +61,7 @@ function GitHubRegistrySource:reload() if not self:is_installed() then return end - self.buffer = _.compose(_.index_by(_.prop "name"), _.map(util.hydrate_package(self.buffer or {})))( + self.buffer = _.compose(_.index_by(_.prop "name"), _.map(util.hydrate_package(self, self.buffer or {})))( self:get_all_package_specs() ) return self.buffer @@ -160,6 +160,17 @@ function GitHubRegistrySource:get_display_name() end end +function GitHubRegistrySource:serialize() + local info = self:get_info() + return { + proto = "github", + namespace = self.spec.namespace, + name = self.spec.name, + version = info.version, + checksums = info.checksums, + } +end + function GitHubRegistrySource:__tostring() if self.spec.version then return ("GitHubRegistrySource(repo=%s, version=%s)"):format(self.repo, self.spec.version) -- cgit v1.2.3-70-g09d2