refactor(config): prefer vim.list.unique for normalization

Also fix some emmyluals warnings
This commit is contained in:
Christian Clason 2025-08-06 13:16:08 +02:00 committed by Christian Clason
parent 4d9916e477
commit 37bcfdc6eb
3 changed files with 12 additions and 4 deletions

View file

@ -69,7 +69,7 @@ function M.get_available(tier)
languages = vim.tbl_filter( languages = vim.tbl_filter(
--- @param p string --- @param p string
function(p) function(p)
return parsers[p].tier == tier return parsers[p] ~= nil and parsers[p].tier == tier
end, end,
languages languages
) )
@ -164,8 +164,13 @@ function M.norm_languages(languages, skip)
end end
end end
table.sort(languages) -- TODO(clason): remove Nvim 0.11 compat
return vim.fn.uniq(languages) --[=[@as string[]]=] if vim.list then
return vim.list.unique(languages)
else
table.sort(languages)
return vim.fn.uniq(languages) --[=[@as string[] ]=]
end
end end
return M return M

View file

@ -52,7 +52,8 @@ local function find_delimiter(bufnr, node, delimiter)
local end_char = { child:end_() } local end_char = { child:end_() }
local trimmed_after_delim local trimmed_after_delim
local escaped_delimiter = delimiter:gsub('[%-%.%+%[%]%(%)%$%^%%%?%*]', '%%%1') local escaped_delimiter = delimiter:gsub('[%-%.%+%[%]%(%)%$%^%%%?%*]', '%%%1')
trimmed_after_delim = line:sub(end_char[2] + 1):gsub('[%s' .. escaped_delimiter .. ']*', '') trimmed_after_delim =
assert(line):sub(end_char[2] + 1):gsub('[%s' .. escaped_delimiter .. ']*', '')
return child, #trimmed_after_delim == 0 return child, #trimmed_after_delim == 0
end end
end end

View file

@ -40,6 +40,7 @@ end
---@async ---@async
---@param path string ---@param path string
---@return string? err
local function rmpath(path) local function rmpath(path)
local stat = uv.fs_lstat(path) local stat = uv.fs_lstat(path)
if not stat then if not stat then
@ -482,6 +483,7 @@ end
---@async ---@async
---@param languages string[] ---@param languages string[]
---@param options? InstallOptions ---@param options? InstallOptions
---@return boolean true if installation successful
local function install(languages, options) local function install(languages, options)
options = options or {} options = options or {}