1
1
[
2
2
(container_doc_comment)
3
3
(doc_comment)
4
- (line_comment)
5
- ] @comment
4
+ ] @comment.documentation
6
5
7
6
[
8
- variable: (IDENTIFIER)
9
- variable_type_function: (IDENTIFIER)
10
- ] @variable
11
-
12
- parameter: (IDENTIFIER) @variable.parameter
13
-
14
- [
15
- field_member: (IDENTIFIER)
16
- field_access: (IDENTIFIER)
17
- ] @variable.other.member
7
+ (line_comment)
8
+ ] @comment.line
18
9
19
10
;; assume TitleCase is a type
20
11
(
@@ -25,6 +16,7 @@ parameter: (IDENTIFIER) @variable.parameter
25
16
] @type
26
17
(#match? @type "^[A-Z]([a-z]+[A-Za-z0-9]*)*$")
27
18
)
19
+
28
20
;; assume camelCase is a function
29
21
(
30
22
[
@@ -44,29 +36,33 @@ parameter: (IDENTIFIER) @variable.parameter
44
36
(#match? @constant "^[A-Z][A-Z_0-9]+$")
45
37
)
46
38
47
- [
48
- function_call: (IDENTIFIER)
49
- function: (IDENTIFIER)
50
- ] @function
51
-
52
- exception: "!" @function.macro
53
-
39
+ ;; _
54
40
(
55
41
(IDENTIFIER) @variable.builtin
56
42
(#eq? @variable.builtin "_")
57
43
)
58
44
45
+ ;; C Pointers [*c]T
59
46
(PtrTypeStart "c" @variable.builtin )
60
47
61
- (
62
- (ContainerDeclType
63
- [
64
- (ErrorUnionExpr)
65
- "enum"
66
- ]
67
- )
68
- (ContainerField (IDENTIFIER) @constant )
69
- )
48
+ [
49
+ variable: (IDENTIFIER)
50
+ variable_type_function: (IDENTIFIER)
51
+ ] @variable
52
+
53
+ parameter: (IDENTIFIER) @variable.parameter
54
+
55
+ [
56
+ field_member: (IDENTIFIER)
57
+ field_access: (IDENTIFIER)
58
+ ] @variable.other.member
59
+
60
+ [
61
+ function_call: (IDENTIFIER)
62
+ function: (IDENTIFIER)
63
+ ] @function
64
+
65
+ exception: "!" @keyword.control.exception
70
66
71
67
field_constant: (IDENTIFIER) @constant
72
68
@@ -89,8 +85,6 @@ field_constant: (IDENTIFIER) @constant
89
85
(FormatSequence) @string.special
90
86
91
87
[
92
- "allowzero"
93
- "volatile"
94
88
"anytype"
95
89
"anyframe"
96
90
(BuildinTypeExpr)
@@ -125,44 +119,53 @@ field_constant: (IDENTIFIER) @constant
125
119
"or"
126
120
"and"
127
121
"orelse"
128
- ] @operator
122
+ ] @keyword. operator
129
123
130
124
[
131
125
"struct"
132
126
"enum"
133
127
"union"
134
- "error"
135
128
"packed"
136
129
"opaque"
137
- ] @keyword
130
+ "export"
131
+ "extern"
132
+ "linksection"
133
+ ] @keyword.storage.type
134
+
135
+ [
136
+ "const"
137
+ "var"
138
+ "threadlocal"
139
+ "allowzero"
140
+ "volatile"
141
+ "align"
142
+ ] @keyword.storage.modifier
138
143
139
144
[
140
145
"try"
141
146
"error"
142
147
"catch"
143
- ] @function.macro
148
+ ] @keyword.control.exception
144
149
145
- ; VarDecl
146
150
[
147
- "threadlocal"
148
151
"fn"
149
152
] @keyword.function
150
153
151
154
[
152
- "const"
153
- "var"
154
155
"test"
156
+ ] @keyword
157
+
158
+ [
155
159
"pub"
156
160
"usingnamespace"
157
- ] @keyword
161
+ ] @keyword.control.import
158
162
159
163
[
160
164
"return"
161
165
"break"
162
166
"continue"
163
- ] @keyword.control
167
+ ] @keyword.control.return
164
168
165
- ; Macro
166
169
[
167
170
"defer"
168
171
"errdefer"
@@ -171,11 +174,8 @@ field_constant: (IDENTIFIER) @constant
171
174
"await"
172
175
"suspend"
173
176
"resume"
174
- "export"
175
- "extern"
176
177
] @function.macro
177
178
178
- ; PrecProc
179
179
[
180
180
"comptime"
181
181
"inline"
@@ -185,11 +185,6 @@ field_constant: (IDENTIFIER) @constant
185
185
"noalias"
186
186
] @keyword.directive
187
187
188
- [
189
- "linksection"
190
- "align"
191
- ] @function.builtin
192
-
193
188
[
194
189
(CompareOp)
195
190
(BitwiseOp)
@@ -230,5 +225,4 @@ field_constant: (IDENTIFIER) @constant
230
225
(PtrIndexPayload "|")
231
226
] @punctuation.bracket
232
227
233
- ; Error
234
- (ERROR) @keyword
228
+ (ERROR) @keyword.control.exception
0 commit comments