aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLucario387 <hoangtun0810@gmail.com>2022-12-24 01:59:30 +0900
committerStephan Seitz <stephan.seitz@fau.de>2022-12-25 14:58:33 +0100
commit4547a3687c21be5dea6750cccf63f76883f412d9 (patch)
tree7169a2ac195ed5fffd2a35571fcd176bf2f41417
parentchore: update usage `vim.split` to new signature (diff)
downloadnvim-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.scm54
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