Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'runtime/queries/_gjs/injections.scm')
-rw-r--r--runtime/queries/_gjs/injections.scm20
1 files changed, 20 insertions, 0 deletions
diff --git a/runtime/queries/_gjs/injections.scm b/runtime/queries/_gjs/injections.scm
new file mode 100644
index 00000000..83046316
--- /dev/null
+++ b/runtime/queries/_gjs/injections.scm
@@ -0,0 +1,20 @@
+; PARSE GLIMMER TEMPLATES
+(call_expression
+ function: [
+ (identifier) @injection.language
+ (member_expression
+ property: (property_identifier) @injection.language)
+ ]
+ arguments: (template_string) @injection.content)
+
+; e.g.: <template><SomeComponent @arg={{double @value}} /></template>
+((glimmer_template) @injection.content
+ (#set! injection.language "hbs"))
+
+; Parse Ember/Glimmer/Handlebars/HTMLBars/etc. template literals
+; e.g.: await render(hbs`<SomeComponent />`)
+(call_expression
+ function: ((identifier) @_name
+ (#eq? @_name "hbs"))
+ arguments: ((template_string) @glimmer
+ (#offset! @glimmer 0 1 0 -1)))