mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-17 19:00:02 -04:00
feat(install): allow specifying max jobs
This commit is contained in:
parent
ab230eadd4
commit
83dae49a10
2 changed files with 7 additions and 3 deletions
|
|
@ -23,7 +23,7 @@ local uv_symlink = a.wrap(uv.fs_symlink, 4)
|
||||||
---@type fun(path: string): string?
|
---@type fun(path: string): string?
|
||||||
local uv_unlink = a.wrap(uv.fs_unlink, 2)
|
local uv_unlink = a.wrap(uv.fs_unlink, 2)
|
||||||
|
|
||||||
local MAX_JOBS = 10
|
local MAX_JOBS = 100
|
||||||
local INSTALL_TIMEOUT = 60000
|
local INSTALL_TIMEOUT = 60000
|
||||||
|
|
||||||
---@async
|
---@async
|
||||||
|
|
@ -402,6 +402,7 @@ end
|
||||||
---@class InstallOptions
|
---@class InstallOptions
|
||||||
---@field force? boolean
|
---@field force? boolean
|
||||||
---@field generate? boolean
|
---@field generate? boolean
|
||||||
|
---@field max_jobs? integer
|
||||||
|
|
||||||
--- Install a parser
|
--- Install a parser
|
||||||
---@param languages string[]
|
---@param languages string[]
|
||||||
|
|
@ -425,7 +426,7 @@ local function install(languages, options, _callback)
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
a.join(MAX_JOBS, nil, tasks)
|
a.join(options and options.max_jobs or MAX_JOBS, nil, tasks)
|
||||||
if #tasks > 1 then
|
if #tasks > 1 then
|
||||||
a.main()
|
a.main()
|
||||||
log.info('Installed %d/%d languages', done, #tasks)
|
log.info('Installed %d/%d languages', done, #tasks)
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,13 @@
|
||||||
#!/usr/bin/env -S nvim -l
|
#!/usr/bin/env -S nvim -l
|
||||||
|
|
||||||
local generate = false
|
local generate = false
|
||||||
|
local max_jobs = nil ---@as integer
|
||||||
local parsers = {}
|
local parsers = {}
|
||||||
for i = 1, #_G.arg do
|
for i = 1, #_G.arg do
|
||||||
if _G.arg[i] == '--generate' then
|
if _G.arg[i] == '--generate' then
|
||||||
generate = true
|
generate = true
|
||||||
|
elseif _G.arg[i]:find('^%-%-max%-jobs') then
|
||||||
|
max_jobs = _G.arg[i]:match('=(%d+)')
|
||||||
else
|
else
|
||||||
parsers[#parsers + 1] = _G.arg[i]
|
parsers[#parsers + 1] = _G.arg[i]
|
||||||
end
|
end
|
||||||
|
|
@ -18,7 +21,7 @@ vim.fn.mkdir(vim.fn.stdpath('cache'), 'p')
|
||||||
local done = false
|
local done = false
|
||||||
require('nvim-treesitter.install').install(
|
require('nvim-treesitter.install').install(
|
||||||
#parsers > 0 and parsers or 'all',
|
#parsers > 0 and parsers or 'all',
|
||||||
{ force = true, generate = generate },
|
{ force = true, generate = generate, max_jobs = max_jobs },
|
||||||
function()
|
function()
|
||||||
done = true
|
done = true
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue