Skip to content

Commit a70b328

Browse files
committed
Start highlights for Helix editor
1 parent 0496f43 commit a70b328

File tree

1 file changed

+94
-0
lines changed

1 file changed

+94
-0
lines changed

queries/helix-highlights.scm

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
; Highlights configured for Helix editor.
2+
; See: https://docs.helix-editor.com/themes.html#scopes
3+
4+
[
5+
"module"
6+
; "from"
7+
; "as"
8+
; "not"
9+
"or"
10+
"and"
11+
"implies"
12+
"iff"
13+
"all"
14+
"any"
15+
"type"
16+
"assume"
17+
"const"
18+
"var"
19+
"val"
20+
"nondet"
21+
"def"
22+
"pure"
23+
"action"
24+
"temporal"
25+
] @keyword
26+
27+
[
28+
"if"
29+
"else"
30+
] @keyword.control.conditional
31+
32+
; [
33+
; "import"
34+
; "export"
35+
; ] @keyword.control.import
36+
37+
[
38+
"true"
39+
"false"
40+
"Int"
41+
"Nat"
42+
"Bool"
43+
] @constant.builtin
44+
45+
[
46+
";"
47+
"."
48+
","
49+
] @punctuation.delimiter
50+
51+
[
52+
"-"
53+
"+"
54+
"*"
55+
"/"
56+
"%"
57+
"<"
58+
"<="
59+
"="
60+
"=="
61+
"!="
62+
"=>"
63+
">"
64+
">="
65+
"^"
66+
"->"
67+
; TODO: and, or, iff, implies
68+
] @operator
69+
70+
[
71+
"("
72+
")"
73+
"["
74+
"]"
75+
"{"
76+
"}"
77+
] @punctuation.bracket
78+
79+
(type) @type
80+
(int_literal) @constant.numeric.integer
81+
(comment) @comment
82+
(string) @string
83+
84+
(operator_application
85+
operator: (identifier) @function)
86+
87+
; operator definition is a function if it has at least one argument ...
88+
(operator_definition
89+
name: (identifier) @function
90+
arguments: (typed_argument_list))
91+
; ... or if the right-hand-side is a lambda expression:
92+
; (operator_definition
93+
; name: (identifier) @function
94+
; rhs: (lambda_expr))

0 commit comments

Comments
 (0)