aboutsummaryrefslogtreecommitdiffstats
path: root/lua/mason-core/installer/context/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/mason-core/installer/context/init.lua')
-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()