aboutsummaryrefslogtreecommitdiffstats
path: root/queries/vue/injections.scm
diff options
context:
space:
mode:
Diffstat (limited to 'queries/vue/injections.scm')
-rw-r--r--queries/vue/injections.scm52
1 files changed, 33 insertions, 19 deletions
diff --git a/queries/vue/injections.scm b/queries/vue/injections.scm
index ffbc00bfc..215fe1081 100644
--- a/queries/vue/injections.scm
+++ b/queries/vue/injections.scm
@@ -5,30 +5,36 @@
(start_tag
(attribute
(attribute_name) @_lang
- (quoted_attribute_value (attribute_value) @_css)))
+ (quoted_attribute_value (attribute_value) @injection.language)))
+ (raw_text) @injection.content)
(#eq? @_lang "lang")
- (#eq? @_css "css")
- (raw_text) @css))
+ (#any-of? @injection.language "css" "scss")
+ (#set! injection.include-children))
-; TODO: When nvim-treesitter have postcss and less parser, use @language and @content instead
+; TODO: When nvim-treesitter has postcss and less parsers, use @injection.language and @injection.content instead
; <script lang="scss">
((style_element
(start_tag
(attribute
(attribute_name) @_lang
(quoted_attribute_value (attribute_value) @_scss)))
+ (raw_text) @injection.content
(#eq? @_lang "lang")
- (#any-of? @_scss "scss" "less" "postcss")
- (raw_text) @scss))
+ (#any-of? @_scss "less" "postcss")
+ (#set! injection.language "scss")
+ (#set! injection.include-children)))
+
; <script lang="js">
((script_element
(start_tag
(attribute
(attribute_name) @_lang
(quoted_attribute_value (attribute_value) @_js)))
+ (raw_text) @injection.content)
(#eq? @_lang "lang")
(#eq? @_js "js")
- (raw_text) @javascript))
+ (#set! injection.language "javascript")
+ (#set! injection.include-children))
; <script lang="ts">
((script_element
@@ -36,9 +42,11 @@
(attribute
(attribute_name) @_lang
(quoted_attribute_value (attribute_value) @_ts)))
+ (raw_text) @injection.content)
(#eq? @_lang "lang")
(#eq? @_ts "ts")
- (raw_text) @typescript))
+ (#set! injection.language "typescript")
+ (#set! injection.include-children))
; <script lang="tsx">
; <script lang="jsx">
@@ -46,21 +54,27 @@
(start_tag
(attribute
(attribute_name) @_attr
- (quoted_attribute_value (attribute_value) @language)))
+ (quoted_attribute_value (attribute_value) @injection.language)))
(#eq? @_attr "lang")
- (#any-of? @language "tsx" "jsx")
- (raw_text) @content))
+ (#any-of? @injection.language "tsx" "jsx")
+ (raw_text) @injection.content)
+ (#set! injection.include-children))
((interpolation
- (raw_text) @javascript))
+ (raw_text) @injection.content)
+ (#set! injection.language "javascript")
+ (#set! injection.include-children))
-((directive_attribute
- (quoted_attribute_value
- (attribute_value) @javascript)))
+(directive_attribute
+ (quoted_attribute_value
+ (attribute_value) @injection.content
+ (#set! injection.language "javascript")
+ (#set! injection.include-children)))
-((template_element
+(template_element
(start_tag
(attribute
- (quoted_attribute_value (attribute_value) @_lang)))
- (#eq? @_lang "pug")
- (text) @pug))
+ (quoted_attribute_value (attribute_value) @injection.language)))
+ (text) @injection.content
+ (#eq? @injection.language "pug")
+ (#set! injection.include-children))