@typespec/compiler 0.55.0-dev.0 → 0.55.0-dev.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generated-defs/TypeSpec.d.ts +498 -0
- package/dist/generated-defs/TypeSpec.d.ts.map +1 -0
- package/dist/generated-defs/TypeSpec.js +2 -0
- package/dist/generated-defs/TypeSpec.js.map +1 -0
- package/dist/generated-defs/TypeSpec.ts-test.d.ts +2 -0
- package/dist/generated-defs/TypeSpec.ts-test.d.ts.map +1 -0
- package/dist/generated-defs/TypeSpec.ts-test.js +45 -0
- package/dist/generated-defs/TypeSpec.ts-test.js.map +1 -0
- package/dist/manifest.js +2 -2
- package/dist/src/core/binder.d.ts.map +1 -1
- package/dist/src/core/binder.js +3 -0
- package/dist/src/core/binder.js.map +1 -1
- package/dist/src/core/checker.d.ts.map +1 -1
- package/dist/src/core/checker.js +5 -0
- package/dist/src/core/checker.js.map +1 -1
- package/dist/src/core/messages.js +1 -1
- package/dist/src/core/parser.d.ts.map +1 -1
- package/dist/src/core/parser.js +8 -1
- package/dist/src/core/parser.js.map +1 -1
- package/dist/src/core/program.d.ts.map +1 -1
- package/dist/src/core/program.js +6 -2
- package/dist/src/core/program.js.map +1 -1
- package/dist/src/core/projection-members.d.ts.map +1 -1
- package/dist/src/core/projection-members.js +4 -0
- package/dist/src/core/projection-members.js.map +1 -1
- package/dist/src/core/types.d.ts +34 -30
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/core/types.js +29 -28
- package/dist/src/core/types.js.map +1 -1
- package/dist/src/formatter/print/printer.d.ts.map +1 -1
- package/dist/src/formatter/print/printer.js +2 -0
- package/dist/src/formatter/print/printer.js.map +1 -1
- package/dist/src/lib/decorators.d.ts +40 -40
- package/dist/src/lib/decorators.d.ts.map +1 -1
- package/dist/src/lib/decorators.js +89 -89
- package/dist/src/lib/decorators.js.map +1 -1
- package/dist/src/lib/service.d.ts +3 -2
- package/dist/src/lib/service.d.ts.map +1 -1
- package/dist/src/lib/service.js +10 -2
- package/dist/src/lib/service.js.map +1 -1
- package/dist/src/server/classify.d.ts.map +1 -1
- package/dist/src/server/classify.js +3 -0
- package/dist/src/server/classify.js.map +1 -1
- package/dist/src/server/serverlib.d.ts.map +1 -1
- package/dist/src/server/serverlib.js +7 -11
- package/dist/src/server/serverlib.js.map +1 -1
- package/dist/src/server/tmlanguage.d.ts.map +1 -1
- package/dist/src/server/tmlanguage.js +64 -11
- package/dist/src/server/tmlanguage.js.map +1 -1
- package/dist/typespec.tmLanguage +226 -42
- package/lib/decorators.tsp +1 -0
- package/package.json +11 -10
- package/dist/.scripts/build-init-templates.d.ts +0 -2
- package/dist/.scripts/build-init-templates.d.ts.map +0 -1
- package/dist/.scripts/build-init-templates.js +0 -48
- package/dist/.scripts/build-init-templates.js.map +0 -1
- package/dist/.scripts/helpers.d.ts +0 -4
- package/dist/.scripts/helpers.d.ts.map +0 -1
- package/dist/.scripts/helpers.js +0 -44
- package/dist/.scripts/helpers.js.map +0 -1
package/dist/typespec.tmLanguage
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<string>source.tsp</string>
|
|
11
11
|
<key>fileTypes</key>
|
|
12
12
|
<array>
|
|
13
|
-
<string
|
|
13
|
+
<string>tsp</string>
|
|
14
14
|
</array>
|
|
15
15
|
<key>patterns</key>
|
|
16
16
|
<array>
|
|
@@ -140,7 +140,7 @@
|
|
|
140
140
|
<key>name</key>
|
|
141
141
|
<string>meta.decorator-declaration-statement.typespec</string>
|
|
142
142
|
<key>begin</key>
|
|
143
|
-
<string>(?:(extern)\s+)?\b(dec)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b)</string>
|
|
143
|
+
<string>(?:(extern)\s+)?\b(dec)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
|
|
144
144
|
<key>beginCaptures</key>
|
|
145
145
|
<dict>
|
|
146
146
|
<key>1</key>
|
|
@@ -256,7 +256,7 @@
|
|
|
256
256
|
<key>name</key>
|
|
257
257
|
<string>comment.block.tsp</string>
|
|
258
258
|
<key>match</key>
|
|
259
|
-
<string>(?x)((@)(?:param|template))\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b)\b</string>
|
|
259
|
+
<string>(?x)((@)(?:param|template))\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)\b</string>
|
|
260
260
|
<key>captures</key>
|
|
261
261
|
<dict>
|
|
262
262
|
<key>1</key>
|
|
@@ -301,7 +301,7 @@
|
|
|
301
301
|
<key>name</key>
|
|
302
302
|
<string>comment.block.tsp</string>
|
|
303
303
|
<key>match</key>
|
|
304
|
-
<string>(?x)((@)(?:\b[_$[:alpha:]][_$[:alnum:]]*\b))\b</string>
|
|
304
|
+
<string>(?x)((@)(?:\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`))\b</string>
|
|
305
305
|
<key>captures</key>
|
|
306
306
|
<dict>
|
|
307
307
|
<key>1</key>
|
|
@@ -377,12 +377,93 @@
|
|
|
377
377
|
</dict>
|
|
378
378
|
</array>
|
|
379
379
|
</dict>
|
|
380
|
+
<key>enum-body</key>
|
|
381
|
+
<dict>
|
|
382
|
+
<key>name</key>
|
|
383
|
+
<string>meta.enum-body.typespec</string>
|
|
384
|
+
<key>begin</key>
|
|
385
|
+
<string>\{</string>
|
|
386
|
+
<key>beginCaptures</key>
|
|
387
|
+
<dict>
|
|
388
|
+
<key>0</key>
|
|
389
|
+
<dict>
|
|
390
|
+
<key>name</key>
|
|
391
|
+
<string>punctuation.curlybrace.open.tsp</string>
|
|
392
|
+
</dict>
|
|
393
|
+
</dict>
|
|
394
|
+
<key>end</key>
|
|
395
|
+
<string>\}</string>
|
|
396
|
+
<key>endCaptures</key>
|
|
397
|
+
<dict>
|
|
398
|
+
<key>0</key>
|
|
399
|
+
<dict>
|
|
400
|
+
<key>name</key>
|
|
401
|
+
<string>punctuation.curlybrace.close.tsp</string>
|
|
402
|
+
</dict>
|
|
403
|
+
</dict>
|
|
404
|
+
<key>patterns</key>
|
|
405
|
+
<array>
|
|
406
|
+
<dict>
|
|
407
|
+
<key>include</key>
|
|
408
|
+
<string>#enum-member</string>
|
|
409
|
+
</dict>
|
|
410
|
+
<dict>
|
|
411
|
+
<key>include</key>
|
|
412
|
+
<string>#token</string>
|
|
413
|
+
</dict>
|
|
414
|
+
<dict>
|
|
415
|
+
<key>include</key>
|
|
416
|
+
<string>#directive</string>
|
|
417
|
+
</dict>
|
|
418
|
+
<dict>
|
|
419
|
+
<key>include</key>
|
|
420
|
+
<string>#decorator</string>
|
|
421
|
+
</dict>
|
|
422
|
+
<dict>
|
|
423
|
+
<key>include</key>
|
|
424
|
+
<string>#punctuation-comma</string>
|
|
425
|
+
</dict>
|
|
426
|
+
</array>
|
|
427
|
+
</dict>
|
|
428
|
+
<key>enum-member</key>
|
|
429
|
+
<dict>
|
|
430
|
+
<key>name</key>
|
|
431
|
+
<string>meta.enum-member.typespec</string>
|
|
432
|
+
<key>begin</key>
|
|
433
|
+
<string>(?:(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)\s*(:?))</string>
|
|
434
|
+
<key>beginCaptures</key>
|
|
435
|
+
<dict>
|
|
436
|
+
<key>1</key>
|
|
437
|
+
<dict>
|
|
438
|
+
<key>name</key>
|
|
439
|
+
<string>variable.name.tsp</string>
|
|
440
|
+
</dict>
|
|
441
|
+
<key>2</key>
|
|
442
|
+
<dict>
|
|
443
|
+
<key>name</key>
|
|
444
|
+
<string>keyword.operator.type.annotation.tsp</string>
|
|
445
|
+
</dict>
|
|
446
|
+
</dict>
|
|
447
|
+
<key>end</key>
|
|
448
|
+
<string>(?=,|;|@|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
|
|
449
|
+
<key>patterns</key>
|
|
450
|
+
<array>
|
|
451
|
+
<dict>
|
|
452
|
+
<key>include</key>
|
|
453
|
+
<string>#token</string>
|
|
454
|
+
</dict>
|
|
455
|
+
<dict>
|
|
456
|
+
<key>include</key>
|
|
457
|
+
<string>#type-annotation</string>
|
|
458
|
+
</dict>
|
|
459
|
+
</array>
|
|
460
|
+
</dict>
|
|
380
461
|
<key>enum-statement</key>
|
|
381
462
|
<dict>
|
|
382
463
|
<key>name</key>
|
|
383
464
|
<string>meta.enum-statement.typespec</string>
|
|
384
465
|
<key>begin</key>
|
|
385
|
-
<string>\b(enum)\b</string>
|
|
466
|
+
<string>\b(enum)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
|
|
386
467
|
<key>beginCaptures</key>
|
|
387
468
|
<dict>
|
|
388
469
|
<key>1</key>
|
|
@@ -390,6 +471,11 @@
|
|
|
390
471
|
<key>name</key>
|
|
391
472
|
<string>keyword.other.tsp</string>
|
|
392
473
|
</dict>
|
|
474
|
+
<key>2</key>
|
|
475
|
+
<dict>
|
|
476
|
+
<key>name</key>
|
|
477
|
+
<string>entity.name.type.tsp</string>
|
|
478
|
+
</dict>
|
|
393
479
|
</dict>
|
|
394
480
|
<key>end</key>
|
|
395
481
|
<string>(?<=\})|(?=,|;|@|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
|
|
@@ -401,7 +487,7 @@
|
|
|
401
487
|
</dict>
|
|
402
488
|
<dict>
|
|
403
489
|
<key>include</key>
|
|
404
|
-
<string>#
|
|
490
|
+
<string>#enum-body</string>
|
|
405
491
|
</dict>
|
|
406
492
|
</array>
|
|
407
493
|
</dict>
|
|
@@ -455,7 +541,7 @@
|
|
|
455
541
|
<key>name</key>
|
|
456
542
|
<string>meta.function-call.typespec</string>
|
|
457
543
|
<key>begin</key>
|
|
458
|
-
<string>(\b[_$[:alpha:]][_$[:alnum:]]*\b)\s*(\()</string>
|
|
544
|
+
<string>(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)\s*(\()</string>
|
|
459
545
|
<key>beginCaptures</key>
|
|
460
546
|
<dict>
|
|
461
547
|
<key>1</key>
|
|
@@ -492,7 +578,7 @@
|
|
|
492
578
|
<key>name</key>
|
|
493
579
|
<string>meta.function-declaration-statement.typespec</string>
|
|
494
580
|
<key>begin</key>
|
|
495
|
-
<string>(?:(extern)\s+)?\b(fn)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b)</string>
|
|
581
|
+
<string>(?:(extern)\s+)?\b(fn)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
|
|
496
582
|
<key>beginCaptures</key>
|
|
497
583
|
<dict>
|
|
498
584
|
<key>1</key>
|
|
@@ -534,7 +620,7 @@
|
|
|
534
620
|
<key>name</key>
|
|
535
621
|
<string>entity.name.type.tsp</string>
|
|
536
622
|
<key>match</key>
|
|
537
|
-
<string>\b[_$[:alpha:]][_$[:alnum:]]*\b
|
|
623
|
+
<string>\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`</string>
|
|
538
624
|
</dict>
|
|
539
625
|
<key>if-expression</key>
|
|
540
626
|
<dict>
|
|
@@ -669,7 +755,7 @@
|
|
|
669
755
|
<key>name</key>
|
|
670
756
|
<string>meta.interface-member.typespec</string>
|
|
671
757
|
<key>begin</key>
|
|
672
|
-
<string>(?:\b(op)\b\s+)?(\b[_$[:alpha:]][_$[:alnum:]]*\b)</string>
|
|
758
|
+
<string>(?:\b(op)\b\s+)?(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
|
|
673
759
|
<key>beginCaptures</key>
|
|
674
760
|
<dict>
|
|
675
761
|
<key>1</key>
|
|
@@ -719,6 +805,10 @@
|
|
|
719
805
|
<key>include</key>
|
|
720
806
|
<string>#token</string>
|
|
721
807
|
</dict>
|
|
808
|
+
<dict>
|
|
809
|
+
<key>include</key>
|
|
810
|
+
<string>#type-parameters</string>
|
|
811
|
+
</dict>
|
|
722
812
|
<dict>
|
|
723
813
|
<key>include</key>
|
|
724
814
|
<string>#interface-heritage</string>
|
|
@@ -784,7 +874,7 @@
|
|
|
784
874
|
</dict>
|
|
785
875
|
<dict>
|
|
786
876
|
<key>include</key>
|
|
787
|
-
<string>#
|
|
877
|
+
<string>#spread-operator</string>
|
|
788
878
|
</dict>
|
|
789
879
|
<dict>
|
|
790
880
|
<key>include</key>
|
|
@@ -825,7 +915,7 @@
|
|
|
825
915
|
<key>name</key>
|
|
826
916
|
<string>meta.model-property.typespec</string>
|
|
827
917
|
<key>begin</key>
|
|
828
|
-
<string>(?:(\b[_$[:alpha:]][_$[:alnum:]]*\b)|(\"(?:[^\"\\]|\\.)*\"))</string>
|
|
918
|
+
<string>(?:(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)|(\"(?:[^\"\\]|\\.)*\"))</string>
|
|
829
919
|
<key>beginCaptures</key>
|
|
830
920
|
<dict>
|
|
831
921
|
<key>1</key>
|
|
@@ -861,30 +951,6 @@
|
|
|
861
951
|
</dict>
|
|
862
952
|
</array>
|
|
863
953
|
</dict>
|
|
864
|
-
<key>model-spread-property</key>
|
|
865
|
-
<dict>
|
|
866
|
-
<key>name</key>
|
|
867
|
-
<string>meta.model-spread-property.typespec</string>
|
|
868
|
-
<key>begin</key>
|
|
869
|
-
<string>\.\.\.</string>
|
|
870
|
-
<key>beginCaptures</key>
|
|
871
|
-
<dict>
|
|
872
|
-
<key>0</key>
|
|
873
|
-
<dict>
|
|
874
|
-
<key>name</key>
|
|
875
|
-
<string>keyword.operator.spread.tsp</string>
|
|
876
|
-
</dict>
|
|
877
|
-
</dict>
|
|
878
|
-
<key>end</key>
|
|
879
|
-
<string>(?=,|;|@|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
|
|
880
|
-
<key>patterns</key>
|
|
881
|
-
<array>
|
|
882
|
-
<dict>
|
|
883
|
-
<key>include</key>
|
|
884
|
-
<string>#expression</string>
|
|
885
|
-
</dict>
|
|
886
|
-
</array>
|
|
887
|
-
</dict>
|
|
888
954
|
<key>model-statement</key>
|
|
889
955
|
<dict>
|
|
890
956
|
<key>name</key>
|
|
@@ -1076,7 +1142,7 @@
|
|
|
1076
1142
|
</dict>
|
|
1077
1143
|
<dict>
|
|
1078
1144
|
<key>include</key>
|
|
1079
|
-
<string>#
|
|
1145
|
+
<string>#spread-operator</string>
|
|
1080
1146
|
</dict>
|
|
1081
1147
|
<dict>
|
|
1082
1148
|
<key>include</key>
|
|
@@ -1111,7 +1177,7 @@
|
|
|
1111
1177
|
<key>name</key>
|
|
1112
1178
|
<string>meta.operation-statement.typespec</string>
|
|
1113
1179
|
<key>begin</key>
|
|
1114
|
-
<string>\b(op)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b)</string>
|
|
1180
|
+
<string>\b(op)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
|
|
1115
1181
|
<key>beginCaptures</key>
|
|
1116
1182
|
<dict>
|
|
1117
1183
|
<key>1</key>
|
|
@@ -1273,7 +1339,7 @@
|
|
|
1273
1339
|
<key>name</key>
|
|
1274
1340
|
<string>meta.projection-parameter.typespec</string>
|
|
1275
1341
|
<key>begin</key>
|
|
1276
|
-
<string>(\b[_$[:alpha:]][_$[:alnum:]]*\b)</string>
|
|
1342
|
+
<string>(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
|
|
1277
1343
|
<key>beginCaptures</key>
|
|
1278
1344
|
<dict>
|
|
1279
1345
|
<key>1</key>
|
|
@@ -1328,7 +1394,7 @@
|
|
|
1328
1394
|
<key>name</key>
|
|
1329
1395
|
<string>meta.projection-statement.typespec</string>
|
|
1330
1396
|
<key>begin</key>
|
|
1331
|
-
<string>\b(projection)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b)(#)(\b[_$[:alpha:]][_$[:alnum:]]*\b)</string>
|
|
1397
|
+
<string>\b(projection)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)(#)(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
|
|
1332
1398
|
<key>beginCaptures</key>
|
|
1333
1399
|
<dict>
|
|
1334
1400
|
<key>1</key>
|
|
@@ -1479,6 +1545,30 @@
|
|
|
1479
1545
|
</dict>
|
|
1480
1546
|
</array>
|
|
1481
1547
|
</dict>
|
|
1548
|
+
<key>spread-operator</key>
|
|
1549
|
+
<dict>
|
|
1550
|
+
<key>name</key>
|
|
1551
|
+
<string>meta.spread-operator.typespec</string>
|
|
1552
|
+
<key>begin</key>
|
|
1553
|
+
<string>\.\.\.</string>
|
|
1554
|
+
<key>beginCaptures</key>
|
|
1555
|
+
<dict>
|
|
1556
|
+
<key>0</key>
|
|
1557
|
+
<dict>
|
|
1558
|
+
<key>name</key>
|
|
1559
|
+
<string>keyword.operator.spread.tsp</string>
|
|
1560
|
+
</dict>
|
|
1561
|
+
</dict>
|
|
1562
|
+
<key>end</key>
|
|
1563
|
+
<string>(?=,|;|@|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
|
|
1564
|
+
<key>patterns</key>
|
|
1565
|
+
<array>
|
|
1566
|
+
<dict>
|
|
1567
|
+
<key>include</key>
|
|
1568
|
+
<string>#expression</string>
|
|
1569
|
+
</dict>
|
|
1570
|
+
</array>
|
|
1571
|
+
</dict>
|
|
1482
1572
|
<key>statement</key>
|
|
1483
1573
|
<dict>
|
|
1484
1574
|
<key>patterns</key>
|
|
@@ -1773,7 +1863,7 @@
|
|
|
1773
1863
|
<key>name</key>
|
|
1774
1864
|
<string>meta.type-parameter.typespec</string>
|
|
1775
1865
|
<key>begin</key>
|
|
1776
|
-
<string>(\b[_$[:alpha:]][_$[:alnum:]]*\b)</string>
|
|
1866
|
+
<string>(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
|
|
1777
1867
|
<key>beginCaptures</key>
|
|
1778
1868
|
<dict>
|
|
1779
1869
|
<key>1</key>
|
|
@@ -1786,6 +1876,10 @@
|
|
|
1786
1876
|
<string>(?=>)|(?=,|;|@|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
|
|
1787
1877
|
<key>patterns</key>
|
|
1788
1878
|
<array>
|
|
1879
|
+
<dict>
|
|
1880
|
+
<key>include</key>
|
|
1881
|
+
<string>#token</string>
|
|
1882
|
+
</dict>
|
|
1789
1883
|
<dict>
|
|
1790
1884
|
<key>include</key>
|
|
1791
1885
|
<string>#type-parameter-constraint</string>
|
|
@@ -1880,12 +1974,64 @@
|
|
|
1880
1974
|
</dict>
|
|
1881
1975
|
</array>
|
|
1882
1976
|
</dict>
|
|
1977
|
+
<key>union-body</key>
|
|
1978
|
+
<dict>
|
|
1979
|
+
<key>name</key>
|
|
1980
|
+
<string>meta.union-body.typespec</string>
|
|
1981
|
+
<key>begin</key>
|
|
1982
|
+
<string>\{</string>
|
|
1983
|
+
<key>beginCaptures</key>
|
|
1984
|
+
<dict>
|
|
1985
|
+
<key>0</key>
|
|
1986
|
+
<dict>
|
|
1987
|
+
<key>name</key>
|
|
1988
|
+
<string>punctuation.curlybrace.open.tsp</string>
|
|
1989
|
+
</dict>
|
|
1990
|
+
</dict>
|
|
1991
|
+
<key>end</key>
|
|
1992
|
+
<string>\}</string>
|
|
1993
|
+
<key>endCaptures</key>
|
|
1994
|
+
<dict>
|
|
1995
|
+
<key>0</key>
|
|
1996
|
+
<dict>
|
|
1997
|
+
<key>name</key>
|
|
1998
|
+
<string>punctuation.curlybrace.close.tsp</string>
|
|
1999
|
+
</dict>
|
|
2000
|
+
</dict>
|
|
2001
|
+
<key>patterns</key>
|
|
2002
|
+
<array>
|
|
2003
|
+
<dict>
|
|
2004
|
+
<key>include</key>
|
|
2005
|
+
<string>#union-variant</string>
|
|
2006
|
+
</dict>
|
|
2007
|
+
<dict>
|
|
2008
|
+
<key>include</key>
|
|
2009
|
+
<string>#token</string>
|
|
2010
|
+
</dict>
|
|
2011
|
+
<dict>
|
|
2012
|
+
<key>include</key>
|
|
2013
|
+
<string>#directive</string>
|
|
2014
|
+
</dict>
|
|
2015
|
+
<dict>
|
|
2016
|
+
<key>include</key>
|
|
2017
|
+
<string>#decorator</string>
|
|
2018
|
+
</dict>
|
|
2019
|
+
<dict>
|
|
2020
|
+
<key>include</key>
|
|
2021
|
+
<string>#expression</string>
|
|
2022
|
+
</dict>
|
|
2023
|
+
<dict>
|
|
2024
|
+
<key>include</key>
|
|
2025
|
+
<string>#punctuation-comma</string>
|
|
2026
|
+
</dict>
|
|
2027
|
+
</array>
|
|
2028
|
+
</dict>
|
|
1883
2029
|
<key>union-statement</key>
|
|
1884
2030
|
<dict>
|
|
1885
2031
|
<key>name</key>
|
|
1886
2032
|
<string>meta.union-statement.typespec</string>
|
|
1887
2033
|
<key>begin</key>
|
|
1888
|
-
<string>\b(union)\b</string>
|
|
2034
|
+
<string>\b(union)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
|
|
1889
2035
|
<key>beginCaptures</key>
|
|
1890
2036
|
<dict>
|
|
1891
2037
|
<key>1</key>
|
|
@@ -1893,10 +2039,48 @@
|
|
|
1893
2039
|
<key>name</key>
|
|
1894
2040
|
<string>keyword.other.tsp</string>
|
|
1895
2041
|
</dict>
|
|
2042
|
+
<key>2</key>
|
|
2043
|
+
<dict>
|
|
2044
|
+
<key>name</key>
|
|
2045
|
+
<string>entity.name.type.tsp</string>
|
|
2046
|
+
</dict>
|
|
1896
2047
|
</dict>
|
|
1897
2048
|
<key>end</key>
|
|
1898
2049
|
<string>(?<=\})|(?=,|;|@|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
|
|
1899
2050
|
<key>patterns</key>
|
|
2051
|
+
<array>
|
|
2052
|
+
<dict>
|
|
2053
|
+
<key>include</key>
|
|
2054
|
+
<string>#token</string>
|
|
2055
|
+
</dict>
|
|
2056
|
+
<dict>
|
|
2057
|
+
<key>include</key>
|
|
2058
|
+
<string>#union-body</string>
|
|
2059
|
+
</dict>
|
|
2060
|
+
</array>
|
|
2061
|
+
</dict>
|
|
2062
|
+
<key>union-variant</key>
|
|
2063
|
+
<dict>
|
|
2064
|
+
<key>name</key>
|
|
2065
|
+
<string>meta.union-variant.typespec</string>
|
|
2066
|
+
<key>begin</key>
|
|
2067
|
+
<string>(?:(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)\s*(:))</string>
|
|
2068
|
+
<key>beginCaptures</key>
|
|
2069
|
+
<dict>
|
|
2070
|
+
<key>1</key>
|
|
2071
|
+
<dict>
|
|
2072
|
+
<key>name</key>
|
|
2073
|
+
<string>variable.name.tsp</string>
|
|
2074
|
+
</dict>
|
|
2075
|
+
<key>2</key>
|
|
2076
|
+
<dict>
|
|
2077
|
+
<key>name</key>
|
|
2078
|
+
<string>keyword.operator.type.annotation.tsp</string>
|
|
2079
|
+
</dict>
|
|
2080
|
+
</dict>
|
|
2081
|
+
<key>end</key>
|
|
2082
|
+
<string>(?=,|;|@|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
|
|
2083
|
+
<key>patterns</key>
|
|
1900
2084
|
<array>
|
|
1901
2085
|
<dict>
|
|
1902
2086
|
<key>include</key>
|
package/lib/decorators.tsp
CHANGED
|
@@ -366,6 +366,7 @@ extern dec overload(target: Operation, overloadbase: Operation);
|
|
|
366
366
|
* }
|
|
367
367
|
* ```
|
|
368
368
|
*/
|
|
369
|
+
#deprecated "Use `@encodedName` instead for changing the name over the wire."
|
|
369
370
|
extern dec projectedName(
|
|
370
371
|
target: unknown,
|
|
371
372
|
targetName: valueof string,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typespec/compiler",
|
|
3
|
-
"version": "0.55.0-dev.
|
|
3
|
+
"version": "0.55.0-dev.10",
|
|
4
4
|
"description": "TypeSpec Compiler Preview",
|
|
5
5
|
"author": "Microsoft Corporation",
|
|
6
6
|
"license": "MIT",
|
|
@@ -63,8 +63,8 @@
|
|
|
63
63
|
"dependencies": {
|
|
64
64
|
"@babel/code-frame": "~7.23.5",
|
|
65
65
|
"ajv": "~8.12.0",
|
|
66
|
-
"change-case": "~5.4.
|
|
67
|
-
"globby": "~14.0.
|
|
66
|
+
"change-case": "~5.4.3",
|
|
67
|
+
"globby": "~14.0.1",
|
|
68
68
|
"mustache": "~4.2.0",
|
|
69
69
|
"picocolors": "~1.0.0",
|
|
70
70
|
"prettier": "~3.2.5",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"semver": "^7.6.0",
|
|
73
73
|
"vscode-languageserver": "~9.0.1",
|
|
74
74
|
"vscode-languageserver-textdocument": "~1.0.11",
|
|
75
|
-
"yaml": "~2.
|
|
75
|
+
"yaml": "~2.4.1",
|
|
76
76
|
"yargs": "~17.7.2"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
@@ -80,23 +80,23 @@
|
|
|
80
80
|
"@types/mustache": "~4.2.5",
|
|
81
81
|
"@types/node": "~18.11.19",
|
|
82
82
|
"@types/prompts": "~2.4.9",
|
|
83
|
-
"@types/semver": "^7.5.
|
|
83
|
+
"@types/semver": "^7.5.8",
|
|
84
84
|
"@types/sinon": "~17.0.3",
|
|
85
85
|
"@types/yargs": "~17.0.32",
|
|
86
86
|
"@typespec/eslint-config-typespec": "~0.54.0 || >=0.55.0-dev <0.55.0",
|
|
87
87
|
"@typespec/internal-build-utils": "~0.54.0 || >=0.55.0-dev <0.55.0",
|
|
88
|
-
"@vitest/coverage-v8": "^1.
|
|
89
|
-
"@vitest/ui": "^1.
|
|
88
|
+
"@vitest/coverage-v8": "^1.4.0",
|
|
89
|
+
"@vitest/ui": "^1.4.0",
|
|
90
90
|
"c8": "^9.1.0",
|
|
91
|
-
"eslint": "^8.
|
|
91
|
+
"eslint": "^8.57.0",
|
|
92
92
|
"grammarkdown": "~3.3.2",
|
|
93
93
|
"rimraf": "~5.0.5",
|
|
94
94
|
"sinon": "~17.0.1",
|
|
95
95
|
"source-map-support": "~0.5.21",
|
|
96
96
|
"tmlanguage-generator": "~0.5.3 || >=0.6.0-dev <0.6.0",
|
|
97
97
|
"ts-node": "~10.9.2",
|
|
98
|
-
"typescript": "~5.
|
|
99
|
-
"vitest": "^1.
|
|
98
|
+
"typescript": "~5.4.2",
|
|
99
|
+
"vitest": "^1.4.0",
|
|
100
100
|
"vscode-oniguruma": "~2.0.1",
|
|
101
101
|
"vscode-textmate": "~9.0.0"
|
|
102
102
|
},
|
|
@@ -109,6 +109,7 @@
|
|
|
109
109
|
"watch": "tsc -p . --watch",
|
|
110
110
|
"watch-tmlanguage": "node scripts/watch-tmlanguage.js",
|
|
111
111
|
"generate-tmlanguage": "node scripts/generate-tmlanguage.js",
|
|
112
|
+
"gen-extern-signature": "node --no-warnings --experimental-specifier-resolution=node --loader ts-node/esm ./.scripts/gen-extern-signature.ts",
|
|
112
113
|
"dogfood": "node scripts/dogfood.js",
|
|
113
114
|
"test": "vitest run",
|
|
114
115
|
"test:ui": "vitest --ui",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-init-templates.d.ts","sourceRoot":"","sources":["../../.scripts/build-init-templates.ts"],"names":[],"mappings":""}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { mkdir, readFile, writeFile } from "fs/promises";
|
|
2
|
-
import { resolve } from "path/posix";
|
|
3
|
-
import { localDir, packageRoot } from "./helpers.js";
|
|
4
|
-
const pkgJson = JSON.parse((await readFile(resolve(packageRoot, "package.json"))).toString("utf-8"));
|
|
5
|
-
const minCompilerVersion = pkgJson.version;
|
|
6
|
-
const builtInTemplates = {
|
|
7
|
-
empty: {
|
|
8
|
-
title: "Empty project",
|
|
9
|
-
description: "Create an empty project.",
|
|
10
|
-
libraries: [],
|
|
11
|
-
compilerVersion: minCompilerVersion,
|
|
12
|
-
},
|
|
13
|
-
rest: {
|
|
14
|
-
title: "Generic REST API",
|
|
15
|
-
description: "Create a project representing a generic REST API",
|
|
16
|
-
compilerVersion: minCompilerVersion,
|
|
17
|
-
libraries: ["@typespec/http", "@typespec/rest", "@typespec/openapi3"],
|
|
18
|
-
config: {
|
|
19
|
-
emit: ["@typespec/openapi3"],
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
"library-ts": {
|
|
23
|
-
title: "TypeSpec Library (With TypeScript)",
|
|
24
|
-
description: "Create a new package to add decorators or linters to typespec.",
|
|
25
|
-
compilerVersion: minCompilerVersion,
|
|
26
|
-
libraries: [],
|
|
27
|
-
files: [
|
|
28
|
-
{ destination: "main.tsp", skipGeneration: true },
|
|
29
|
-
{ destination: "tspconfig.yaml", skipGeneration: true },
|
|
30
|
-
...(await localDir("library-ts")),
|
|
31
|
-
],
|
|
32
|
-
},
|
|
33
|
-
"emitter-ts": {
|
|
34
|
-
title: "TypeSpec Emitter (With TypeScript)",
|
|
35
|
-
description: "Create a new package that will be emitting typespec",
|
|
36
|
-
compilerVersion: minCompilerVersion,
|
|
37
|
-
libraries: [],
|
|
38
|
-
files: [
|
|
39
|
-
{ destination: "main.tsp", skipGeneration: true },
|
|
40
|
-
{ destination: "tspconfig.yaml", skipGeneration: true },
|
|
41
|
-
...(await localDir("emitter-ts")),
|
|
42
|
-
],
|
|
43
|
-
},
|
|
44
|
-
};
|
|
45
|
-
const distDir = resolve(packageRoot, "dist");
|
|
46
|
-
await mkdir(distDir, { recursive: true });
|
|
47
|
-
await writeFile(resolve(packageRoot, "templates", "scaffolding.json"), JSON.stringify(builtInTemplates, null, 2));
|
|
48
|
-
//# sourceMappingURL=build-init-templates.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-init-templates.js","sourceRoot":"","sources":["../../.scripts/build-init-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CACzE,CAAC;AACF,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;AAE3C,MAAM,gBAAgB,GAAiC;IACrD,KAAK,EAAE;QACL,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,0BAA0B;QACvC,SAAS,EAAE,EAAE;QACb,eAAe,EAAE,kBAAkB;KACpC;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,kDAAkD;QAC/D,eAAe,EAAE,kBAAkB;QACnC,SAAS,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,CAAC;QACrE,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,oBAAoB,CAAC;SAC7B;KACF;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,oCAAoC;QAC3C,WAAW,EAAE,gEAAgE;QAC7E,eAAe,EAAE,kBAAkB;QACnC,SAAS,EAAE,EAAE;QACb,KAAK,EAAE;YACL,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE;YACjD,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,IAAI,EAAE;YACvD,GAAG,CAAC,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;SAClC;KACF;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,oCAAoC;QAC3C,WAAW,EAAE,qDAAqD;QAClE,eAAe,EAAE,kBAAkB;QACnC,SAAS,EAAE,EAAE;QACb,KAAK,EAAE;YACL,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE;YACjD,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,IAAI,EAAE;YACvD,GAAG,CAAC,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;SAClC;KACF;CACF,CAAC;AAEF,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAC7C,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1C,MAAM,SAAS,CACb,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,kBAAkB,CAAC,EACrD,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAC1C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../.scripts/helpers.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW,QAAyD,CAAC;AA+BlF,wBAAgB,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG,CAGjE;AAED,wBAAsB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAGnE"}
|
package/dist/.scripts/helpers.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { readdir } from "fs/promises";
|
|
2
|
-
import { dirname } from "path";
|
|
3
|
-
import { join, resolve } from "path/posix";
|
|
4
|
-
import { fileURLToPath } from "url";
|
|
5
|
-
export const packageRoot = resolve(dirname(fileURLToPath(import.meta.url)), "..");
|
|
6
|
-
const templateDir = "templates";
|
|
7
|
-
function isEnoentError(e) {
|
|
8
|
-
return typeof e === "object" && e !== null && "code" in e;
|
|
9
|
-
}
|
|
10
|
-
async function readFilesInDirRecursively(dir) {
|
|
11
|
-
let entries;
|
|
12
|
-
try {
|
|
13
|
-
entries = await readdir(dir, { withFileTypes: true });
|
|
14
|
-
}
|
|
15
|
-
catch (e) {
|
|
16
|
-
if (isEnoentError(e)) {
|
|
17
|
-
return [];
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
throw new Error(`Failed to read dir "${dir}"\n Error: ${e}`);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
const files = [];
|
|
24
|
-
for (const entry of entries) {
|
|
25
|
-
if (entry.isDirectory()) {
|
|
26
|
-
for (const file of await readFilesInDirRecursively(resolve(dir, entry.name))) {
|
|
27
|
-
files.push(join(entry.name, file));
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
files.push(entry.name);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
return files;
|
|
35
|
-
}
|
|
36
|
-
export function localFile(templateName, path) {
|
|
37
|
-
const destination = path.endsWith(".mu") ? path.slice(0, -3) : path;
|
|
38
|
-
return { path: join(templateName, path), destination };
|
|
39
|
-
}
|
|
40
|
-
export async function localDir(templateName) {
|
|
41
|
-
const files = await readFilesInDirRecursively(resolve(templateDir, templateName));
|
|
42
|
-
return files.map((f) => localFile(templateName, f));
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../.scripts/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAClF,MAAM,WAAW,GAAG,WAAW,CAAC;AAEhC,SAAS,aAAa,CAAC,CAAU;IAC/B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,MAAM,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,GAAW;IAClD,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,KAAK,MAAM,IAAI,IAAI,MAAM,yBAAyB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC7E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,YAAoB,EAAE,IAAY;IAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,YAAoB;IACjD,MAAM,KAAK,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;IAClF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC"}
|