summaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorChristian Clason <c.clason@uni-graz.at>2024-01-18 17:08:20 +0100
committerChristian Clason <c.clason@uni-graz.at>2024-01-18 17:08:20 +0100
commit5037721ec5870990db16dcbf06513a78a6a81641 (patch)
treec772b9b590cf289d6ed6aee273d9c7d74ec5e0c2 /lua
parentUpdate parsers: gitcommit, markdown, markdown_inline, vimdoc, wing (diff)
downloadnvim-treesitter-5037721ec5870990db16dcbf06513a78a6a81641.tar
nvim-treesitter-5037721ec5870990db16dcbf06513a78a6a81641.tar.gz
nvim-treesitter-5037721ec5870990db16dcbf06513a78a6a81641.tar.bz2
nvim-treesitter-5037721ec5870990db16dcbf06513a78a6a81641.tar.lz
nvim-treesitter-5037721ec5870990db16dcbf06513a78a6a81641.tar.xz
nvim-treesitter-5037721ec5870990db16dcbf06513a78a6a81641.tar.zst
nvim-treesitter-5037721ec5870990db16dcbf06513a78a6a81641.zip
fixup: proper union of tables
Diffstat (limited to 'lua')
-rw-r--r--lua/nvim-treesitter/configs.lua14
1 files changed, 13 insertions, 1 deletions
diff --git a/lua/nvim-treesitter/configs.lua b/lua/nvim-treesitter/configs.lua
index e64dc28e4..6be0c0148 100644
--- a/lua/nvim-treesitter/configs.lua
+++ b/lua/nvim-treesitter/configs.lua
@@ -405,6 +405,18 @@ function M.is_enabled(mod, lang, bufnr)
return true
end
+---Combine two list-like tables without duplicates
+local union = function(x, y)
+ local map = {}
+ for _, v in ipairs(x) do
+ map[v] = true
+ end
+ for _, v in ipairs(y) do
+ map[v] = true
+ end
+ return vim.tbl_keys(map)
+end
+
---Setup call for users to override module configurations.
---@param user_data TSConfig module overrides
function M.setup(user_data)
@@ -422,7 +434,7 @@ function M.setup(user_data)
local ensure_installed = user_data.ensure_installed or config.ensure_installed
if type(ensure_installed) == "table" and type(config.ensure_installed) == "table" then
- vim.list_extend(ensure_installed, config.ensure_installed)
+ union(ensure_installed, config.ensure_installed)
end
if #ensure_installed > 0 then
if user_data.sync_install then