|
104 | 104 | "patterns": [
|
105 | 105 | {
|
106 | 106 | "comment": "FunC identifier",
|
107 |
| - "match": "((?:[a-zA-Z_\\'\\?!&]|::)(?:[a-zA-Z0-9_\\'\\?!&]|::)*)", |
| 107 | + "match": "(.*?)", |
108 | 108 | "name": "entity.name.function.func.tact"
|
109 | 109 | }
|
110 | 110 | ],
|
|
138 | 138 | }
|
139 | 139 | }
|
140 | 140 | },
|
| 141 | + { |
| 142 | + "comment": "Asm arrangements", |
| 143 | + "begin": "(?<!\\.)(asm)\\s*(\\()", |
| 144 | + "beginCaptures": { |
| 145 | + "1": { |
| 146 | + "name": "entity.other.attribute-name.tact" |
| 147 | + }, |
| 148 | + "2": { |
| 149 | + "name": "punctuation.brackets.round.tact" |
| 150 | + } |
| 151 | + }, |
| 152 | + "patterns": [ |
| 153 | + { |
| 154 | + "include": "#variable" |
| 155 | + }, |
| 156 | + { |
| 157 | + "match": "->", |
| 158 | + "name": "keyword.operator.mapsto.tact" |
| 159 | + }, |
| 160 | + { |
| 161 | + "match": "\\b([0-9]*)\\b", |
| 162 | + "name": "constant.numeric.decimal.tact" |
| 163 | + } |
| 164 | + ], |
| 165 | + "end": "\\)", |
| 166 | + "endCaptures": { |
| 167 | + "0": { |
| 168 | + "name": "punctuation.brackets.round.tact" |
| 169 | + } |
| 170 | + } |
| 171 | + }, |
141 | 172 | {
|
142 | 173 | "comment": "Fallback match",
|
143 |
| - "match": "(?<!\\.)\\b(@name|@interface)\\b", |
| 174 | + "match": "(?<!\\.)\\b(@name|@interface|asm)\\b", |
144 | 175 | "name": "entity.other.attribute-name.tact"
|
145 | 176 | }
|
146 | 177 | ]
|
|
256 | 287 | },
|
257 | 288 | {
|
258 | 289 | "comment": "Other constants from the core library",
|
259 |
| - "match": "(?<!\\.)\\b(SendRemainingValue|SendRemainingBalance|SendPayGasSeparately|SendIgnoreErrors|SendBounceIfActionFail|SendDestroyIfZero|ReserveExact|ReserveAllExcept|ReserveAtMost|ReserveAddOriginalBalance|ReserveInvertSign|ReserveBounceIfActionFail)\\b", |
| 290 | + "match": "(?<!\\.)\\b(SendRemainingValue|SendRemainingBalance|SendPayGasSeparately|SendIgnoreErrors|SendBounceIfActionFail|SendDestroyIfZero|SendOnlyEstimateFee|ReserveExact|ReserveAllExcept|ReserveAtMost|ReserveAddOriginalBalance|ReserveInvertSign|ReserveBounceIfActionFail)\\b", |
260 | 291 | "name": "constant.other.builtin.tact"
|
261 | 292 | },
|
262 | 293 | {
|
|
365 | 396 | "comment": "Serialization",
|
366 | 397 | "patterns": [
|
367 | 398 | {
|
368 |
| - "match": "(?<!\\.)\\b(as)\\s+([a-zA-Z_][a-zA-Z0-9_]*)\\b", |
| 399 | + "match": "(?<!\\.)\\b(as)\\s+(coins|remaining|bytes32|bytes64|int257|u?int(?:2[0-5][0-6]|1[0-9][0-9]|[1-9][0-9]?))\\b", |
369 | 400 | "captures": {
|
370 | 401 | "1": {
|
371 | 402 | "name": "keyword.other.as.tact storage.modifier.tact"
|
|
0 commit comments