From 77c2730a62b5a5218b72d680445b6d3cf0dc4218 Mon Sep 17 00:00:00 2001 From: Santos Gallegos Date: Mon, 7 Sep 2020 13:07:22 -0500 Subject: Improve startup performance --- lua/nvim-treesitter/query.lua | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'lua') 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) -- cgit v1.2.3-70-g09d2