diff options
| author | Lucario387 <hoangtun0810@gmail.com> | 2022-12-24 01:59:30 +0900 |
|---|---|---|
| committer | Stephan Seitz <stephan.seitz@fau.de> | 2022-12-25 14:58:33 +0100 |
| commit | 4547a3687c21be5dea6750cccf63f76883f412d9 (patch) | |
| tree | 7169a2ac195ed5fffd2a35571fcd176bf2f41417 | |
| parent | chore: update usage `vim.split` to new signature (diff) | |
| download | nvim-treesitter-4547a3687c21be5dea6750cccf63f76883f412d9.tar nvim-treesitter-4547a3687c21be5dea6750cccf63f76883f412d9.tar.gz nvim-treesitter-4547a3687c21be5dea6750cccf63f76883f412d9.tar.bz2 nvim-treesitter-4547a3687c21be5dea6750cccf63f76883f412d9.tar.lz nvim-treesitter-4547a3687c21be5dea6750cccf63f76883f412d9.tar.xz nvim-treesitter-4547a3687c21be5dea6750cccf63f76883f412d9.tar.zst nvim-treesitter-4547a3687c21be5dea6750cccf63f76883f412d9.zip | |
injections(vue): Update injection queries
| -rw-r--r-- | queries/vue/injections.scm | 54 |
1 files changed, 41 insertions, 13 deletions
diff --git a/queries/vue/injections.scm b/queries/vue/injections.scm index 36e3286e1..71faa74cf 100644 --- a/queries/vue/injections.scm +++ b/queries/vue/injections.scm @@ -1,52 +1,80 @@ ( (style_element - (start_tag) @_no_lang + (start_tag) @_no_attribute (raw_text) @css) - (#not-contains? @_no_lang "lang=") + (#match? @_no_attribute "<\\s*style\\s*>") ) ( (style_element (start_tag (attribute - (quoted_attribute_value (attribute_value) @_lang))) + (attribute_name) @_no_lang)) + (raw_text) @css) + (#not-eq? @_no_lang "lang") +) + +( + (style_element + (start_tag + (attribute + (attribute_name) @_lang + (quoted_attribute_value (attribute_value) @_css))) (raw_text) @css) - (#eq? @_lang "css") + (#eq? @_lang "lang") + (#eq? @_css "css") ) +; If script tag does not have any extra attributes, set it to javascript +( + (script_element + (start_tag) @_no_attribute + (raw_text) @javascript) + (#match? @_no_attribute "<\\s*script\\s*>") +) + ; if start_tag does not specify `lang="..."` then set it to javascript ( (script_element - (start_tag) @_no_lang - (raw_text) @javascript) - (#not-contains? @_no_lang "lang=") + (start_tag + (attribute + (attribute_name) @_no_lang)) + (raw_text) @javascript) + (#not-eq? @_no_lang "lang") ) ( (script_element (start_tag (attribute - (quoted_attribute_value (attribute_value) @_lang))) + (attribute_name) @_lang + (quoted_attribute_value (attribute_value) @_js))) (raw_text) @javascript) - (#eq? @_lang "js") + (#eq? @_lang "lang") + (#eq? @_js "js") ) +; TODO: When nvim-treesitter have postcss and less parser, use @language and @content instead ( (style_element (start_tag (attribute - (quoted_attribute_value (attribute_value) @_lang))) + (attribute_name) @_lang + (quoted_attribute_value (attribute_value) @_scss))) (raw_text) @scss) - (#any-of? @_lang "scss" "postcss" "less") + (#eq? @_lang "lang") + (#any-of? @_scss "scss" "less" "postcss") ) ( (script_element (start_tag (attribute - (quoted_attribute_value (attribute_value) @_lang))) + (attribute_name) @_lang + (quoted_attribute_value (attribute_value) @_ts))) (raw_text) @typescript) - (#eq? @_lang "ts") + (#eq? @_lang "lang") + (#eq? @_ts "ts") ) ((interpolation |
