Skip to content

Commit d0d1952

Browse files
committed
Support decorators
1 parent c8dbfcf commit d0d1952

12 files changed

+888
-0
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@ repository:
201201
declaration:
202202
name: meta.declaration.ts
203203
patterns:
204+
- include: '#decorator'
204205
- include: '#var-expr'
205206
- include: '#function-declaration'
206207
- include: '#class-or-interface-declaration'
@@ -211,6 +212,15 @@ repository:
211212
- include: '#import-declaration'
212213
- include: '#export-declaration'
213214

215+
decorator:
216+
name: meta.decorator.ts
217+
begin: \@
218+
beginCaptures:
219+
'0': { name: punctuation.decorator.ts }
220+
end: (?=\s)
221+
patterns:
222+
- include: '#expression'
223+
214224
type-declaration:
215225
name: meta.type.declaration.ts
216226
begin: (?:(\bexport)\s+)?\b(type)\b\s+([a-zA-Z_$][\w$]*)\s*
@@ -416,6 +426,7 @@ repository:
416426
patterns:
417427
- include: "#string"
418428
- include: '#comment'
429+
- include: '#decorator'
419430
- include: '#field-declaration'
420431
- include: '#method-declaration'
421432
- include: '#indexer-declaration'
@@ -704,6 +715,7 @@ repository:
704715
'0': { name: punctuation.definition.parameters.end.ts }
705716
patterns:
706717
- include: '#comment'
718+
- include: '#decorator'
707719
- include: '#destructuring-parameter'
708720
- include: '#parameter-name'
709721
- include: '#type-annotation'

TypeScript.tmLanguage

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,10 @@
288288
<key>include</key>
289289
<string>#comment</string>
290290
</dict>
291+
<dict>
292+
<key>include</key>
293+
<string>#decorator</string>
294+
</dict>
291295
<dict>
292296
<key>include</key>
293297
<string>#field-declaration</string>
@@ -629,6 +633,10 @@
629633
<string>meta.declaration.ts</string>
630634
<key>patterns</key>
631635
<array>
636+
<dict>
637+
<key>include</key>
638+
<string>#decorator</string>
639+
</dict>
632640
<dict>
633641
<key>include</key>
634642
<string>#var-expr</string>
@@ -667,6 +675,30 @@
667675
</dict>
668676
</array>
669677
</dict>
678+
<key>decorator</key>
679+
<dict>
680+
<key>begin</key>
681+
<string>\@</string>
682+
<key>beginCaptures</key>
683+
<dict>
684+
<key>0</key>
685+
<dict>
686+
<key>name</key>
687+
<string>punctuation.decorator.ts</string>
688+
</dict>
689+
</dict>
690+
<key>end</key>
691+
<string>(?=\s)</string>
692+
<key>name</key>
693+
<string>meta.decorator.ts</string>
694+
<key>patterns</key>
695+
<array>
696+
<dict>
697+
<key>include</key>
698+
<string>#expression</string>
699+
</dict>
700+
</array>
701+
</dict>
670702
<key>destructuring-parameter</key>
671703
<dict>
672704
<key>patterns</key>
@@ -1393,6 +1425,10 @@
13931425
<key>include</key>
13941426
<string>#comment</string>
13951427
</dict>
1428+
<dict>
1429+
<key>include</key>
1430+
<string>#decorator</string>
1431+
</dict>
13961432
<dict>
13971433
<key>include</key>
13981434
<string>#destructuring-parameter</string>

TypeScriptReact.YAML-tmLanguage

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,7 @@ repository:
205205
declaration:
206206
name: meta.declaration.tsx
207207
patterns:
208+
- include: '#decorator'
208209
- include: '#var-expr'
209210
- include: '#function-declaration'
210211
- include: '#class-or-interface-declaration'
@@ -215,6 +216,15 @@ repository:
215216
- include: '#import-declaration'
216217
- include: '#export-declaration'
217218

219+
decorator:
220+
name: meta.decorator.tsx
221+
begin: \@
222+
beginCaptures:
223+
'0': { name: punctuation.decorator.tsx }
224+
end: (?=\s)
225+
patterns:
226+
- include: '#expression'
227+
218228
type-declaration:
219229
name: meta.type.declaration.tsx
220230
begin: (?:(\bexport)\s+)?\b(type)\b\s+([a-zA-Z_$][\w$]*)\s*
@@ -420,6 +430,7 @@ repository:
420430
patterns:
421431
- include: "#string"
422432
- include: '#comment'
433+
- include: '#decorator'
423434
- include: '#field-declaration'
424435
- include: '#method-declaration'
425436
- include: '#indexer-declaration'
@@ -708,6 +719,7 @@ repository:
708719
'0': { name: punctuation.definition.parameters.end.tsx }
709720
patterns:
710721
- include: '#comment'
722+
- include: '#decorator'
711723
- include: '#destructuring-parameter'
712724
- include: '#parameter-name'
713725
- include: '#type-annotation'

TypeScriptReact.tmLanguage

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,10 @@
256256
<key>include</key>
257257
<string>#comment</string>
258258
</dict>
259+
<dict>
260+
<key>include</key>
261+
<string>#decorator</string>
262+
</dict>
259263
<dict>
260264
<key>include</key>
261265
<string>#field-declaration</string>
@@ -597,6 +601,10 @@
597601
<string>meta.declaration.tsx</string>
598602
<key>patterns</key>
599603
<array>
604+
<dict>
605+
<key>include</key>
606+
<string>#decorator</string>
607+
</dict>
600608
<dict>
601609
<key>include</key>
602610
<string>#var-expr</string>
@@ -635,6 +643,30 @@
635643
</dict>
636644
</array>
637645
</dict>
646+
<key>decorator</key>
647+
<dict>
648+
<key>begin</key>
649+
<string>\@</string>
650+
<key>beginCaptures</key>
651+
<dict>
652+
<key>0</key>
653+
<dict>
654+
<key>name</key>
655+
<string>punctuation.decorator.tsx</string>
656+
</dict>
657+
</dict>
658+
<key>end</key>
659+
<string>(?=\s)</string>
660+
<key>name</key>
661+
<string>meta.decorator.tsx</string>
662+
<key>patterns</key>
663+
<array>
664+
<dict>
665+
<key>include</key>
666+
<string>#expression</string>
667+
</dict>
668+
</array>
669+
</dict>
638670
<key>destructuring-parameter</key>
639671
<dict>
640672
<key>patterns</key>
@@ -1361,6 +1393,10 @@
13611393
<key>include</key>
13621394
<string>#comment</string>
13631395
</dict>
1396+
<dict>
1397+
<key>include</key>
1398+
<string>#decorator</string>
1399+
</dict>
13641400
<dict>
13651401
<key>include</key>
13661402
<string>#destructuring-parameter</string>

0 commit comments

Comments
 (0)