aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/treesitter/query.lua
diff options
context:
space:
mode:
authorStephan Seitz <stephan.seitz@fau.de>2020-11-08 13:55:07 +0100
committerStephan Seitz <stephan.seitz@fau.de>2020-11-08 13:55:42 +0100
commit0276c8addd9e43d7e3ca40e7edc9f0efa97e4d90 (patch)
treee956e85cefe1f2e548d3a2a92c0ed75a1d3f9393 /runtime/lua/vim/treesitter/query.lua
parent5161ff88fa6b7464fc9554b5d456bd08e3644ace (diff)
downloadrneovim-0276c8addd9e43d7e3ca40e7edc9f0efa97e4d90.tar.gz
rneovim-0276c8addd9e43d7e3ca40e7edc9f0efa97e4d90.tar.bz2
rneovim-0276c8addd9e43d7e3ca40e7edc9f0efa97e4d90.zip
tree-sitter: Put base languages first in queries
This reverts the handling of base languages to the old way how nvim-treesitter handled them. When a language extends a base language it usually wants to be able to overwrite queries. Related: https://github.com/nvim-treesitter/nvim-treesitter/issues/633
Diffstat (limited to 'runtime/lua/vim/treesitter/query.lua')
-rw-r--r--runtime/lua/vim/treesitter/query.lua7
1 files changed, 4 insertions, 3 deletions
diff --git a/runtime/lua/vim/treesitter/query.lua b/runtime/lua/vim/treesitter/query.lua
index cc7dc2656d..3537ba78f5 100644
--- a/runtime/lua/vim/treesitter/query.lua
+++ b/runtime/lua/vim/treesitter/query.lua
@@ -38,9 +38,8 @@ end
local function get_query_files(lang, query_name, is_included)
local lang_files = filtered_runtime_queries(lang, query_name)
- local query_files = lang_files
- if #query_files == 0 then return {} end
+ if #lang_files == 0 then return {} end
local base_langs = {}
@@ -51,7 +50,7 @@ local function get_query_files(lang, query_name, is_included)
-- {language} ::= {lang} | ({lang})
local MODELINE_FORMAT = "^;+%s*inherits%s*:?%s*([a-z_,()]+)%s*$"
- for _, file in ipairs(query_files) do
+ for _, file in ipairs(lang_files) do
local modeline = vim.fn.readfile(file, "", 1)
if #modeline == 1 then
@@ -73,10 +72,12 @@ local function get_query_files(lang, query_name, is_included)
end
end
+ local query_files = {}
for _, base_lang in ipairs(base_langs) do
local base_files = get_query_files(base_lang, query_name, true)
vim.list_extend(query_files, base_files)
end
+ vim.list_extend(query_files, lang_files)
return query_files
end