aboutsummaryrefslogtreecommitdiffstats
path: root/lua/mason-core/installer
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2023-04-03 00:33:48 +0200
committerGitHub <noreply@github.com>2023-04-02 22:33:48 +0000
commit0114336145771ff7c528debba52c5ff21bf6f7a2 (patch)
tree37802cb27b602c9c3e900aec7f3ad012ed3b8719 /lua/mason-core/installer
parentchore: consolidate generate task (#1171) (diff)
downloadmason-0114336145771ff7c528debba52c5ff21bf6f7a2.tar
mason-0114336145771ff7c528debba52c5ff21bf6f7a2.tar.gz
mason-0114336145771ff7c528debba52c5ff21bf6f7a2.tar.bz2
mason-0114336145771ff7c528debba52c5ff21bf6f7a2.tar.lz
mason-0114336145771ff7c528debba52c5ff21bf6f7a2.tar.xz
mason-0114336145771ff7c528debba52c5ff21bf6f7a2.tar.zst
mason-0114336145771ff7c528debba52c5ff21bf6f7a2.zip
refactor: only schedule in a.scheduler() when in fast event (#1170)
Explicitly schedule via `a.wait(vim.schedule)` instead.
Diffstat (limited to 'lua/mason-core/installer')
-rw-r--r--lua/mason-core/installer/linker.lua5
-rw-r--r--lua/mason-core/installer/managers/pypi.lua4
-rw-r--r--lua/mason-core/installer/registry/init.lua6
-rw-r--r--lua/mason-core/installer/registry/link.lua4
-rw-r--r--lua/mason-core/installer/registry/providers/github.lua4
5 files changed, 6 insertions, 17 deletions
diff --git a/lua/mason-core/installer/linker.lua b/lua/mason-core/installer/linker.lua
index b97dfd3d..98d1d30f 100644
--- a/lua/mason-core/installer/linker.lua
+++ b/lua/mason-core/installer/linker.lua
@@ -63,10 +63,7 @@ local function link(context, link_context, link_fn)
do
-- 1. Ensure destination directory exists
- if vim.in_fast_event() then
- a.scheduler()
- end
-
+ a.scheduler()
local dir = vim.fn.fnamemodify(dest_abs_path, ":h")
if not fs.async.dir_exists(dir) then
try(Result.pcall(fs.async.mkdirp, dir))
diff --git a/lua/mason-core/installer/managers/pypi.lua b/lua/mason-core/installer/managers/pypi.lua
index 9f71cc19..bb148013 100644
--- a/lua/mason-core/installer/managers/pypi.lua
+++ b/lua/mason-core/installer/managers/pypi.lua
@@ -55,9 +55,7 @@ function M.init(opts)
log.fmt_debug("pypi: init", opts)
local ctx = installer.context()
- if vim.in_fast_event() then
- a.scheduler()
- end
+ a.scheduler()
local executables = platform.is.win
and _.list_not_nil(
diff --git a/lua/mason-core/installer/registry/init.lua b/lua/mason-core/installer/registry/init.lua
index f03f3e31..23b1a379 100644
--- a/lua/mason-core/installer/registry/init.lua
+++ b/lua/mason-core/installer/registry/init.lua
@@ -141,10 +141,8 @@ end
function M.compile(spec, opts)
log.debug("Compiling installer.", spec.name, opts)
return Result.try(function(try)
- if vim.in_fast_event() then
- -- Parsers run synchronously and may access API functions, so we schedule before-hand.
- a.scheduler()
- end
+ -- Parsers run synchronously and may access API functions, so we schedule before-hand.
+ a.scheduler()
local map_parse_err = _.cond {
{
diff --git a/lua/mason-core/installer/registry/link.lua b/lua/mason-core/installer/registry/link.lua
index 7075163b..5d6a8f16 100644
--- a/lua/mason-core/installer/registry/link.lua
+++ b/lua/mason-core/installer/registry/link.lua
@@ -214,9 +214,7 @@ local function expand_file_spec(ctx, purl, source, file_spec_table)
return Result.failure(("Cannot link file %q to dir %q."):format(source_path, dest))
end
- if vim.in_fast_event() then
- a.scheduler()
- end
+ a.scheduler()
local glob = path.concat { cwd, source_path } .. "**/*"
log.fmt_trace("Symlink glob for %s: %s", ctx.package, glob)
diff --git a/lua/mason-core/installer/registry/providers/github.lua b/lua/mason-core/installer/registry/providers/github.lua
index 90fcbbfa..06ac0b06 100644
--- a/lua/mason-core/installer/registry/providers/github.lua
+++ b/lua/mason-core/installer/registry/providers/github.lua
@@ -113,9 +113,7 @@ local release = {
end))
for __, download in ipairs(source.downloads) do
- if vim.in_fast_event() then
- a.scheduler()
- end
+ a.scheduler()
local out_dir = vim.fn.fnamemodify(download.out_file, ":h")
local out_file = vim.fn.fnamemodify(download.out_file, ":t")
if out_dir ~= "." then