|
36 | 36 | "include": "#comments" |
37 | 37 | }, |
38 | 38 | { |
39 | | - "include": "#types" |
| 39 | + "match": "\\b([a-z]\\w*\\.)*([A-Z]\\w*)\\b", |
| 40 | + "captures": { |
| 41 | + "2": { |
| 42 | + "name": "entity.name.type" |
| 43 | + } |
| 44 | + } |
40 | 45 | }, |
41 | 46 | { |
42 | 47 | "begin": "{", |
|
53 | 58 | "include": "#method-declaration" |
54 | 59 | }, |
55 | 60 | { |
56 | | - "include": "#type-parameters" |
| 61 | + "include": "#type-parameters-declaration" |
57 | 62 | }, |
58 | 63 | { |
59 | 64 | "include": "#block" |
|
84 | 89 | "name": "meta.field-initializer", |
85 | 90 | "patterns": [ |
86 | 91 | { |
87 | | - "include": "#keywords" |
88 | | - }, |
89 | | - { |
90 | | - "include": "#comments" |
91 | | - }, |
92 | | - { |
93 | | - "include": "#constants" |
| 92 | + "include": "#expressions" |
94 | 93 | } |
95 | 94 | ] |
96 | 95 | } |
|
124 | 123 | } |
125 | 124 | ] |
126 | 125 | }, |
127 | | - "type-parameters": { |
| 126 | + "type-parameters-declaration": { |
128 | 127 | "match": "<[^<>]+>", |
129 | | - "name": "meta.type-parameters", |
| 128 | + "name": "meta.type-parameters-declaration", |
130 | 129 | "captures": { |
131 | 130 | "0": { |
132 | 131 | "patterns": [ |
|
153 | 152 | "include": "#block" |
154 | 153 | }, |
155 | 154 | { |
156 | | - "include": "#keywords" |
157 | | - }, |
158 | | - { |
159 | | - "include": "#comments" |
160 | | - }, |
161 | | - { |
162 | | - "include": "#constants" |
| 155 | + "include": "#types" |
163 | 156 | }, |
164 | 157 | { |
165 | | - "include": "#types" |
| 158 | + "include": "#expressions" |
166 | 159 | } |
167 | 160 | ] |
168 | 161 | }, |
|
214 | 207 | } |
215 | 208 | ] |
216 | 209 | }, |
| 210 | + "expressions": { |
| 211 | + "patterns": [ |
| 212 | + { |
| 213 | + "include": "#keywords" |
| 214 | + }, |
| 215 | + { |
| 216 | + "include": "#comments" |
| 217 | + }, |
| 218 | + { |
| 219 | + "include": "#constants" |
| 220 | + }, |
| 221 | + { |
| 222 | + "include": "#type-arguments" |
| 223 | + }, |
| 224 | + { |
| 225 | + "include": "#parens" |
| 226 | + }, |
| 227 | + { |
| 228 | + "begin": "\\(", |
| 229 | + "end": "\\)", |
| 230 | + "patterns": [ |
| 231 | + { |
| 232 | + "include": "#expressions" |
| 233 | + } |
| 234 | + ] |
| 235 | + }, |
| 236 | + { |
| 237 | + "include": "#new" |
| 238 | + } |
| 239 | + ] |
| 240 | + }, |
217 | 241 | "keywords": { |
218 | 242 | "patterns": [ |
219 | 243 | { |
|
233 | 257 | "name": "keyword.control" |
234 | 258 | }, |
235 | 259 | { |
236 | | - "match": "\\b(new|instanceof)\\b", |
| 260 | + "match": "\\b(instanceof)\\b", |
237 | 261 | "name": "keyword.control" |
238 | 262 | }, |
239 | 263 | { |
|
359 | 383 | "name": "entity.name.type" |
360 | 384 | }, |
361 | 385 | "2": { |
362 | | - "name": "meta.type-parameters", |
| 386 | + "name": "meta.type-parameters-declaration", |
363 | 387 | "patterns": [ |
364 | 388 | { |
365 | 389 | "include": "#keywords" |
|
369 | 393 | }, |
370 | 394 | { |
371 | 395 | "match": "\\b([a-z]\\w*\\.)*([A-Z]\\w*)\\b", |
372 | | - "name": "entity.name.type" |
| 396 | + "captures": { |
| 397 | + "2": { |
| 398 | + "name": "entity.name.type" |
| 399 | + } |
| 400 | + } |
| 401 | + } |
| 402 | + ] |
| 403 | + } |
| 404 | + } |
| 405 | + } |
| 406 | + ] |
| 407 | + }, |
| 408 | + "new": { |
| 409 | + "begin": "\\b(new)\\b", |
| 410 | + "end": "(?=;|\\)|\\.|,|:|}|=)", |
| 411 | + "name": "meta.new", |
| 412 | + "captures": { |
| 413 | + "1": { |
| 414 | + "name": "keyword.control" |
| 415 | + } |
| 416 | + }, |
| 417 | + "patterns": [ |
| 418 | + { |
| 419 | + "include": "#expressions" |
| 420 | + }, |
| 421 | + { |
| 422 | + "match": "\\b([a-z]\\w*\\.)*([A-Z]\\w*)\\b", |
| 423 | + "captures": { |
| 424 | + "2": { |
| 425 | + "name": "entity.name.type" |
| 426 | + } |
| 427 | + } |
| 428 | + }, |
| 429 | + { |
| 430 | + "begin": "{", |
| 431 | + "end": "}", |
| 432 | + "name": "meta.anonymous-class", |
| 433 | + "patterns": [ |
| 434 | + { |
| 435 | + "include": "#class-declaration" |
| 436 | + }, |
| 437 | + { |
| 438 | + "include": "#field-initializer" |
| 439 | + }, |
| 440 | + { |
| 441 | + "include": "#method-declaration" |
| 442 | + }, |
| 443 | + { |
| 444 | + "include": "#type-parameters-declaration" |
| 445 | + }, |
| 446 | + { |
| 447 | + "include": "#block" |
| 448 | + }, |
| 449 | + { |
| 450 | + "include": "#annotations" |
| 451 | + }, |
| 452 | + { |
| 453 | + "include": "#keywords" |
| 454 | + }, |
| 455 | + { |
| 456 | + "include": "#comments" |
| 457 | + }, |
| 458 | + { |
| 459 | + "include": "#types" |
| 460 | + } |
| 461 | + ] |
| 462 | + } |
| 463 | + ] |
| 464 | + }, |
| 465 | + "type-arguments": { |
| 466 | + "patterns": [ |
| 467 | + { |
| 468 | + "match": "\\.(?<GROUP><([^<>]|\\g<GROUP>)*>)", |
| 469 | + "name": "meta.type-arguments", |
| 470 | + "captures": { |
| 471 | + "1": { |
| 472 | + "patterns": [ |
| 473 | + { |
| 474 | + "include": "#keywords" |
| 475 | + }, |
| 476 | + { |
| 477 | + "include": "#comments" |
| 478 | + }, |
| 479 | + { |
| 480 | + "match": "\\b([a-z]\\w*\\.)*([A-Z]\\w*)\\b", |
| 481 | + "captures": { |
| 482 | + "2": { |
| 483 | + "name": "entity.name.type" |
| 484 | + } |
| 485 | + } |
373 | 486 | } |
374 | 487 | ] |
375 | 488 | } |
|
0 commit comments