aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/nvim-treesitter/config.lua53
-rw-r--r--lua/nvim-treesitter/install.lua11
-rw-r--r--lua/nvim-treesitter/parsers.lua22
3 files changed, 57 insertions, 29 deletions
diff --git a/lua/nvim-treesitter/config.lua b/lua/nvim-treesitter/config.lua
index cd4a3a178..a52c6a10e 100644
--- a/lua/nvim-treesitter/config.lua
+++ b/lua/nvim-treesitter/config.lua
@@ -106,12 +106,17 @@ function M.norm_languages(languages, skip)
end
-- keep local to avoid leaking parsers module
+ --- @param list string[]
local function expand_tiers(list)
for i, tier in ipairs(parsers.tiers) do
if vim.list_contains(list, tier) then
- list = vim.iter.filter(function(l)
- return l ~= tier
- end, list) --[[@as string[] ]]
+ list = vim.tbl_filter(
+ --- @param l string
+ function(l)
+ return l ~= tier
+ end,
+ list
+ )
vim.list_extend(list, parsers.get_available(i))
end
end
@@ -123,29 +128,45 @@ function M.norm_languages(languages, skip)
if skip and skip.ignored then
local ignored = expand_tiers(config.ignore_install)
- languages = vim.iter.filter(function(v)
- return not vim.list_contains(ignored, v)
- end, languages) --[[@as string[] ]]
+ languages = vim.tbl_filter(
+ --- @param v string
+ function(v)
+ return not vim.list_contains(ignored, v)
+ end,
+ languages
+ )
end
if skip and skip.installed then
local installed = M.installed_parsers()
- languages = vim.iter.filter(function(v)
- return not vim.list_contains(installed, v)
- end, languages) --[[@as string[] ]]
+ languages = vim.tbl_filter(
+ --- @param v string
+ function(v)
+ return not vim.list_contains(installed, v)
+ end,
+ languages
+ )
end
if skip and skip.missing then
local installed = M.installed_parsers()
- languages = vim.iter.filter(function(v)
- return vim.list_contains(installed, v)
- end, languages) --[[@as string[] ]]
+ languages = vim.tbl_filter(
+ --- @param v string
+ function(v)
+ return vim.list_contains(installed, v)
+ end,
+ languages
+ )
end
- languages = vim.iter.filter(function(v)
- -- TODO(lewis6991): warn of any unknown parsers?
- return parsers.configs[v] ~= nil
- end, languages) --[[@as string[] ]]
+ languages = vim.tbl_filter(
+ --- @param v string
+ function(v)
+ -- TODO(lewis6991): warn of any unknown parsers?
+ return parsers.configs[v] ~= nil
+ end,
+ languages
+ )
if not (skip and skip.dependencies) then
for _, lang in pairs(languages) do
diff --git a/lua/nvim-treesitter/install.lua b/lua/nvim-treesitter/install.lua
index 5927619d3..1bb7d6fea 100644
--- a/lua/nvim-treesitter/install.lua
+++ b/lua/nvim-treesitter/install.lua
@@ -152,7 +152,7 @@ end
local function cc_err()
log.error(
'No C compiler found! "'
- .. table.concat(vim.iter.filter(istring, M.compilers), '", "')
+ .. table.concat(vim.tbl_filter(istring, M.compilers), '", "')
.. '" are not executable.'
)
end
@@ -230,7 +230,7 @@ local function do_download_tar(logger, repo, project_name, cache_dir, revision,
cwd = cache_dir,
})
if r.code > 0 then
- return logger:error('Error during download, please verify your internet connection: %s', r.stderr)
+ return logger:error('Error during download: %s', r.stderr)
end
logger:debug('Creating temporary directory: ' .. temp_dir)
@@ -328,7 +328,7 @@ end
---@param executables string[]
---@return string?
function M.select_executable(executables)
- return vim.iter.filter(executable, executables)[1]
+ return vim.tbl_filter(executable, executables)[1]
end
-- Returns the compiler arguments based on the compiler and OS
@@ -520,8 +520,7 @@ local INSTALL_TIMEOUT = 60000
---@return InstallStatus status
local function install_lang(lang, cache_dir, install_dir, force, generate_from_grammar)
if not force and vim.list_contains(config.installed_parsers(), lang) then
- local yesno =
- fn.input(lang .. ' parser already available: would you like to reinstall ? y/n: ')
+ local yesno = fn.input(lang .. ' parser already available: would you like to reinstall ? y/n: ')
print('\n ')
if yesno:sub(1, 1) ~= 'y' then
install_status[lang] = 'installed'
@@ -613,7 +612,7 @@ M.update = a.sync(function(languages, _options, _callback)
languages = 'all'
end
languages = config.norm_languages(languages, { ignored = true, missing = true })
- languages = vim.iter.filter(needs_update, languages) --- @type string[]
+ languages = vim.tbl_filter(needs_update, languages) --- @type string[]
if #languages > 0 then
install(languages, { force = true })
diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua
index 25efd5d9d..538f2336c 100644
--- a/lua/nvim-treesitter/parsers.lua
+++ b/lua/nvim-treesitter/parsers.lua
@@ -3010,15 +3010,23 @@ function M.get_available(tier)
local parsers = vim.tbl_keys(M.configs)
table.sort(parsers)
if tier then
- parsers = vim.iter.filter(function(p)
- return M.configs[p].tier == tier
- end, parsers) --[[@as string[] ]]
+ parsers = vim.tbl_filter(
+ --- @param p string
+ function(p)
+ return M.configs[p].tier == tier
+ end,
+ parsers
+ )
end
if vim.fn.executable('tree-sitter') == 0 or vim.fn.executable('node') == 0 then
- parsers = vim.iter.filter(function(p)
- return M.configs[p].install_info
- and not M.configs[p].install_info.requires_generate_from_grammar
- end, parsers) --[[@as string[] ]]
+ parsers = vim.tbl_filter(
+ --- @param p string
+ function(p)
+ return M.configs[p].install_info ~= nil
+ and not M.configs[p].install_info.requires_generate_from_grammar
+ end,
+ parsers
+ )
end
return parsers
end