Skip to content

Commit 4569bc1

Browse files
authored
Merge pull request #13 from ventojs/filters
Scope filters as functions, not variables
2 parents 93939f2 + e5a9502 commit 4569bc1

File tree

2 files changed

+41
-1
lines changed

2 files changed

+41
-1
lines changed

queries/highlights.scm

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,3 +88,6 @@
8888

8989
; Code blocks (disable highlighting to allow injection)
9090
(code) @none
91+
92+
; Filter functions (must come after the general code rule to override it)
93+
(filter (code) @function)

queries/injections.scm

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,42 @@
55
(#set! injection.language "html")
66
(#set! injection.combined))
77

8-
((code) @injection.content
8+
; Inject JavaScript into code nodes that are direct children of specific nodes
9+
; We intentionally exclude (filter (code)) patterns so filter function names
10+
; like 'slugify' and 'postDate' are highlighted as @function instead of JavaScript
11+
12+
(if_tag_start (code) @injection.content
13+
(#set! injection.language "javascript"))
14+
15+
(else_if_tag (code) @injection.content
16+
(#set! injection.language "javascript"))
17+
18+
(for_tag_start (code) @injection.content
19+
(#set! injection.language "javascript"))
20+
21+
(set_tag (code) @injection.content
22+
(#set! injection.language "javascript"))
23+
24+
(include_tag (code) @injection.content
25+
(#set! injection.language "javascript"))
26+
27+
(layout_tag_start (code) @injection.content
28+
(#set! injection.language "javascript"))
29+
30+
(import_tag (code) @injection.content
31+
(#set! injection.language "javascript"))
32+
33+
(export_tag (code) @injection.content
34+
(#set! injection.language "javascript"))
35+
36+
(echo_tag (code) @injection.content
37+
(#set! injection.language "javascript"))
38+
39+
(parameter (code) @injection.content
40+
(#set! injection.language "javascript"))
41+
42+
(javascript_tag (code) @injection.content
43+
(#set! injection.language "javascript"))
44+
45+
(tag (code) @injection.content
946
(#set! injection.language "javascript"))

0 commit comments

Comments
 (0)