mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-16 02:10:15 -04:00
injections(vue): Update injection queries
This commit is contained in:
parent
f2b1d727e6
commit
4547a3687c
1 changed files with 55 additions and 27 deletions
|
|
@ -1,52 +1,80 @@
|
||||||
(
|
(
|
||||||
(style_element
|
(style_element
|
||||||
(start_tag) @_no_lang
|
(start_tag) @_no_attribute
|
||||||
(raw_text) @css)
|
(raw_text) @css)
|
||||||
(#not-contains? @_no_lang "lang=")
|
(#match? @_no_attribute "<\\s*style\\s*>")
|
||||||
)
|
)
|
||||||
|
|
||||||
(
|
(
|
||||||
(style_element
|
(style_element
|
||||||
(start_tag
|
(start_tag
|
||||||
(attribute
|
(attribute
|
||||||
(quoted_attribute_value (attribute_value) @_lang)))
|
(attribute_name) @_no_lang))
|
||||||
(raw_text) @css)
|
(raw_text) @css)
|
||||||
(#eq? @_lang "css")
|
(#not-eq? @_no_lang "lang")
|
||||||
)
|
)
|
||||||
|
|
||||||
; 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")
|
|
||||||
)
|
|
||||||
|
|
||||||
(
|
(
|
||||||
(style_element
|
(style_element
|
||||||
(start_tag
|
(start_tag
|
||||||
(attribute
|
(attribute
|
||||||
(quoted_attribute_value (attribute_value) @_lang)))
|
(attribute_name) @_lang
|
||||||
(raw_text) @scss)
|
(quoted_attribute_value (attribute_value) @_css)))
|
||||||
(#any-of? @_lang "scss" "postcss" "less")
|
(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
|
(script_element
|
||||||
(start_tag
|
(start_tag
|
||||||
(attribute
|
(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)
|
(raw_text) @typescript)
|
||||||
(#eq? @_lang "ts")
|
(#eq? @_lang "lang")
|
||||||
|
(#eq? @_ts "ts")
|
||||||
)
|
)
|
||||||
|
|
||||||
((interpolation
|
((interpolation
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue