aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/treesitter/query.lua
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2021-03-26 22:25:15 +0100
committerGitHub <noreply@github.com>2021-03-26 22:25:15 +0100
commitf0ace6d419380907b719edd2ea1d2256e92beb84 (patch)
treeb2277ebde2d7569433f25121ec9b013110dfbd3c /runtime/lua/vim/treesitter/query.lua
parent095f5da79cb8f108b67824039952c6b225cb3dac (diff)
parent2a794b8f5d801a49724ff04213c38131e930ab99 (diff)
downloadrneovim-f0ace6d419380907b719edd2ea1d2256e92beb84.tar.gz
rneovim-f0ace6d419380907b719edd2ea1d2256e92beb84.tar.bz2
rneovim-f0ace6d419380907b719edd2ea1d2256e92beb84.zip
Merge pull request #13778 from steelsojka/fix-duplicate-query-files
fix(treesitter): dedupe runtime file list
Diffstat (limited to 'runtime/lua/vim/treesitter/query.lua')
-rw-r--r--runtime/lua/vim/treesitter/query.lua15
1 files changed, 14 insertions, 1 deletions
diff --git a/runtime/lua/vim/treesitter/query.lua b/runtime/lua/vim/treesitter/query.lua
index 8b94348994..1b29618997 100644
--- a/runtime/lua/vim/treesitter/query.lua
+++ b/runtime/lua/vim/treesitter/query.lua
@@ -8,10 +8,23 @@ Query.__index = Query
local M = {}
+local function dedupe_files(files)
+ local result = {}
+ local seen = {}
+
+ for _, path in ipairs(files) do
+ if not seen[path] then
+ table.insert(result, path)
+ seen[path] = true
+ end
+ end
+
+ return result
+end
function M.get_query_files(lang, query_name, is_included)
local query_path = string.format('queries/%s/%s.scm', lang, query_name)
- local lang_files = a.nvim_get_runtime_file(query_path, true)
+ local lang_files = dedupe_files(a.nvim_get_runtime_file(query_path, true))
if #lang_files == 0 then return {} end