aboutsummaryrefslogtreecommitdiffstats
path: root/runtime/queries/elixir/injections.scm
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/queries/elixir/injections.scm')
-rw-r--r--runtime/queries/elixir/injections.scm59
1 files changed, 59 insertions, 0 deletions
diff --git a/runtime/queries/elixir/injections.scm b/runtime/queries/elixir/injections.scm
new file mode 100644
index 000000000..f70fd984c
--- /dev/null
+++ b/runtime/queries/elixir/injections.scm
@@ -0,0 +1,59 @@
+; Comments
+((comment) @injection.content
+ (#set! injection.language "comment"))
+
+; Documentation
+(unary_operator
+ operator: "@"
+ operand: (call
+ target: ((identifier) @_identifier
+ (#any-of? @_identifier "moduledoc" "typedoc" "shortdoc" "doc"))
+ (arguments
+ [
+ (string
+ (quoted_content) @injection.content)
+ (sigil
+ (quoted_content) @injection.content)
+ ])
+ (#set! injection.language "markdown")))
+
+; HEEx
+(sigil
+ (sigil_name) @_sigil_name
+ (quoted_content) @injection.content
+ (#any-of? @_sigil_name "H" "LVN")
+ (#set! injection.language "heex"))
+
+; Surface
+(sigil
+ (sigil_name) @_sigil_name
+ (quoted_content) @injection.content
+ (#eq? @_sigil_name "F")
+ (#set! injection.language "surface"))
+
+; Zigler
+(sigil
+ (sigil_name) @_sigil_name
+ (quoted_content) @injection.content
+ (#any-of? @_sigil_name "E" "L")
+ (#set! injection.language "eex"))
+
+(sigil
+ (sigil_name) @_sigil_name
+ (quoted_content) @injection.content
+ (#any-of? @_sigil_name "z" "Z")
+ (#set! injection.language "zig"))
+
+; Regex
+(sigil
+ (sigil_name) @_sigil_name
+ (quoted_content) @injection.content
+ (#any-of? @_sigil_name "r" "R")
+ (#set! injection.language "regex"))
+
+; Json
+(sigil
+ (sigil_name) @_sigil_name
+ (quoted_content) @injection.content
+ (#any-of? @_sigil_name "j" "J")
+ (#set! injection.language "json"))