From 8d6c40ce24be2b8eb8dbcafd4e62fda47fdd1191 Mon Sep 17 00:00:00 2001 From: kyazdani42 Date: Mon, 7 Sep 2020 21:17:03 +0200 Subject: fix using highlight query extension for every query type --- lua/nvim-treesitter/query.lua | 20 +++++++------------- queries/javascript/jsx.scm | 12 ------------ queries/jsx/highlights.scm | 12 ++++++++++++ 3 files changed, 19 insertions(+), 25 deletions(-) delete mode 100644 queries/javascript/jsx.scm create mode 100644 queries/jsx/highlights.scm diff --git a/lua/nvim-treesitter/query.lua b/lua/nvim-treesitter/query.lua index 1d2857368..49a02948b 100644 --- a/lua/nvim-treesitter/query.lua +++ b/lua/nvim-treesitter/query.lua @@ -17,8 +17,8 @@ M.base_language_map = { } M.query_extensions = { - javascript = { 'javascript.jsx' }, - tsx = {'javascript.jsx'} + javascript = { 'jsx' }, + tsx = {'jsx'} } M.built_in_query_groups = {'highlights', 'locals', 'textobjects', 'fold'} @@ -82,21 +82,15 @@ 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 -function M.get_query_files(lang, query_name) +local function get_query_files(lang, query_name) local query_files = {} local extensions = M.query_extensions[lang] or {} local lang_files = filtered_runtime_queries(lang, query_name) vim.list_extend(query_files, lang_files) - for _, ext in ipairs(extensions) do - local l = lang - local e = ext - if e:match('%.') ~= nil then - l = e:match('.*%.'):sub(0, -2) - e = e:match('%..*'):sub(2, -1) - end - local ext_files = filtered_runtime_queries(l, e) + for _, ext_lang in ipairs(extensions) do + local ext_files = filtered_runtime_queries(ext_lang, query_name) vim.list_extend(query_files, ext_files) end @@ -109,13 +103,13 @@ function M.get_query_files(lang, query_name) end function M.has_query_files(lang, query_name) - local query_files = M.get_query_files(lang, query_name) + local query_files = get_query_files(lang, query_name) return #query_files > 0 end function M.get_query(lang, query_name) - local query_files = M.get_query_files(lang, query_name) + local query_files = get_query_files(lang, query_name) local query_string = read_query_files(query_files) if #query_string > 0 then diff --git a/queries/javascript/jsx.scm b/queries/javascript/jsx.scm deleted file mode 100644 index 339f9d115..000000000 --- a/queries/javascript/jsx.scm +++ /dev/null @@ -1,12 +0,0 @@ -(jsx_element - open_tag: (jsx_opening_element ["<" ">"] @operator)) -(jsx_element - close_tag: (jsx_closing_element ["<" "/" ">"] @operator)) -(jsx_self_closing_element ["/" ">" "<"] @operator) -(jsx_fragment [">" "<" "/"] @operator) - -(jsx_closing_element name: (identifier) @variable.builtin) -(jsx_opening_element name: (identifier) @variable.builtin) -(jsx_self_closing_element name: (identifier) @variable.builtin) - -(jsx_text) @none diff --git a/queries/jsx/highlights.scm b/queries/jsx/highlights.scm new file mode 100644 index 000000000..339f9d115 --- /dev/null +++ b/queries/jsx/highlights.scm @@ -0,0 +1,12 @@ +(jsx_element + open_tag: (jsx_opening_element ["<" ">"] @operator)) +(jsx_element + close_tag: (jsx_closing_element ["<" "/" ">"] @operator)) +(jsx_self_closing_element ["/" ">" "<"] @operator) +(jsx_fragment [">" "<" "/"] @operator) + +(jsx_closing_element name: (identifier) @variable.builtin) +(jsx_opening_element name: (identifier) @variable.builtin) +(jsx_self_closing_element name: (identifier) @variable.builtin) + +(jsx_text) @none -- cgit v1.2.3-70-g09d2