diff --git a/lua/nvim-treesitter/async.lua b/lua/nvim-treesitter/async.lua index 0539470b5..723a852e1 100644 --- a/lua/nvim-treesitter/async.lua +++ b/lua/nvim-treesitter/async.lua @@ -704,6 +704,12 @@ do -- join() assert(running(), 'Not in async context') return drain_iter(M.iter(tasks)) end + + --- @param tasks async.Task[] + --- @return integer?, any?, ...? + function M.joinany(tasks) + return M.iter(tasks)() + end end return M diff --git a/lua/nvim-treesitter/install.lua b/lua/nvim-treesitter/install.lua index b34d01082..255ddc087 100644 --- a/lua/nvim-treesitter/install.lua +++ b/lua/nvim-treesitter/install.lua @@ -42,7 +42,7 @@ local function join(max_jobs, task_funs) -- As tasks finish, add new ones for _, task in ipairs(task_funs) do - local finished = a.iter(running)() + local finished = a.joinany(running) table.remove(running, finished) table.insert(running, task()) end