aboutsummaryrefslogtreecommitdiff
path: root/runtime/queries/heex/injections.scm
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/queries/heex/injections.scm')
-rw-r--r--runtime/queries/heex/injections.scm21
1 files changed, 21 insertions, 0 deletions
diff --git a/runtime/queries/heex/injections.scm b/runtime/queries/heex/injections.scm
new file mode 100644
index 00000000..ad4e4faa
--- /dev/null
+++ b/runtime/queries/heex/injections.scm
@@ -0,0 +1,21 @@
+; https://github.com/connorlay/tree-sitter-heex/blob/592e22292a367312c35e13de7fdb888f029981d6/queries/injections.scm
+; directives are standalone tags like '<%= @x %>'
+;
+; partial_expression_values are elixir code that is part of an expression that
+; spans multiple directive nodes, so they must be combined. For example:
+; <%= if true do %>
+; <p>hello, tree-sitter!</p>
+; <% end %>
+((directive (partial_expression_value) @injection.content)
+ (#set! injection.language "elixir")
+ (#set! injection.include-children)
+ (#set! injection.combined))
+
+; Regular expression_values do not need to be combined
+((directive (expression_value) @injection.content)
+ (#set! injection.language "elixir"))
+
+; expressions live within HTML tags, and do not need to be combined
+; <link href={ Routes.static_path(..) } />
+((expression (expression_value) @injection.content)
+ (#set! injection.language "elixir"))