diff options
| author | Santos Gallegos <stsewd@protonmail.com> | 2020-09-07 13:07:22 -0500 |
|---|---|---|
| committer | Stephan Seitz <stephan.lauf@yahoo.de> | 2020-09-08 19:37:32 +0200 |
| commit | 77c2730a62b5a5218b72d680445b6d3cf0dc4218 (patch) | |
| tree | 5675f81ecba7d7f1c693cee7611f4ff5ab62eef1 /lua | |
| parent | use keyword.function instead of function (diff) | |
| download | nvim-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.lua | 16 |
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) |
