on master help sign in
Allow custom preprocessors for 'vue' injections (#5268)
1f4d277farwyler
runtime/queries/vue/injections.scm+27−3
@@ -8,13 +8,37 @@
8 (raw_text) @injection.content)
8 (raw_text) @injection.content)
9 (#set! injection.language "javascript"))
9 (#set! injection.language "javascript"))
10
10
11+; <script>
11((script_element
12((script_element
13+ (start_tag) @_no_lang
14+ (raw_text) @injection.content)
15+ (#not-match? @_no_lang "lang=")
16+ (#set! injection.language "javascript"))
17+
18+; <script lang="...">
19+((script_element
20+ (start_tag
21+ (attribute
22+ (attribute_name) @_attr_name
23+ (quoted_attribute_value (attribute_value) @injection.language)))
12 (raw_text) @injection.content)
24 (raw_text) @injection.content)
13− (#set! injection.language "javascript"))
25+ (#eq? @_attr_name "lang"))
14
26
27+; <style>
15((style_element
28((style_element
29+ (start_tag) @_no_lang
16− (raw_text) @injection.content)
30+ (raw_text) @injection.content)
31+ (#not-match? @_no_lang "lang=")
17− (#set! injection.language "css"))
32+ (#set! injection.language "css"))
33+
34+; <style lang="...">
35+((style_element
36+ (start_tag
37+ (attribute
38+ (attribute_name) @_attr_name
39+ (quoted_attribute_value (attribute_value) @injection.language)))
40+ (raw_text) @injection.content)
41+ (#eq? @_attr_name "lang"))
18
42
19((comment) @injection.content
43((comment) @injection.content
20 (#set! injection.language "comment"))
44 (#set! injection.language "comment"))