diff options
| author | 3uryd1ce <99762926+3uryd1ce@users.noreply.github.com> | 2023-08-19 00:48:10 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-19 08:48:10 +0200 |
| commit | a51c2d063c5377ee9e58c5f9cda7c7436787be72 (patch) | |
| tree | b8a61c7726b9ba92153aed6cbb64c728ed9ec105 /lua/mason-core | |
| parent | feat(cargo): support fetching versions for git crates hosted on github (#1459) (diff) | |
| download | mason-a51c2d063c5377ee9e58c5f9cda7c7436787be72.tar mason-a51c2d063c5377ee9e58c5f9cda7c7436787be72.tar.gz mason-a51c2d063c5377ee9e58c5f9cda7c7436787be72.tar.bz2 mason-a51c2d063c5377ee9e58c5f9cda7c7436787be72.tar.lz mason-a51c2d063c5377ee9e58c5f9cda7c7436787be72.tar.xz mason-a51c2d063c5377ee9e58c5f9cda7c7436787be72.tar.zst mason-a51c2d063c5377ee9e58c5f9cda7c7436787be72.zip | |
fix(std): use gtar if available (#1433)
Closes #1415.
Diffstat (limited to 'lua/mason-core')
| -rw-r--r-- | lua/mason-core/installer/managers/std.lua | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lua/mason-core/installer/managers/std.lua b/lua/mason-core/installer/managers/std.lua index d08de888..6e1a0d9e 100644 --- a/lua/mason-core/installer/managers/std.lua +++ b/lua/mason-core/installer/managers/std.lua @@ -1,5 +1,6 @@ local Result = require "mason-core.result" local _ = require "mason-core.functional" +local a = require "mason-core.async" local fetch = require "mason-core.fetch" local installer = require "mason-core.installer" local log = require "mason-core.log" @@ -108,7 +109,9 @@ end local function untar(rel_path) log.fmt_debug("std: untar %s", rel_path) local ctx = installer.context() - return ctx.spawn.tar({ "--no-same-owner", "-xvf", rel_path }):on_success(function() + a.scheduler() + local tar = vim.fn.executable "gtar" == 1 and "gtar" or "tar" + return ctx.spawn[tar]({ "--no-same-owner", "-xvf", rel_path }):on_success(function() pcall(function() ctx.fs:unlink(rel_path) end) |
