diff options
| author | Christian Clason <c.clason@uni-graz.at> | 2024-01-18 17:08:20 +0100 |
|---|---|---|
| committer | Christian Clason <c.clason@uni-graz.at> | 2024-01-18 17:08:20 +0100 |
| commit | 5037721ec5870990db16dcbf06513a78a6a81641 (patch) | |
| tree | c772b9b590cf289d6ed6aee273d9c7d74ec5e0c2 /lua | |
| parent | Update parsers: gitcommit, markdown, markdown_inline, vimdoc, wing (diff) | |
| download | nvim-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.lua | 14 |
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 |
