aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorSantos Gallegos <stsewd@protonmail.com>2020-09-07 13:07:22 -0500
committerStephan Seitz <stephan.lauf@yahoo.de>2020-09-08 19:37:32 +0200
commit77c2730a62b5a5218b72d680445b6d3cf0dc4218 (patch)
tree5675f81ecba7d7f1c693cee7611f4ff5ab62eef1 /lua
parentuse keyword.function instead of function (diff)
downloadnvim-treesitter-77c2730a62b5a5218b72d680445b6d3cf0dc4218.tar
nvim-treesitter-77c2730a62b5a5218b72d680445b6d3cf0dc4218.tar.gz
nvim-treesitter-77c2730a62b5a5218b72d680445b6d3cf0dc4218.tar.bz2
nvim-treesitter-77c2730a62b5a5218b72d680445b6d3cf0dc4218.tar.lz
nvim-treesitter-77c2730a62b5a5218b72d680445b6d3cf0dc4218.tar.xz
nvim-treesitter-77c2730a62b5a5218b72d680445b6d3cf0dc4218.tar.zst
nvim-treesitter-77c2730a62b5a5218b72d680445b6d3cf0dc4218.zip
Improve startup performance
Diffstat (limited to 'lua')
-rw-r--r--lua/nvim-treesitter/query.lua16
1 files changed, 14 insertions, 2 deletions
diff --git a/lua/nvim-treesitter/query.lua b/lua/nvim-treesitter/query.lua
index 96fec99e6..8b44debf5 100644
--- a/lua/nvim-treesitter/query.lua
+++ b/lua/nvim-treesitter/query.lua
@@ -78,6 +78,11 @@ local function filtered_runtime_queries(lang, query_name)
return filter_files(api.nvim_get_runtime_file(string.format('queries/%s/%s.scm', lang, query_name), true) or {})
end
+local function runtime_query_exists(lang, query_name)
+ local files = api.nvim_get_runtime_file(string.format('queries/%s/%s.scm', lang, query_name), false)
+ return files and #files > 0
+end
+
local function get_query_files(lang, query_name)
local query_files = {}
@@ -93,9 +98,16 @@ local function get_query_files(lang, query_name)
end
function M.has_query_files(lang, query_name)
- local query_files = get_query_files(lang, query_name)
+ local langs = {lang}
+ vim.list_extend(langs, M.base_language_map[lang] or {})
+
+ for _, lang in ipairs(langs) do
+ if runtime_query_exists(lang, query_name) then
+ return true
+ end
+ end
- return #query_files > 0
+ return false
end
function M.get_query(lang, query_name)