Skip to content
This repository was archived by the owner on Nov 26, 2025. It is now read-only.

Commit 00e2fbd

Browse files
committed
fixed parameter types in functions
added highlighting for enum literals fixed issue with periods in type names
1 parent c97a768 commit 00e2fbd

File tree

4 files changed

+401
-360
lines changed

4 files changed

+401
-360
lines changed

Syntaxes/Zig.YAML-tmLanguage

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ repository:
3636
'2':
3737
name: punctuation.separator.zig
3838

39-
end: '([a-zA-Z_][a-zA-Z0-9_]*|@\".+\")?\s*(?:(,)|(\)))'
39+
end: '([a-zA-Z_][a-zA-Z0-9_.]*|@\".+\")?\s*(?:(\))|(,))'
4040
endCaptures:
4141
'1':
4242
name: storage.type.zig
@@ -46,6 +46,9 @@ repository:
4646
name: punctuation.section.parens.end.zig
4747

4848
patterns:
49+
- match: '([a-zA-Z_][a-zA-Z0-9_.]*|@\".+\")'
50+
name: storage.type.zig
51+
4952
- include: '#main'
5053

5154
field_decl:
@@ -56,7 +59,7 @@ repository:
5659
'2':
5760
name: punctuation.separator.zig
5861

59-
end: '([a-zA-Z_][a-zA-Z0-9_]*|@\".+\")(?:(,)|\s*(=)\s*|(?=\n|\r))'
62+
end: '([a-zA-Z_][a-zA-Z0-9_.]*|@\".+\")(?:(,)|\s*(=)\s*|(?=\n|\r))'
6063
endCaptures:
6164
'1':
6265
name: storage.type.zig
@@ -203,7 +206,7 @@ repository:
203206
storage:
204207
patterns:
205208
- name: storage.type.zig
206-
match: '\b(bool|void|noreturn|type|anyerror|anyframe)\b'
209+
match: '\b(bool|void|noreturn|type|anyerror|anyframe|promise)\b'
207210

208211
- name: storage.type.integer.zig
209212
match: '\b(?<!\.)([iu][0-9]\d*|[iu]size|comptime_int)\b'
@@ -280,7 +283,7 @@ repository:
280283
'2':
281284
name: punctuation.section.parens.begin.zig
282285

283-
end: '(?<=\))([a-zA-Z_][a-zA-Z0-9_]*|@\".+\")'
286+
end: '(?<=\))([a-zA-Z_][a-zA-Z0-9_.]*|@\".+\")'
284287
endCaptures:
285288
'1':
286289
name: storage.type.zig
@@ -289,7 +292,7 @@ repository:
289292
- include: '#param_list'
290293
- include: '#main'
291294

292-
- match: '([a-zA-Z_][a-zA-Z0-9_]*|@\".+\")'
295+
- match: '([a-zA-Z_][a-zA-Z0-9_.]*|@\".+\")'
293296
name: storage.type.zig
294297

295298
function_call:
@@ -306,7 +309,7 @@ repository:
306309

307310
contentName: meta.function.parameters.zig
308311

309-
end: '(?<=\))\s*([a-zA-Z_][a-zA-Z0-9_]*|@\".+\")'
312+
end: '(?<=\))\s*([a-zA-Z_][a-zA-Z0-9_.]*|@\".+\")'
310313
endCaptures:
311314
'1':
312315
name: storage.type.zig
@@ -315,7 +318,7 @@ repository:
315318
- include: '#param_list'
316319
- include: '#main'
317320

318-
- match: '([a-zA-Z_][a-zA-Z0-9_]*|@\".+\")'
321+
- match: '([a-zA-Z_][a-zA-Z0-9_.]*|@\".+\")'
319322
name: storage.type.zig
320323

321324
var_decl:
@@ -336,9 +339,13 @@ repository:
336339
patterns:
337340
- include: '#main'
338341

339-
- match: '([a-zA-Z_][a-zA-Z0-9_]*|@\".+\")'
342+
- match: '([a-zA-Z_][a-zA-Z0-9_.]*|@\".+\")'
340343
name: storage.type.zig
341344

345+
enum_literal:
346+
match: '(?<!\w)(\.(?:[a-zA-Z_][a-zA-Z0-9_]*|@\".+\"))'
347+
name: constant.language.enum
348+
342349
main:
343350
patterns:
344351
- include: '#field_decl'
@@ -359,3 +366,4 @@ repository:
359366
- include: '#block'
360367
- include: '#function_def'
361368
- include: '#function_call'
369+
- include: '#enum_literal'

Syntaxes/Zig.tmLanguage

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,13 @@
241241
</dict>
242242
</array>
243243
</dict>
244+
<key>enum_literal</key>
245+
<dict>
246+
<key>match</key>
247+
<string>(?&lt;!\w)(\.(?:[a-zA-Z_][a-zA-Z0-9_]*|@\".+\"))</string>
248+
<key>name</key>
249+
<string>constant.language.enum</string>
250+
</dict>
244251
<key>field_decl</key>
245252
<dict>
246253
<key>begin</key>
@@ -259,7 +266,7 @@
259266
</dict>
260267
</dict>
261268
<key>end</key>
262-
<string>([a-zA-Z_][a-zA-Z0-9_]*|@\".+\")(?:(,)|\s*(=)\s*|(?=\n|\r))</string>
269+
<string>([a-zA-Z_][a-zA-Z0-9_.]*|@\".+\")(?:(,)|\s*(=)\s*|(?=\n|\r))</string>
263270
<key>endCaptures</key>
264271
<dict>
265272
<key>1</key>
@@ -311,7 +318,7 @@
311318
</dict>
312319
</dict>
313320
<key>end</key>
314-
<string>(?&lt;=\))([a-zA-Z_][a-zA-Z0-9_]*|@\".+\")</string>
321+
<string>(?&lt;=\))([a-zA-Z_][a-zA-Z0-9_.]*|@\".+\")</string>
315322
<key>endCaptures</key>
316323
<dict>
317324
<key>1</key>
@@ -332,7 +339,7 @@
332339
</dict>
333340
<dict>
334341
<key>match</key>
335-
<string>([a-zA-Z_][a-zA-Z0-9_]*|@\".+\")</string>
342+
<string>([a-zA-Z_][a-zA-Z0-9_.]*|@\".+\")</string>
336343
<key>name</key>
337344
<string>storage.type.zig</string>
338345
</dict>
@@ -358,7 +365,7 @@
358365
<key>contentName</key>
359366
<string>meta.function.parameters.zig</string>
360367
<key>end</key>
361-
<string>(?&lt;=\))\s*([a-zA-Z_][a-zA-Z0-9_]*|@\".+\")</string>
368+
<string>(?&lt;=\))\s*([a-zA-Z_][a-zA-Z0-9_.]*|@\".+\")</string>
362369
<key>endCaptures</key>
363370
<dict>
364371
<key>1</key>
@@ -379,7 +386,7 @@
379386
</dict>
380387
<dict>
381388
<key>match</key>
382-
<string>([a-zA-Z_][a-zA-Z0-9_]*|@\".+\")</string>
389+
<string>([a-zA-Z_][a-zA-Z0-9_.]*|@\".+\")</string>
383390
<key>name</key>
384391
<string>storage.type.zig</string>
385392
</dict>
@@ -520,6 +527,10 @@
520527
<key>include</key>
521528
<string>#function_call</string>
522529
</dict>
530+
<dict>
531+
<key>include</key>
532+
<string>#enum_literal</string>
533+
</dict>
523534
</array>
524535
</dict>
525536
<key>operators</key>
@@ -588,7 +599,7 @@
588599
</dict>
589600
</dict>
590601
<key>end</key>
591-
<string>([a-zA-Z_][a-zA-Z0-9_]*|@\".+\")?\s*(?:(,)|(\)))</string>
602+
<string>([a-zA-Z_][a-zA-Z0-9_.]*|@\".+\")?\s*(?:(\))|(,))</string>
592603
<key>endCaptures</key>
593604
<dict>
594605
<key>1</key>
@@ -609,6 +620,12 @@
609620
</dict>
610621
<key>patterns</key>
611622
<array>
623+
<dict>
624+
<key>match</key>
625+
<string>([a-zA-Z_][a-zA-Z0-9_.]*|@\".+\")</string>
626+
<key>name</key>
627+
<string>storage.type.zig</string>
628+
</dict>
612629
<dict>
613630
<key>include</key>
614631
<string>#main</string>
@@ -651,7 +668,7 @@
651668
<array>
652669
<dict>
653670
<key>match</key>
654-
<string>\b(bool|void|noreturn|type|anyerror|anyframe)\b</string>
671+
<string>\b(bool|void|noreturn|type|anyerror|anyframe|promise)\b</string>
655672
<key>name</key>
656673
<string>storage.type.zig</string>
657674
</dict>
@@ -821,7 +838,7 @@
821838
</dict>
822839
<dict>
823840
<key>match</key>
824-
<string>([a-zA-Z_][a-zA-Z0-9_]*|@\".+\")</string>
841+
<string>([a-zA-Z_][a-zA-Z0-9_.]*|@\".+\")</string>
825842
<key>name</key>
826843
<string>storage.type.zig</string>
827844
</dict>

0 commit comments

Comments
 (0)