aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2025-02-16 16:45:29 +0100
committerWilliam Boman <william@redwill.se>2025-02-19 12:15:49 +0100
commit5be61cc8114607733de9587d33e2ed134a582079 (patch)
tree1aa70231f280326b7d177fee3e7137ffa84b4bf5
parentfeat(ui): display latest version for uninstalled packages (diff)
downloadmason-5be61cc8114607733de9587d33e2ed134a582079.tar
mason-5be61cc8114607733de9587d33e2ed134a582079.tar.gz
mason-5be61cc8114607733de9587d33e2ed134a582079.tar.bz2
mason-5be61cc8114607733de9587d33e2ed134a582079.tar.lz
mason-5be61cc8114607733de9587d33e2ed134a582079.tar.xz
mason-5be61cc8114607733de9587d33e2ed134a582079.tar.zst
mason-5be61cc8114607733de9587d33e2ed134a582079.zip
feat(context): add ctx:fetch()
-rw-r--r--lua/mason-core/installer/context/init.lua12
1 files changed, 12 insertions, 0 deletions
diff --git a/lua/mason-core/installer/context/init.lua b/lua/mason-core/installer/context/init.lua
index 097ea696..6f0d4c57 100644
--- a/lua/mason-core/installer/context/init.lua
+++ b/lua/mason-core/installer/context/init.lua
@@ -2,6 +2,7 @@ local InstallContextCwd = require "mason-core.installer.context.InstallContextCw
local InstallContextFs = require "mason-core.installer.context.InstallContextFs"
local InstallContextSpawn = require "mason-core.installer.context.InstallContextSpawn"
local Result = require "mason-core.result"
+local fetch = require "mason-core.fetch"
local _ = require "mason-core.functional"
local a = require "mason-core.async"
local fs = require "mason-core.fs"
@@ -49,6 +50,17 @@ function InstallContext:new(handle, opts)
end
---@async
+---@param url string
+---@param opts? FetchOpts
+function InstallContext:fetch(url, opts)
+ opts = opts or {}
+ if opts.out_file then
+ opts.out_file = path.concat { self.cwd:get(), opts.out_file }
+ end
+ return fetch(url, opts):get_or_throw()
+end
+
+---@async
function InstallContext:promote_cwd()
local cwd = self.cwd:get()
local install_path = self:get_install_path()