Skip to content

Commit 7dbf74c

Browse files
committed
Simplify class meta scoping and use meta.class.ts instead of meta.declaration.object.ts
1 parent d1b6822 commit 7dbf74c

File tree

67 files changed

+4818
-4892
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+4818
-4892
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,7 @@ repository:
374374
match: ([_$[:alpha:]][_$[:alnum:]]*)
375375

376376
class-or-interface-declaration:
377-
name: meta.declaration.object.ts
377+
name: meta.class.ts
378378
begin: '(?<!\.|\$)\b(?:(export)\s+)?\b(?:(abstract)\s+)?\b(?:(class)|(interface))\b'
379379
beginCaptures:
380380
'1': { name: keyword.control.export.ts }
@@ -387,18 +387,13 @@ repository:
387387
patterns:
388388
- include: '#comment'
389389
- include: '#class-or-interface-heritage' # Must be before object-name to consume the "extends" keyword.
390-
- include: '#class-or-interface-name'
390+
- match: '[_$[:alpha:]][_$[:alnum:]]*'
391+
captures:
392+
'0': { name: 'entity.name.class.ts' }
391393
- include: '#type-parameters' # Must be applied after object-name e.g. interface KeyValuePair<K, V>
392394
- include: '#class-or-interface-body'
393395

394-
class-or-interface-name:
395-
name: meta.object.name.ts
396-
match: '[_$[:alpha:]][_$[:alnum:]]*'
397-
captures:
398-
'0': { name: 'entity.name.class.ts' }
399-
400396
class-or-interface-heritage:
401-
name: meta.object.heritage.ts
402397
begin: '(?<!\.|\$)(?:\b(extends|implements)\b)(?!\$)'
403398
beginCaptures:
404399
'1': { name: storage.modifier.ts }
@@ -409,22 +404,15 @@ repository:
409404
- include: '#comment'
410405
- include: '#class-or-interface-heritage'
411406
- include: '#type-parameters'
412-
- include: '#class-or-interface-heritage-type'
413-
414-
class-or-interface-heritage-type:
415-
patterns:
416-
- name: meta.object.heritage.parent.ts
417-
match: ([_$[:alpha:]][_$[:alnum:]]*)\s*(\.)
407+
- match: ([_$[:alpha:]][_$[:alnum:]]*)\s*(\.)
418408
captures:
419409
'1': { name: entity.name.type.module.ts }
420410
'2': { name: punctuation.accessor.ts }
421-
- name: meta.object.heritage.parent.ts
422-
match: '([_$[:alpha:]][_$[:alnum:]]*)'
411+
- match: '([_$[:alpha:]][_$[:alnum:]]*)'
423412
captures:
424413
'1': { name: entity.other.inherited-class.ts }
425414

426415
class-or-interface-body:
427-
name: meta.object.body.ts
428416
begin: \{
429417
beginCaptures:
430418
'0': { name: punctuation.definition.block.ts }

TypeScript.tmLanguage

Lines changed: 11 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -348,8 +348,6 @@
348348
<string>punctuation.definition.block.ts</string>
349349
</dict>
350350
</dict>
351-
<key>name</key>
352-
<string>meta.object.body.ts</string>
353351
<key>patterns</key>
354352
<array>
355353
<dict>
@@ -436,7 +434,7 @@
436434
</dict>
437435
</dict>
438436
<key>name</key>
439-
<string>meta.declaration.object.ts</string>
437+
<string>meta.class.ts</string>
440438
<key>patterns</key>
441439
<array>
442440
<dict>
@@ -448,8 +446,16 @@
448446
<string>#class-or-interface-heritage</string>
449447
</dict>
450448
<dict>
451-
<key>include</key>
452-
<string>#class-or-interface-name</string>
449+
<key>captures</key>
450+
<dict>
451+
<key>0</key>
452+
<dict>
453+
<key>name</key>
454+
<string>entity.name.class.ts</string>
455+
</dict>
456+
</dict>
457+
<key>match</key>
458+
<string>[_$[:alpha:]][_$[:alnum:]]*</string>
453459
</dict>
454460
<dict>
455461
<key>include</key>
@@ -483,8 +489,6 @@
483489
<string>punctuation.definition.block.ts</string>
484490
</dict>
485491
</dict>
486-
<key>name</key>
487-
<string>meta.object.heritage.ts</string>
488492
<key>patterns</key>
489493
<array>
490494
<dict>
@@ -499,16 +503,6 @@
499503
<key>include</key>
500504
<string>#type-parameters</string>
501505
</dict>
502-
<dict>
503-
<key>include</key>
504-
<string>#class-or-interface-heritage-type</string>
505-
</dict>
506-
</array>
507-
</dict>
508-
<key>class-or-interface-heritage-type</key>
509-
<dict>
510-
<key>patterns</key>
511-
<array>
512506
<dict>
513507
<key>captures</key>
514508
<dict>
@@ -525,8 +519,6 @@
525519
</dict>
526520
<key>match</key>
527521
<string>([_$[:alpha:]][_$[:alnum:]]*)\s*(\.)</string>
528-
<key>name</key>
529-
<string>meta.object.heritage.parent.ts</string>
530522
</dict>
531523
<dict>
532524
<key>captures</key>
@@ -539,26 +531,9 @@
539531
</dict>
540532
<key>match</key>
541533
<string>([_$[:alpha:]][_$[:alnum:]]*)</string>
542-
<key>name</key>
543-
<string>meta.object.heritage.parent.ts</string>
544534
</dict>
545535
</array>
546536
</dict>
547-
<key>class-or-interface-name</key>
548-
<dict>
549-
<key>captures</key>
550-
<dict>
551-
<key>0</key>
552-
<dict>
553-
<key>name</key>
554-
<string>entity.name.class.ts</string>
555-
</dict>
556-
</dict>
557-
<key>match</key>
558-
<string>[_$[:alpha:]][_$[:alnum:]]*</string>
559-
<key>name</key>
560-
<string>meta.object.name.ts</string>
561-
</dict>
562537
<key>comment</key>
563538
<dict>
564539
<key>patterns</key>

TypeScriptReact.YAML-tmLanguage

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -378,7 +378,7 @@ repository:
378378
match: ([_$[:alpha:]][_$[:alnum:]]*)
379379

380380
class-or-interface-declaration:
381-
name: meta.declaration.object.tsx
381+
name: meta.class.tsx
382382
begin: '(?<!\.|\$)\b(?:(export)\s+)?\b(?:(abstract)\s+)?\b(?:(class)|(interface))\b'
383383
beginCaptures:
384384
'1': { name: keyword.control.export.tsx }
@@ -391,18 +391,13 @@ repository:
391391
patterns:
392392
- include: '#comment'
393393
- include: '#class-or-interface-heritage' # Must be before object-name to consume the "extends" keyword.
394-
- include: '#class-or-interface-name'
394+
- match: '[_$[:alpha:]][_$[:alnum:]]*'
395+
captures:
396+
'0': { name: 'entity.name.class.tsx' }
395397
- include: '#type-parameters' # Must be applied after object-name e.g. interface KeyValuePair<K, V>
396398
- include: '#class-or-interface-body'
397399

398-
class-or-interface-name:
399-
name: meta.object.name.tsx
400-
match: '[_$[:alpha:]][_$[:alnum:]]*'
401-
captures:
402-
'0': { name: 'entity.name.class.tsx' }
403-
404400
class-or-interface-heritage:
405-
name: meta.object.heritage.tsx
406401
begin: '(?<!\.|\$)(?:\b(extends|implements)\b)(?!\$)'
407402
beginCaptures:
408403
'1': { name: storage.modifier.tsx }
@@ -413,22 +408,15 @@ repository:
413408
- include: '#comment'
414409
- include: '#class-or-interface-heritage'
415410
- include: '#type-parameters'
416-
- include: '#class-or-interface-heritage-type'
417-
418-
class-or-interface-heritage-type:
419-
patterns:
420-
- name: meta.object.heritage.parent.tsx
421-
match: ([_$[:alpha:]][_$[:alnum:]]*)\s*(\.)
411+
- match: ([_$[:alpha:]][_$[:alnum:]]*)\s*(\.)
422412
captures:
423413
'1': { name: entity.name.type.module.tsx }
424414
'2': { name: punctuation.accessor.tsx }
425-
- name: meta.object.heritage.parent.tsx
426-
match: '([_$[:alpha:]][_$[:alnum:]]*)'
415+
- match: '([_$[:alpha:]][_$[:alnum:]]*)'
427416
captures:
428417
'1': { name: entity.other.inherited-class.tsx }
429418

430419
class-or-interface-body:
431-
name: meta.object.body.tsx
432420
begin: \{
433421
beginCaptures:
434422
'0': { name: punctuation.definition.block.tsx }

TypeScriptReact.tmLanguage

Lines changed: 11 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -316,8 +316,6 @@
316316
<string>punctuation.definition.block.tsx</string>
317317
</dict>
318318
</dict>
319-
<key>name</key>
320-
<string>meta.object.body.tsx</string>
321319
<key>patterns</key>
322320
<array>
323321
<dict>
@@ -404,7 +402,7 @@
404402
</dict>
405403
</dict>
406404
<key>name</key>
407-
<string>meta.declaration.object.tsx</string>
405+
<string>meta.class.tsx</string>
408406
<key>patterns</key>
409407
<array>
410408
<dict>
@@ -416,8 +414,16 @@
416414
<string>#class-or-interface-heritage</string>
417415
</dict>
418416
<dict>
419-
<key>include</key>
420-
<string>#class-or-interface-name</string>
417+
<key>captures</key>
418+
<dict>
419+
<key>0</key>
420+
<dict>
421+
<key>name</key>
422+
<string>entity.name.class.tsx</string>
423+
</dict>
424+
</dict>
425+
<key>match</key>
426+
<string>[_$[:alpha:]][_$[:alnum:]]*</string>
421427
</dict>
422428
<dict>
423429
<key>include</key>
@@ -451,8 +457,6 @@
451457
<string>punctuation.definition.block.tsx</string>
452458
</dict>
453459
</dict>
454-
<key>name</key>
455-
<string>meta.object.heritage.tsx</string>
456460
<key>patterns</key>
457461
<array>
458462
<dict>
@@ -467,16 +471,6 @@
467471
<key>include</key>
468472
<string>#type-parameters</string>
469473
</dict>
470-
<dict>
471-
<key>include</key>
472-
<string>#class-or-interface-heritage-type</string>
473-
</dict>
474-
</array>
475-
</dict>
476-
<key>class-or-interface-heritage-type</key>
477-
<dict>
478-
<key>patterns</key>
479-
<array>
480474
<dict>
481475
<key>captures</key>
482476
<dict>
@@ -493,8 +487,6 @@
493487
</dict>
494488
<key>match</key>
495489
<string>([_$[:alpha:]][_$[:alnum:]]*)\s*(\.)</string>
496-
<key>name</key>
497-
<string>meta.object.heritage.parent.tsx</string>
498490
</dict>
499491
<dict>
500492
<key>captures</key>
@@ -507,26 +499,9 @@
507499
</dict>
508500
<key>match</key>
509501
<string>([_$[:alpha:]][_$[:alnum:]]*)</string>
510-
<key>name</key>
511-
<string>meta.object.heritage.parent.tsx</string>
512502
</dict>
513503
</array>
514504
</dict>
515-
<key>class-or-interface-name</key>
516-
<dict>
517-
<key>captures</key>
518-
<dict>
519-
<key>0</key>
520-
<dict>
521-
<key>name</key>
522-
<string>entity.name.class.tsx</string>
523-
</dict>
524-
</dict>
525-
<key>match</key>
526-
<string>[_$[:alpha:]][_$[:alnum:]]*</string>
527-
<key>name</key>
528-
<string>meta.object.name.tsx</string>
529-
</dict>
530505
<key>comment</key>
531506
<dict>
532507
<key>patterns</key>

0 commit comments

Comments
 (0)