diff options
Diffstat (limited to 'queries/vue/injections.scm')
| -rw-r--r-- | queries/vue/injections.scm | 52 |
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)) |
