diff options
Diffstat (limited to 'lua/mason-core/installer/context/init.lua')
| -rw-r--r-- | lua/mason-core/installer/context/init.lua | 12 |
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() |
