44 "foldingStartMarker" : " (?<![\" '])(/\\ *\\ *|\\ {\\ s*$)" ,
55 "foldingStopMarker" : " (?<![\" '])(\\ *\\ */|^\\ s*\\ })" ,
66 "patterns" : [
7- { "include" : " #comments" },
8- { "include" : " #definitions" },
9- { "include" : " #regions" },
10- { "include" : " #keywords" },
11- { "include" : " #boxed_types" },
12- { "include" : " #literals" },
13- { "include" : " #names" },
14- { "include" : " #holes" },
15- { "include" : " #operators" }
7+ {
8+ "include" : " #comments"
9+ },
10+ {
11+ "include" : " #definitions"
12+ },
13+ {
14+ "include" : " #regions"
15+ },
16+ {
17+ "include" : " #keywords"
18+ },
19+ {
20+ "include" : " #boxed_types"
21+ },
22+ {
23+ "include" : " #literals"
24+ },
25+ {
26+ "include" : " #names"
27+ },
28+ {
29+ "include" : " #holes"
30+ },
31+ {
32+ "include" : " #operators"
33+ }
1634 ],
1735 "repository" : {
1836 "comments" : {
2139 "begin" : " ///" ,
2240 "end" : " \\ n" ,
2341 "beginCaptures" : {
24- "0" : { "name" : " punctuation.definition.comment.effekt" }
42+ "0" : {
43+ "name" : " punctuation.definition.comment.effekt"
44+ }
2545 },
2646 "name" : " comment.line.documentation.effekt"
2747 },
2848 {
2949 "begin" : " //" ,
3050 "end" : " \\ n" ,
3151 "beginCaptures" : {
32- "0" : { "name" : " punctuation.definition.comment.effekt" }
52+ "0" : {
53+ "name" : " punctuation.definition.comment.effekt"
54+ }
3355 },
3456 "name" : " comment.line.double-slash.effekt"
3557 },
3658 {
3759 "begin" : " /\\ *" ,
3860 "beginCaptures" : {
39- "0" : { "name" : " punctuation.definition.comment.effekt" }
61+ "0" : {
62+ "name" : " punctuation.definition.comment.effekt"
63+ }
4064 },
4165 "end" : " \\ */" ,
4266 "endCaptures" : {
43- "0" : { "name" : " punctuation.definition.comment.effekt" }
67+ "0" : {
68+ "name" : " punctuation.definition.comment.effekt"
69+ }
4470 },
4571 "name" : " comment.block.effekt"
4672 }
5278 "begin" : " \\ s*(extern)\\ s+(def)\\ s+([a-zA-Z][a-z-A-Z0-9_$]*)\\ b" ,
5379 "end" : " (?=\\ n)|(?<=\\ S)\\ s*(?==(?!>))" ,
5480 "captures" : {
55- "1" : { "name" : " storage.modifier.extern.effekt" },
56- "2" : { "name" : " keyword.declaration.function.extern.effekt" },
57- "3" : { "name" : " entity.name.function.effekt" }
81+ "1" : {
82+ "name" : " storage.modifier.extern.effekt"
83+ },
84+ "2" : {
85+ "name" : " keyword.declaration.function.extern.effekt"
86+ },
87+ "3" : {
88+ "name" : " entity.name.function.effekt"
89+ }
5890 },
5991 "patterns" : [
60- { "include" : " #parameters" },
61- { "include" : " #comments" },
62- { "include" : " #boxed_types" }
92+ {
93+ "include" : " #parameters"
94+ },
95+ {
96+ "include" : " #comments"
97+ },
98+ {
99+ "include" : " #boxed_types"
100+ }
63101 ]
64102 },
65103 {
66104 "begin" : " \\ s*(def)\\ s+([a-zA-Z][a-z-A-Z0-9_$]*)\\ b" ,
67105 "end" : " (?=\\ n)|(?<=\\ S)\\ s*(?==(?!>))" ,
68106 "captures" : {
69- "1" : { "name" : " keyword.declaration.function.effekt" },
70- "2" : { "name" : " entity.name.function.effekt" }
107+ "1" : {
108+ "name" : " keyword.declaration.function.effekt"
109+ },
110+ "2" : {
111+ "name" : " entity.name.function.effekt"
112+ }
71113 },
72114 "patterns" : [
73- { "include" : " #parameters" },
74- { "include" : " #comments" },
75- { "include" : " #boxed_types" }
115+ {
116+ "include" : " #parameters"
117+ },
118+ {
119+ "include" : " #comments"
120+ },
121+ {
122+ "include" : " #boxed_types"
123+ }
76124 ]
77125 },
78126 {
79127 "match" : " \\ s*(val)\\ s+([a-zA-Z][a-z-A-Z0-9_$]*)\\ b" ,
80128 "captures" : {
81- "1" : { "name" : " keyword.declaration.val.effekt" },
82- "2" : { "name" : " variable.other.effekt" }
129+ "1" : {
130+ "name" : " keyword.declaration.val.effekt"
131+ },
132+ "2" : {
133+ "name" : " variable.other.effekt"
134+ }
83135 }
84136 },
85137 {
86138 "begin" : " \\ s*(var)\\ s+([a-zA-Z][a-z-A-Z0-9_$]*)\\ b" ,
87139 "beginCaptures" : {
88- "1" : { "name" : " keyword.declaration.var.effekt" },
89- "2" : { "name" : " variable.other.effekt" }
140+ "1" : {
141+ "name" : " keyword.declaration.var.effekt"
142+ },
143+ "2" : {
144+ "name" : " variable.other.effekt"
145+ }
90146 },
91147 "end" : " (?:;|(?=\\ n)|(?<=\\ S)\\ s*(?==(?!>)))" ,
92148 "patterns" : [
93149 {
94150 "match" : " \\ s+(in)\\ s+([a-zA-Z][a-z-A-Z0-9_$]*)\\ b" ,
95151 "captures" : {
96- "1" : { "name" : " keyword.other.in.effekt" },
152+ "1" : {
153+ "name" : " keyword.other.in.effekt"
154+ },
97155 "2" : {
98156 "patterns" : [
99157 {
116174 {
117175 "match" : " \\ s*(extern)?\\ s*(type|effect|interface|resource)\\ s+([a-zA-Z][a-z-A-Z0-9_$]*)\\ b" ,
118176 "captures" : {
119- "1" : { "name" : " storage.modifier.extern.effekt" },
120- "2" : { "name" : " keyword.declaration.type.effekt" },
121- "3" : { "name" : " entity.name.type.effekt" }
177+ "1" : {
178+ "name" : " storage.modifier.extern.effekt"
179+ },
180+ "2" : {
181+ "name" : " keyword.declaration.type.effekt"
182+ },
183+ "3" : {
184+ "name" : " entity.name.type.effekt"
185+ }
122186 }
123187 },
124188 {
125189 "match" : " \\ s*(namespace)\\ s+([a-zA-Z][a-z-A-Z0-9_$]*)\\ b" ,
126190 "captures" : {
127- "1" : { "name" : " keyword.declaration.namespace.effekt" },
128- "2" : { "name" : " entity.name.namespace.effekt" }
191+ "1" : {
192+ "name" : " keyword.declaration.namespace.effekt"
193+ },
194+ "2" : {
195+ "name" : " entity.name.namespace.effekt"
196+ }
129197 }
130198 },
131199 {
132200 "match" : " \\ s*(module)\\ s+((?:[a-zA-Z][a-zA-Z0-9_]*(?:/[a-zA-Z][a-zA-Z0-9_]*)*))\\ b" ,
133201 "captures" : {
134- "1" : { "name" : " keyword.declaration.module.effekt" },
135- "2" : { "name" : " entity.name.module.effekt" }
202+ "1" : {
203+ "name" : " keyword.declaration.module.effekt"
204+ },
205+ "2" : {
206+ "name" : " entity.name.module.effekt"
207+ }
136208 }
137209 },
138210 {
139211 "match" : " \\ s*(import)\\ s+((?:[a-zA-Z][a-zA-Z0-9_]*(?:/[a-zA-Z][a-zA-Z0-9_]*)*))\\ b" ,
140212 "captures" : {
141- "1" : { "name" : " keyword.other.import.effekt" },
142- "2" : { "name" : " entity.name.module.import.effekt" }
213+ "1" : {
214+ "name" : " keyword.other.import.effekt"
215+ },
216+ "2" : {
217+ "name" : " entity.name.module.import.effekt"
218+ }
143219 }
144220 }
145221 ]
256332 "match" : " \\ b([0-9]+)\\ b" ,
257333 "name" : " constant.numeric.integer.effekt"
258334 },
335+ {
336+ "match" : " \\ b0x(?:(?![0-9A-Fa-f])|[0-9A-Fa-f](?![0-9A-Fa-f])|[0-9A-Fa-f]{3,}|[^0-9A-Fa-f]\\ w*)" ,
337+ "name" : " invalid.illegal.byte.effekt"
338+ },
339+ {
340+ "match" : " \\ b0x[0-9A-Fa-f]{2}(?![0-9A-Fa-f])" ,
341+ "name" : " constant.numeric.byte.effekt"
342+ },
259343 {
260344 "include" : " #characters"
261345 },
336420 {
337421 "match" : " \\ b([a-z][a-zA-Z0-9_]*)\\ b[\\ s]*[({\\ []" ,
338422 "captures" : {
339- "1" : { "name" : " entity.name.function.effekt" }
423+ "1" : {
424+ "name" : " entity.name.function.effekt"
425+ }
340426 }
341427 },
342428 {
358444 },
359445 "end" : " \\ }" ,
360446 "endCaptures" : {
361- "0" : { "name" : " punctuation.definition.template-expression.end.effekt" }
447+ "0" : {
448+ "name" : " punctuation.definition.template-expression.end.effekt"
449+ }
362450 },
363451 "name" : " meta.embedded.line.effekt" ,
364- "patterns" : [{ "include" : " $self" }]
452+ "patterns" : [
453+ {
454+ "include" : " $self"
455+ }
456+ ]
365457 },
366458 "punctuation" : {
367459 "patterns" : [
414506 {
415507 "match" : " \\ b(region)\\ s+([a-zA-Z][a-zA-Z0-9_]*)\\ b" ,
416508 "captures" : {
417- "1" : { "name" : " keyword.other.region.effekt" },
509+ "1" : {
510+ "name" : " keyword.other.region.effekt"
511+ },
418512 "2" : {
419513 "name" : " variable.other.capability.effekt entity.name.region.effekt"
420514 }
424518 }
425519 },
426520 "scopeName" : " source.effekt"
427- }
521+ }
0 commit comments