aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2023-06-28 19:26:23 +0200
committerGitHub <noreply@github.com>2023-06-28 19:26:23 +0200
commit758ac5b35e823eee74a90f855b2a66afc51ec92d (patch)
tree100dc05b4b2e337960167cf5f8c9a94b79420f59 /lua
parentchore(ci): add nvim v0.9.1 to test matrix (#1378) (diff)
downloadmason-758ac5b35e823eee74a90f855b2a66afc51ec92d.tar
mason-758ac5b35e823eee74a90f855b2a66afc51ec92d.tar.gz
mason-758ac5b35e823eee74a90f855b2a66afc51ec92d.tar.bz2
mason-758ac5b35e823eee74a90f855b2a66afc51ec92d.tar.lz
mason-758ac5b35e823eee74a90f855b2a66afc51ec92d.tar.xz
mason-758ac5b35e823eee74a90f855b2a66afc51ec92d.tar.zst
mason-758ac5b35e823eee74a90f855b2a66afc51ec92d.zip
feat(installer): write more installation output to stdout (#1376)
This should give better insights into the installation progress.
Diffstat (limited to 'lua')
-rw-r--r--lua/mason-core/installer/managers/cargo.lua2
-rw-r--r--lua/mason-core/installer/managers/composer.lua1
-rw-r--r--lua/mason-core/installer/managers/gem.lua2
-rw-r--r--lua/mason-core/installer/managers/golang.lua1
-rw-r--r--lua/mason-core/installer/managers/luarocks.lua1
-rw-r--r--lua/mason-core/installer/managers/npm.lua3
-rw-r--r--lua/mason-core/installer/managers/nuget.lua1
-rw-r--r--lua/mason-core/installer/managers/opam.lua1
-rw-r--r--lua/mason-core/installer/managers/pypi.lua4
-rw-r--r--lua/mason-core/installer/managers/std.lua5
-rw-r--r--lua/mason-core/installer/registry/schemas.lua2
-rw-r--r--lua/mason-core/managers/std/init.lua2
12 files changed, 20 insertions, 5 deletions
diff --git a/lua/mason-core/installer/managers/cargo.lua b/lua/mason-core/installer/managers/cargo.lua
index 58fd1d4b..8a3c35cf 100644
--- a/lua/mason-core/installer/managers/cargo.lua
+++ b/lua/mason-core/installer/managers/cargo.lua
@@ -15,7 +15,7 @@ function M.install(crate, version, opts)
opts = opts or {}
log.fmt_debug("cargo: install %s %s %s", crate, version, opts)
local ctx = installer.context()
-
+ ctx.stdio_sink.stdout(("Installing crate %s@%s…\n"):format(crate, version))
return ctx.spawn.cargo {
"install",
"--root",
diff --git a/lua/mason-core/installer/managers/composer.lua b/lua/mason-core/installer/managers/composer.lua
index faa01bc4..a4a94270 100644
--- a/lua/mason-core/installer/managers/composer.lua
+++ b/lua/mason-core/installer/managers/composer.lua
@@ -14,6 +14,7 @@ local M = {}
function M.install(package, version)
log.fmt_debug("composer: install %s %s", package, version)
local ctx = installer.context()
+ ctx.stdio_sink.stdout(("Installing composer package %s@%s…\n"):format(package, version))
return Result.try(function(try)
try(ctx.spawn.composer {
"init",
diff --git a/lua/mason-core/installer/managers/gem.lua b/lua/mason-core/installer/managers/gem.lua
index 35d94847..cb502de5 100644
--- a/lua/mason-core/installer/managers/gem.lua
+++ b/lua/mason-core/installer/managers/gem.lua
@@ -15,7 +15,7 @@ function M.install(pkg, version, opts)
opts = opts or {}
log.fmt_debug("gem: install %s %s %s", pkg, version, opts)
local ctx = installer.context()
-
+ ctx.stdio_sink.stdout(("Installing gem %s@%s…\n"):format(pkg, version))
return ctx.spawn.gem {
"install",
"--no-user-install",
diff --git a/lua/mason-core/installer/managers/golang.lua b/lua/mason-core/installer/managers/golang.lua
index fdc000b3..2d7b9b0b 100644
--- a/lua/mason-core/installer/managers/golang.lua
+++ b/lua/mason-core/installer/managers/golang.lua
@@ -15,6 +15,7 @@ function M.install(pkg, version, opts)
opts = opts or {}
log.fmt_debug("golang: install %s %s %s", pkg, version, opts)
local ctx = installer.context()
+ ctx.stdio_sink.stdout(("Installing go package %s@%s…\n"):format(pkg, version))
local env = {
GOBIN = ctx.cwd:get(),
}
diff --git a/lua/mason-core/installer/managers/luarocks.lua b/lua/mason-core/installer/managers/luarocks.lua
index 62c2b30f..7a2e2b45 100644
--- a/lua/mason-core/installer/managers/luarocks.lua
+++ b/lua/mason-core/installer/managers/luarocks.lua
@@ -15,6 +15,7 @@ function M.install(pkg, version, opts)
opts = opts or {}
log.fmt_debug("luarocks: install %s %s %s", pkg, version, opts)
local ctx = installer.context()
+ ctx.stdio_sink.stdout(("Installing luarocks package %s@%s…\n"):format(pkg, version))
ctx:promote_cwd() -- luarocks encodes absolute paths during installation
return ctx.spawn.luarocks {
"install",
diff --git a/lua/mason-core/installer/managers/npm.lua b/lua/mason-core/installer/managers/npm.lua
index f8312829..10a3e9fd 100644
--- a/lua/mason-core/installer/managers/npm.lua
+++ b/lua/mason-core/installer/managers/npm.lua
@@ -50,7 +50,7 @@ function M.init()
end
end))
- ctx.stdio_sink.stdout "Initialized npm root\n"
+ ctx.stdio_sink.stdout "Initialized npm root.\n"
end)
end
@@ -62,6 +62,7 @@ function M.install(pkg, version, opts)
opts = opts or {}
log.fmt_debug("npm: install %s %s %s", pkg, version, opts)
local ctx = installer.context()
+ ctx.stdio_sink.stdout(("Installing npm package %s@%s…\n"):format(pkg, version))
return ctx.spawn.npm {
"install",
("%s@%s"):format(pkg, version),
diff --git a/lua/mason-core/installer/managers/nuget.lua b/lua/mason-core/installer/managers/nuget.lua
index 6b9ab829..9f1badc7 100644
--- a/lua/mason-core/installer/managers/nuget.lua
+++ b/lua/mason-core/installer/managers/nuget.lua
@@ -12,6 +12,7 @@ local M = {}
function M.install(package, version)
log.fmt_debug("nuget: install %s %s", package, version)
local ctx = installer.context()
+ ctx.stdio_sink.stdout(("Installing nuget package %s@%s…\n"):format(package, version))
return ctx.spawn.dotnet {
"tool",
"update",
diff --git a/lua/mason-core/installer/managers/opam.lua b/lua/mason-core/installer/managers/opam.lua
index 0b290896..875ee12b 100644
--- a/lua/mason-core/installer/managers/opam.lua
+++ b/lua/mason-core/installer/managers/opam.lua
@@ -14,6 +14,7 @@ local M = {}
function M.install(package, version)
log.fmt_debug("opam: install %s %s", package, version)
local ctx = installer.context()
+ ctx.stdio_sink.stdout(("Installing opam package %s@%s…\n"):format(package, version))
return ctx.spawn.opam {
"install",
"--destdir=.",
diff --git a/lua/mason-core/installer/managers/pypi.lua b/lua/mason-core/installer/managers/pypi.lua
index bb148013..e9c0c432 100644
--- a/lua/mason-core/installer/managers/pypi.lua
+++ b/lua/mason-core/installer/managers/pypi.lua
@@ -68,9 +68,11 @@ function M.init(opts)
-- pip3 will hardcode the full path to venv executables, so we need to promote cwd to make sure pip uses the final destination path.
ctx:promote_cwd()
+ ctx.stdio_sink.stdout "Creating virtual environment…\n"
try(create_venv(executables))
if opts.upgrade_pip then
+ ctx.stdio_sink.stdout "Upgrading pip inside the virtual environment…\n"
try(pip_install({ "pip" }, opts.install_extra_args))
end
end)
@@ -83,6 +85,8 @@ end
function M.install(pkg, version, opts)
opts = opts or {}
log.fmt_debug("pypi: install %s %s", pkg, version, opts)
+ local ctx = installer.context()
+ ctx.stdio_sink.stdout(("Installing pip package %s@%s…\n"):format(pkg, version))
return pip_install({
opts.extra and ("%s[%s]==%s"):format(pkg, opts.extra, version) or ("%s==%s"):format(pkg, version),
opts.extra_packages or vim.NIL,
diff --git a/lua/mason-core/installer/managers/std.lua b/lua/mason-core/installer/managers/std.lua
index 6112b317..d08de888 100644
--- a/lua/mason-core/installer/managers/std.lua
+++ b/lua/mason-core/installer/managers/std.lua
@@ -94,7 +94,7 @@ end
function M.download_file(url, out_file)
log.fmt_debug("std: downloading file %s", url, out_file)
local ctx = installer.context()
- ctx.stdio_sink.stdout(("Downloading file %q...\n"):format(url))
+ ctx.stdio_sink.stdout(("Downloading file %q…\n"):format(url))
return fetch(url, {
out_file = path.concat { ctx.cwd:get(), out_file },
}):map_err(function(err)
@@ -230,6 +230,8 @@ local unpack_by_filename = _.cond {
---@nodiscard
function M.unpack(rel_path)
log.fmt_debug("std: unpack %s", rel_path)
+ local ctx = installer.context()
+ ctx.stdio_sink.stdout((("Unpacking %q…\n"):format(rel_path)))
return unpack_by_filename(rel_path)
end
@@ -241,6 +243,7 @@ function M.clone(git_url, opts)
opts = opts or {}
log.fmt_debug("std: clone %s %s", git_url, opts)
local ctx = installer.context()
+ ctx.stdio_sink.stdout((("Cloning git repository %q…\n"):format(git_url)))
return Result.try(function(try)
try(ctx.spawn.git {
"clone",
diff --git a/lua/mason-core/installer/registry/schemas.lua b/lua/mason-core/installer/registry/schemas.lua
index 376b7bc8..f9d044af 100644
--- a/lua/mason-core/installer/registry/schemas.lua
+++ b/lua/mason-core/installer/registry/schemas.lua
@@ -20,6 +20,7 @@ local function download_lsp_schema(ctx, url)
if is_vscode_schema then
local url = unpack(_.match("^vscode:(.+)$", url))
+ ctx.stdio_sink.stdout(("Downloading LSP configuration schema from %q…\n"):format(url))
local json = try(fetch(url))
---@type { contributes?: { configuration?: table } }
@@ -33,6 +34,7 @@ local function download_lsp_schema(ctx, url)
return Result.failure "Unable to find LSP entry in VSCode schema."
end
else
+ ctx.stdio_sink.stdout(("Downloading LSP configuration schema from %q…\n"):format(url))
try(std.download_file(url, out_file))
ctx.links.share[share_file] = out_file
end
diff --git a/lua/mason-core/managers/std/init.lua b/lua/mason-core/managers/std/init.lua
index eb7db9bb..b3116d7a 100644
--- a/lua/mason-core/managers/std/init.lua
+++ b/lua/mason-core/managers/std/init.lua
@@ -40,7 +40,7 @@ end
---@param out_file string
function M.download_file(url, out_file)
local ctx = installer.context()
- ctx.stdio_sink.stdout(("Downloading file %q...\n"):format(url))
+ ctx.stdio_sink.stdout(("Downloading file %q…\n"):format(url))
fetch(url, {
out_file = path.concat { ctx.cwd:get(), out_file },
})