Skip to content

Commit a5aa667

Browse files
committed
feat: inject sigils
Based on #75 and #84 I'm assuming it's fine to inject more sigils. I've included ones from https://elixir-lang.org/blog/2025/08/18/interop-and-portability and a couple others that seems popular.
1 parent b848e63 commit a5aa667

File tree

1 file changed

+73
-1
lines changed

1 file changed

+73
-1
lines changed

queries/injections.scm

Lines changed: 73 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,86 @@
22
((sigil
33
(sigil_name) @_sigil_name
44
(quoted_content) @injection.content)
5-
(#any-of? @_sigil_name "H" "LVN")
5+
(#any-of? @_sigil_name "H" "LVN" "HOLO")
66
(#set! injection.language "heex")
77
(#set! injection.combined))
88

9+
; Regex
10+
((sigil
11+
(sigil_name) @_sigil_name
12+
(quoted_content) @injection.content)
13+
(#any-of? @_sigil_name "r" "R")
14+
(#set! injection.language "regex")
15+
(#set! injection.combined))
16+
17+
; Json
18+
((sigil
19+
(sigil_name) @_sigil_name
20+
(quoted_content) @injection.content)
21+
(#any-of? @_sigil_name "j" "J")
22+
(#set! injection.language "json")
23+
(#set! injection.combined))
24+
925
; SQL injection
1026
((sigil
1127
(sigil_name) @_sigil_name
1228
(quoted_content) @injection.content)
1329
(#eq? @_sigil_name "SQL")
1430
(#set! injection.language "sql")
1531
(#set! injection.combined))
32+
33+
; Surface
34+
((sigil
35+
(sigil_name) @_sigil_name
36+
(quoted_content) @injection.content)
37+
(#eq? @_sigil_name "F")
38+
(#set! injection.language "surface")
39+
(#set! injection.combined))
40+
41+
; Markdown
42+
((sigil
43+
(sigil_name) @_sigil_name
44+
(quoted_content) @injection.content)
45+
(#eq? @_sigil_name "MD")
46+
(#set! injection.language "markdown")
47+
(#set! injection.combined))
48+
49+
; Zig
50+
((sigil
51+
(sigil_name) @_sigil_name
52+
(quoted_content) @injection.content)
53+
(#any-of? @_sigil_name "z" "Z")
54+
(#set! injection.language "zig")
55+
(#set! injection.combined))
56+
57+
; Python
58+
((sigil
59+
(sigil_name) @_sigil_name
60+
(quoted_content) @injection.content)
61+
(#eq? @_sigil_name "PY")
62+
(#set! injection.language "python")
63+
(#set! injection.combined))
64+
65+
; JavaScript
66+
((sigil
67+
(sigil_name) @_sigil_name
68+
(quoted_content) @injection.content)
69+
(#eq? @_sigil_name "JS")
70+
(#set! injection.language "javascript")
71+
(#set! injection.combined))
72+
73+
; Svelte
74+
((sigil
75+
(sigil_name) @_sigil_name
76+
(quoted_content) @injection.content)
77+
(#eq? @_sigil_name "V")
78+
(#set! injection.language "svelte")
79+
(#set! injection.combined))
80+
81+
; Vue
82+
((sigil
83+
(sigil_name) @_sigil_name
84+
(quoted_content) @injection.content)
85+
(#eq? @_sigil_name "VUE")
86+
(#set! injection.language "vue")
87+
(#set! injection.combined))

0 commit comments

Comments
 (0)