|
4 | 4 | "foldingStartMarker": "(?<![\"'])(/\\*\\*|\\{\\s*$)", |
5 | 5 | "foldingStopMarker": "(?<![\"'])(\\*\\*/|^\\s*\\})", |
6 | 6 | "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 | + } |
16 | 34 | ], |
17 | 35 | "repository": { |
18 | 36 | "comments": { |
|
21 | 39 | "begin": "///", |
22 | 40 | "end": "\\n", |
23 | 41 | "beginCaptures": { |
24 | | - "0": { "name": "punctuation.definition.comment.effekt" } |
| 42 | + "0": { |
| 43 | + "name": "punctuation.definition.comment.effekt" |
| 44 | + } |
25 | 45 | }, |
26 | 46 | "name": "comment.line.documentation.effekt" |
27 | 47 | }, |
28 | 48 | { |
29 | 49 | "begin": "//", |
30 | 50 | "end": "\\n", |
31 | 51 | "beginCaptures": { |
32 | | - "0": { "name": "punctuation.definition.comment.effekt" } |
| 52 | + "0": { |
| 53 | + "name": "punctuation.definition.comment.effekt" |
| 54 | + } |
33 | 55 | }, |
34 | 56 | "name": "comment.line.double-slash.effekt" |
35 | 57 | }, |
36 | 58 | { |
37 | 59 | "begin": "/\\*", |
38 | 60 | "beginCaptures": { |
39 | | - "0": { "name": "punctuation.definition.comment.effekt" } |
| 61 | + "0": { |
| 62 | + "name": "punctuation.definition.comment.effekt" |
| 63 | + } |
40 | 64 | }, |
41 | 65 | "end": "\\*/", |
42 | 66 | "endCaptures": { |
43 | | - "0": { "name": "punctuation.definition.comment.effekt" } |
| 67 | + "0": { |
| 68 | + "name": "punctuation.definition.comment.effekt" |
| 69 | + } |
44 | 70 | }, |
45 | 71 | "name": "comment.block.effekt" |
46 | 72 | } |
|
52 | 78 | "begin": "\\s*(extern)\\s+(def)\\s+([a-zA-Z][a-z-A-Z0-9_$]*)\\b", |
53 | 79 | "end": "(?=\\n)|(?<=\\S)\\s*(?==(?!>))", |
54 | 80 | "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 | + } |
58 | 90 | }, |
59 | 91 | "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 | + } |
63 | 101 | ] |
64 | 102 | }, |
65 | 103 | { |
66 | 104 | "begin": "\\s*(def)\\s+([a-zA-Z][a-z-A-Z0-9_$]*)\\b", |
67 | 105 | "end": "(?=\\n)|(?<=\\S)\\s*(?==(?!>))", |
68 | 106 | "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 | + } |
71 | 113 | }, |
72 | 114 | "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 | + } |
76 | 124 | ] |
77 | 125 | }, |
78 | 126 | { |
79 | 127 | "match": "\\s*(val)\\s+([a-zA-Z][a-z-A-Z0-9_$]*)\\b", |
80 | 128 | "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 | + } |
83 | 135 | } |
84 | 136 | }, |
85 | 137 | { |
86 | 138 | "begin": "\\s*(var)\\s+([a-zA-Z][a-z-A-Z0-9_$]*)\\b", |
87 | 139 | "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 | + } |
90 | 146 | }, |
91 | 147 | "end": "(?:;|(?=\\n)|(?<=\\S)\\s*(?==(?!>)))", |
92 | 148 | "patterns": [ |
93 | 149 | { |
94 | 150 | "match": "\\s+(in)\\s+([a-zA-Z][a-z-A-Z0-9_$]*)\\b", |
95 | 151 | "captures": { |
96 | | - "1": { "name": "keyword.other.in.effekt" }, |
| 152 | + "1": { |
| 153 | + "name": "keyword.other.in.effekt" |
| 154 | + }, |
97 | 155 | "2": { |
98 | 156 | "patterns": [ |
99 | 157 | { |
|
116 | 174 | { |
117 | 175 | "match": "\\s*(extern)?\\s*(type|effect|interface|resource)\\s+([a-zA-Z][a-z-A-Z0-9_$]*)\\b", |
118 | 176 | "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 | + } |
122 | 186 | } |
123 | 187 | }, |
124 | 188 | { |
125 | 189 | "match": "\\s*(namespace)\\s+([a-zA-Z][a-z-A-Z0-9_$]*)\\b", |
126 | 190 | "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 | + } |
129 | 197 | } |
130 | 198 | }, |
131 | 199 | { |
132 | 200 | "match": "\\s*(module)\\s+((?:[a-zA-Z][a-zA-Z0-9_]*(?:/[a-zA-Z][a-zA-Z0-9_]*)*))\\b", |
133 | 201 | "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 | + } |
136 | 208 | } |
137 | 209 | }, |
138 | 210 | { |
139 | 211 | "match": "\\s*(import)\\s+((?:[a-zA-Z][a-zA-Z0-9_]*(?:/[a-zA-Z][a-zA-Z0-9_]*)*))\\b", |
140 | 212 | "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 | + } |
143 | 219 | } |
144 | 220 | } |
145 | 221 | ] |
|
256 | 332 | "match": "\\b([0-9]+)\\b", |
257 | 333 | "name": "constant.numeric.integer.effekt" |
258 | 334 | }, |
| 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 | + }, |
259 | 343 | { |
260 | 344 | "include": "#characters" |
261 | 345 | }, |
|
336 | 420 | { |
337 | 421 | "match": "\\b([a-z][a-zA-Z0-9_]*)\\b[\\s]*[({\\[]", |
338 | 422 | "captures": { |
339 | | - "1": { "name": "entity.name.function.effekt" } |
| 423 | + "1": { |
| 424 | + "name": "entity.name.function.effekt" |
| 425 | + } |
340 | 426 | } |
341 | 427 | }, |
342 | 428 | { |
|
358 | 444 | }, |
359 | 445 | "end": "\\}", |
360 | 446 | "endCaptures": { |
361 | | - "0": { "name": "punctuation.definition.template-expression.end.effekt" } |
| 447 | + "0": { |
| 448 | + "name": "punctuation.definition.template-expression.end.effekt" |
| 449 | + } |
362 | 450 | }, |
363 | 451 | "name": "meta.embedded.line.effekt", |
364 | | - "patterns": [{ "include": "$self" }] |
| 452 | + "patterns": [ |
| 453 | + { |
| 454 | + "include": "$self" |
| 455 | + } |
| 456 | + ] |
365 | 457 | }, |
366 | 458 | "punctuation": { |
367 | 459 | "patterns": [ |
|
414 | 506 | { |
415 | 507 | "match": "\\b(region)\\s+([a-zA-Z][a-zA-Z0-9_]*)\\b", |
416 | 508 | "captures": { |
417 | | - "1": { "name": "keyword.other.region.effekt" }, |
| 509 | + "1": { |
| 510 | + "name": "keyword.other.region.effekt" |
| 511 | + }, |
418 | 512 | "2": { |
419 | 513 | "name": "variable.other.capability.effekt entity.name.region.effekt" |
420 | 514 | } |
|
0 commit comments