injections(vue): Update injection queries

This commit is contained in:
Lucario387 2022-12-24 01:59:30 +09:00 committed by Stephan Seitz
parent f2b1d727e6
commit 4547a3687c

View file

@ -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)
(#eq? @_lang "css")
)
; 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=")
)
(
(script_element
(start_tag
(attribute
(quoted_attribute_value (attribute_value) @_lang)))
(raw_text) @javascript)
(#eq? @_lang "js")
)
(#not-eq? @_no_lang "lang")
)
(
(style_element
(start_tag
(attribute
(quoted_attribute_value (attribute_value) @_lang)))
(raw_text) @scss)
(#any-of? @_lang "scss" "postcss" "less")
(attribute_name) @_lang
(quoted_attribute_value (attribute_value) @_css)))
(raw_text) @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
(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 "lang")
(#eq? @_js "js")
)
; TODO: When nvim-treesitter have postcss and less parser, use @language and @content instead
(
(style_element
(start_tag
(attribute
(attribute_name) @_lang
(quoted_attribute_value (attribute_value) @_scss)))
(raw_text) @scss)
(#eq? @_lang "lang")
(#any-of? @_scss "scss" "less" "postcss")
)
(
(script_element
(start_tag
(attribute
(attribute_name) @_lang
(quoted_attribute_value (attribute_value) @_ts)))
(raw_text) @typescript)
(#eq? @_lang "ts")
(#eq? @_lang "lang")
(#eq? @_ts "ts")
)
((interpolation