@typespec/compiler 1.10.0-dev.7 → 1.10.0-dev.8

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.
Files changed (48) hide show
  1. package/dist/manifest.js +2 -2
  2. package/dist/src/core/binder.d.ts.map +1 -1
  3. package/dist/src/core/binder.js +23 -11
  4. package/dist/src/core/binder.js.map +1 -1
  5. package/dist/src/core/checker.d.ts.map +1 -1
  6. package/dist/src/core/checker.js +77 -9
  7. package/dist/src/core/checker.js.map +1 -1
  8. package/dist/src/core/helpers/syntax-utils.d.ts.map +1 -1
  9. package/dist/src/core/helpers/syntax-utils.js +11 -3
  10. package/dist/src/core/helpers/syntax-utils.js.map +1 -1
  11. package/dist/src/core/messages.d.ts +32 -30
  12. package/dist/src/core/messages.d.ts.map +1 -1
  13. package/dist/src/core/messages.js +6 -8
  14. package/dist/src/core/messages.js.map +1 -1
  15. package/dist/src/core/modifiers.d.ts +14 -0
  16. package/dist/src/core/modifiers.d.ts.map +1 -0
  17. package/dist/src/core/modifiers.js +166 -0
  18. package/dist/src/core/modifiers.js.map +1 -0
  19. package/dist/src/core/name-resolver.d.ts.map +1 -1
  20. package/dist/src/core/name-resolver.js +2 -0
  21. package/dist/src/core/name-resolver.js.map +1 -1
  22. package/dist/src/core/parser.d.ts.map +1 -1
  23. package/dist/src/core/parser.js +120 -95
  24. package/dist/src/core/parser.js.map +1 -1
  25. package/dist/src/core/scanner.d.ts +46 -46
  26. package/dist/src/core/scanner.d.ts.map +1 -1
  27. package/dist/src/core/scanner.js +50 -51
  28. package/dist/src/core/scanner.js.map +1 -1
  29. package/dist/src/core/source-loader.d.ts.map +1 -1
  30. package/dist/src/core/source-loader.js +2 -0
  31. package/dist/src/core/source-loader.js.map +1 -1
  32. package/dist/src/core/types.d.ts +29 -10
  33. package/dist/src/core/types.d.ts.map +1 -1
  34. package/dist/src/core/types.js +2 -1
  35. package/dist/src/core/types.js.map +1 -1
  36. package/dist/src/formatter/print/printer.d.ts +2 -2
  37. package/dist/src/formatter/print/printer.d.ts.map +1 -1
  38. package/dist/src/formatter/print/printer.js +42 -5
  39. package/dist/src/formatter/print/printer.js.map +1 -1
  40. package/dist/src/server/completion.js +1 -0
  41. package/dist/src/server/completion.js.map +1 -1
  42. package/dist/src/server/tmlanguage.d.ts +1 -1
  43. package/dist/src/server/tmlanguage.d.ts.map +1 -1
  44. package/dist/src/server/tmlanguage.js +39 -29
  45. package/dist/src/server/tmlanguage.js.map +1 -1
  46. package/dist/typespec.tmLanguage +103 -53
  47. package/lib/prototypes.tsp +2 -1
  48. package/package.json +1 -1
@@ -36,7 +36,7 @@
36
36
  </dict>
37
37
  </dict>
38
38
  <key>end</key>
39
- <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
39
+ <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
40
40
  <key>patterns</key>
41
41
  <array>
42
42
  <dict>
@@ -50,22 +50,27 @@
50
50
  <key>name</key>
51
51
  <string>meta.alias-statement.typespec</string>
52
52
  <key>begin</key>
53
- <string>\b(alias)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)\s*</string>
53
+ <string>(?:(internal)\s+)?\b(alias)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)\s*</string>
54
54
  <key>beginCaptures</key>
55
55
  <dict>
56
56
  <key>1</key>
57
57
  <dict>
58
58
  <key>name</key>
59
- <string>keyword.other.tsp</string>
59
+ <string>storage.modifier.tsp</string>
60
60
  </dict>
61
61
  <key>2</key>
62
+ <dict>
63
+ <key>name</key>
64
+ <string>keyword.other.tsp</string>
65
+ </dict>
66
+ <key>3</key>
62
67
  <dict>
63
68
  <key>name</key>
64
69
  <string>entity.name.type.tsp</string>
65
70
  </dict>
66
71
  </dict>
67
72
  <key>end</key>
68
- <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
73
+ <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
69
74
  <key>patterns</key>
70
75
  <array>
71
76
  <dict>
@@ -98,7 +103,7 @@
98
103
  </dict>
99
104
  </dict>
100
105
  <key>end</key>
101
- <string>(?=([_$[:alpha:]]|`))|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
106
+ <string>(?=([_$[:alpha:]]|`))|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
102
107
  <key>patterns</key>
103
108
  <array>
104
109
  <dict>
@@ -177,22 +182,27 @@
177
182
  <key>name</key>
178
183
  <string>meta.const-statement.typespec</string>
179
184
  <key>begin</key>
180
- <string>\b(const)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
185
+ <string>(?:(internal)\s+)?\b(const)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
181
186
  <key>beginCaptures</key>
182
187
  <dict>
183
188
  <key>1</key>
184
189
  <dict>
185
190
  <key>name</key>
186
- <string>keyword.other.tsp</string>
191
+ <string>storage.modifier.tsp</string>
187
192
  </dict>
188
193
  <key>2</key>
194
+ <dict>
195
+ <key>name</key>
196
+ <string>keyword.other.tsp</string>
197
+ </dict>
198
+ <key>3</key>
189
199
  <dict>
190
200
  <key>name</key>
191
201
  <string>variable.name.tsp</string>
192
202
  </dict>
193
203
  </dict>
194
204
  <key>end</key>
195
- <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
205
+ <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
196
206
  <key>patterns</key>
197
207
  <array>
198
208
  <dict>
@@ -229,7 +239,7 @@
229
239
  </dict>
230
240
  </dict>
231
241
  <key>end</key>
232
- <string>(?=([_$[:alpha:]]|`))|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
242
+ <string>(?=([_$[:alpha:]]|`))|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
233
243
  <key>patterns</key>
234
244
  <array>
235
245
  <dict>
@@ -247,13 +257,13 @@
247
257
  <key>name</key>
248
258
  <string>meta.decorator-declaration-statement.typespec</string>
249
259
  <key>begin</key>
250
- <string>(?:(extern)\s+)?\b(dec)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
260
+ <string>(?:(internal)\s+)?(?:(extern)\s+)?\b(dec)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
251
261
  <key>beginCaptures</key>
252
262
  <dict>
253
263
  <key>1</key>
254
264
  <dict>
255
265
  <key>name</key>
256
- <string>keyword.other.tsp</string>
266
+ <string>storage.modifier.tsp</string>
257
267
  </dict>
258
268
  <key>2</key>
259
269
  <dict>
@@ -261,13 +271,18 @@
261
271
  <string>keyword.other.tsp</string>
262
272
  </dict>
263
273
  <key>3</key>
274
+ <dict>
275
+ <key>name</key>
276
+ <string>keyword.other.tsp</string>
277
+ </dict>
278
+ <key>4</key>
264
279
  <dict>
265
280
  <key>name</key>
266
281
  <string>entity.name.function.tsp</string>
267
282
  </dict>
268
283
  </dict>
269
284
  <key>end</key>
270
- <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
285
+ <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
271
286
  <key>patterns</key>
272
287
  <array>
273
288
  <dict>
@@ -300,7 +315,7 @@
300
315
  </dict>
301
316
  </dict>
302
317
  <key>end</key>
303
- <string>$|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
318
+ <string>$|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
304
319
  <key>patterns</key>
305
320
  <array>
306
321
  <dict>
@@ -496,7 +511,7 @@
496
511
  </dict>
497
512
  </dict>
498
513
  <key>end</key>
499
- <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
514
+ <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
500
515
  <key>patterns</key>
501
516
  <array>
502
517
  <dict>
@@ -514,22 +529,27 @@
514
529
  <key>name</key>
515
530
  <string>meta.enum-statement.typespec</string>
516
531
  <key>begin</key>
517
- <string>\b(enum)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
532
+ <string>(?:(internal)\s+)?\b(enum)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
518
533
  <key>beginCaptures</key>
519
534
  <dict>
520
535
  <key>1</key>
521
536
  <dict>
522
537
  <key>name</key>
523
- <string>keyword.other.tsp</string>
538
+ <string>storage.modifier.tsp</string>
524
539
  </dict>
525
540
  <key>2</key>
541
+ <dict>
542
+ <key>name</key>
543
+ <string>keyword.other.tsp</string>
544
+ </dict>
545
+ <key>3</key>
526
546
  <dict>
527
547
  <key>name</key>
528
548
  <string>entity.name.type.tsp</string>
529
549
  </dict>
530
550
  </dict>
531
551
  <key>end</key>
532
- <string>(?&lt;=\})|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
552
+ <string>(?&lt;=\})|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
533
553
  <key>patterns</key>
534
554
  <array>
535
555
  <dict>
@@ -608,13 +628,13 @@
608
628
  <key>name</key>
609
629
  <string>meta.function-declaration-statement.typespec</string>
610
630
  <key>begin</key>
611
- <string>(?:(extern)\s+)?\b(fn)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
631
+ <string>(?:(internal)\s+)?(?:(extern)\s+)?\b(fn)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
612
632
  <key>beginCaptures</key>
613
633
  <dict>
614
634
  <key>1</key>
615
635
  <dict>
616
636
  <key>name</key>
617
- <string>keyword.other.tsp</string>
637
+ <string>storage.modifier.tsp</string>
618
638
  </dict>
619
639
  <key>2</key>
620
640
  <dict>
@@ -622,13 +642,18 @@
622
642
  <string>keyword.other.tsp</string>
623
643
  </dict>
624
644
  <key>3</key>
645
+ <dict>
646
+ <key>name</key>
647
+ <string>keyword.other.tsp</string>
648
+ </dict>
649
+ <key>4</key>
625
650
  <dict>
626
651
  <key>name</key>
627
652
  <string>entity.name.function.tsp</string>
628
653
  </dict>
629
654
  </dict>
630
655
  <key>end</key>
631
- <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
656
+ <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
632
657
  <key>patterns</key>
633
658
  <array>
634
659
  <dict>
@@ -667,7 +692,7 @@
667
692
  </dict>
668
693
  </dict>
669
694
  <key>end</key>
670
- <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
695
+ <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
671
696
  <key>patterns</key>
672
697
  <array>
673
698
  <dict>
@@ -739,7 +764,7 @@
739
764
  </dict>
740
765
  </dict>
741
766
  <key>end</key>
742
- <string>((?=\{)|(?=;|@|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b))</string>
767
+ <string>((?=\{)|(?=;|@|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b))</string>
743
768
  <key>patterns</key>
744
769
  <array>
745
770
  <dict>
@@ -772,7 +797,7 @@
772
797
  </dict>
773
798
  </dict>
774
799
  <key>end</key>
775
- <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
800
+ <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
776
801
  <key>patterns</key>
777
802
  <array>
778
803
  <dict>
@@ -790,17 +815,22 @@
790
815
  <key>name</key>
791
816
  <string>meta.interface-statement.typespec</string>
792
817
  <key>begin</key>
793
- <string>\b(interface)\b</string>
818
+ <string>(?:(internal)\s+)?\b(interface)\b</string>
794
819
  <key>beginCaptures</key>
795
820
  <dict>
796
821
  <key>1</key>
822
+ <dict>
823
+ <key>name</key>
824
+ <string>storage.modifier.tsp</string>
825
+ </dict>
826
+ <key>2</key>
797
827
  <dict>
798
828
  <key>name</key>
799
829
  <string>keyword.other.tsp</string>
800
830
  </dict>
801
831
  </dict>
802
832
  <key>end</key>
803
- <string>(?&lt;=\})|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
833
+ <string>(?&lt;=\})|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
804
834
  <key>patterns</key>
805
835
  <array>
806
836
  <dict>
@@ -899,7 +929,7 @@
899
929
  </dict>
900
930
  </dict>
901
931
  <key>end</key>
902
- <string>((?=\{)|(?=;|@|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b))</string>
932
+ <string>((?=\{)|(?=;|@|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b))</string>
903
933
  <key>patterns</key>
904
934
  <array>
905
935
  <dict>
@@ -932,7 +962,7 @@
932
962
  </dict>
933
963
  </dict>
934
964
  <key>end</key>
935
- <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
965
+ <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
936
966
  <key>patterns</key>
937
967
  <array>
938
968
  <dict>
@@ -958,17 +988,22 @@
958
988
  <key>name</key>
959
989
  <string>meta.model-statement.typespec</string>
960
990
  <key>begin</key>
961
- <string>\b(model)\b</string>
991
+ <string>(?:(internal)\s+)?\b(model)\b</string>
962
992
  <key>beginCaptures</key>
963
993
  <dict>
964
994
  <key>1</key>
995
+ <dict>
996
+ <key>name</key>
997
+ <string>storage.modifier.tsp</string>
998
+ </dict>
999
+ <key>2</key>
965
1000
  <dict>
966
1001
  <key>name</key>
967
1002
  <string>keyword.other.tsp</string>
968
1003
  </dict>
969
1004
  </dict>
970
1005
  <key>end</key>
971
- <string>(?&lt;=\})|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
1006
+ <string>(?&lt;=\})|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
972
1007
  <key>patterns</key>
973
1008
  <array>
974
1009
  <dict>
@@ -1028,7 +1063,7 @@
1028
1063
  <key>begin</key>
1029
1064
  <string>(?=([_$[:alpha:]]|`))</string>
1030
1065
  <key>end</key>
1031
- <string>((?=\{)|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b))</string>
1066
+ <string>((?=\{)|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b))</string>
1032
1067
  <key>patterns</key>
1033
1068
  <array>
1034
1069
  <dict>
@@ -1056,7 +1091,7 @@
1056
1091
  </dict>
1057
1092
  </dict>
1058
1093
  <key>end</key>
1059
- <string>((?&lt;=\})|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b))</string>
1094
+ <string>((?&lt;=\})|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b))</string>
1060
1095
  <key>patterns</key>
1061
1096
  <array>
1062
1097
  <dict>
@@ -1148,7 +1183,7 @@
1148
1183
  </dict>
1149
1184
  </dict>
1150
1185
  <key>end</key>
1151
- <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
1186
+ <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
1152
1187
  <key>patterns</key>
1153
1188
  <array>
1154
1189
  <dict>
@@ -1176,7 +1211,7 @@
1176
1211
  </dict>
1177
1212
  </dict>
1178
1213
  <key>end</key>
1179
- <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
1214
+ <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
1180
1215
  <key>patterns</key>
1181
1216
  <array>
1182
1217
  <dict>
@@ -1260,22 +1295,27 @@
1260
1295
  <key>name</key>
1261
1296
  <string>meta.operation-statement.typespec</string>
1262
1297
  <key>begin</key>
1263
- <string>\b(op)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
1298
+ <string>(?:(internal)\s+)?\b(op)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
1264
1299
  <key>beginCaptures</key>
1265
1300
  <dict>
1266
1301
  <key>1</key>
1267
1302
  <dict>
1268
1303
  <key>name</key>
1269
- <string>keyword.other.tsp</string>
1304
+ <string>storage.modifier.tsp</string>
1270
1305
  </dict>
1271
1306
  <key>2</key>
1307
+ <dict>
1308
+ <key>name</key>
1309
+ <string>keyword.other.tsp</string>
1310
+ </dict>
1311
+ <key>3</key>
1272
1312
  <dict>
1273
1313
  <key>name</key>
1274
1314
  <string>entity.name.function.tsp</string>
1275
1315
  </dict>
1276
1316
  </dict>
1277
1317
  <key>end</key>
1278
- <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
1318
+ <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
1279
1319
  <key>patterns</key>
1280
1320
  <array>
1281
1321
  <dict>
@@ -1416,7 +1456,7 @@
1416
1456
  </dict>
1417
1457
  </dict>
1418
1458
  <key>end</key>
1419
- <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
1459
+ <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
1420
1460
  <key>patterns</key>
1421
1461
  <array>
1422
1462
  <dict>
@@ -1444,7 +1484,7 @@
1444
1484
  </dict>
1445
1485
  </dict>
1446
1486
  <key>end</key>
1447
- <string>(?=;|@|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
1487
+ <string>(?=;|@|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
1448
1488
  <key>patterns</key>
1449
1489
  <array>
1450
1490
  <dict>
@@ -1462,22 +1502,27 @@
1462
1502
  <key>name</key>
1463
1503
  <string>meta.scalar-statement.typespec</string>
1464
1504
  <key>begin</key>
1465
- <string>\b(scalar)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
1505
+ <string>(?:(internal)\s+)?\b(scalar)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
1466
1506
  <key>beginCaptures</key>
1467
1507
  <dict>
1468
1508
  <key>1</key>
1469
1509
  <dict>
1470
1510
  <key>name</key>
1471
- <string>keyword.other.tsp</string>
1511
+ <string>storage.modifier.tsp</string>
1472
1512
  </dict>
1473
1513
  <key>2</key>
1514
+ <dict>
1515
+ <key>name</key>
1516
+ <string>keyword.other.tsp</string>
1517
+ </dict>
1518
+ <key>3</key>
1474
1519
  <dict>
1475
1520
  <key>name</key>
1476
1521
  <string>entity.name.type.tsp</string>
1477
1522
  </dict>
1478
1523
  </dict>
1479
1524
  <key>end</key>
1480
- <string>(?&lt;=\})|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
1525
+ <string>(?&lt;=\})|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
1481
1526
  <key>patterns</key>
1482
1527
  <array>
1483
1528
  <dict>
@@ -1513,7 +1558,7 @@
1513
1558
  </dict>
1514
1559
  </dict>
1515
1560
  <key>end</key>
1516
- <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
1561
+ <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
1517
1562
  <key>patterns</key>
1518
1563
  <array>
1519
1564
  <dict>
@@ -1823,7 +1868,7 @@
1823
1868
  </dict>
1824
1869
  </dict>
1825
1870
  <key>end</key>
1826
- <string>(?=&gt;)|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
1871
+ <string>(?=&gt;)|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
1827
1872
  <key>endCaptures</key>
1828
1873
  <dict>
1829
1874
  <key>0</key>
@@ -1903,7 +1948,7 @@
1903
1948
  </dict>
1904
1949
  </dict>
1905
1950
  <key>end</key>
1906
- <string>(?=&gt;)|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
1951
+ <string>(?=&gt;)|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
1907
1952
  <key>patterns</key>
1908
1953
  <array>
1909
1954
  <dict>
@@ -1935,7 +1980,7 @@
1935
1980
  </dict>
1936
1981
  </dict>
1937
1982
  <key>end</key>
1938
- <string>(?=&gt;)|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
1983
+ <string>(?=&gt;)|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
1939
1984
  <key>patterns</key>
1940
1985
  <array>
1941
1986
  <dict>
@@ -1959,7 +2004,7 @@
1959
2004
  </dict>
1960
2005
  </dict>
1961
2006
  <key>end</key>
1962
- <string>(?=&gt;)|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
2007
+ <string>(?=&gt;)|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
1963
2008
  <key>patterns</key>
1964
2009
  <array>
1965
2010
  <dict>
@@ -2019,7 +2064,7 @@
2019
2064
  </dict>
2020
2065
  </dict>
2021
2066
  <key>end</key>
2022
- <string>(?=&gt;)|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
2067
+ <string>(?=&gt;)|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
2023
2068
  <key>patterns</key>
2024
2069
  <array>
2025
2070
  <dict>
@@ -2085,22 +2130,27 @@
2085
2130
  <key>name</key>
2086
2131
  <string>meta.union-statement.typespec</string>
2087
2132
  <key>begin</key>
2088
- <string>\b(union)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
2133
+ <string>(?:(internal)\s+)?\b(union)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
2089
2134
  <key>beginCaptures</key>
2090
2135
  <dict>
2091
2136
  <key>1</key>
2092
2137
  <dict>
2093
2138
  <key>name</key>
2094
- <string>keyword.other.tsp</string>
2139
+ <string>storage.modifier.tsp</string>
2095
2140
  </dict>
2096
2141
  <key>2</key>
2142
+ <dict>
2143
+ <key>name</key>
2144
+ <string>keyword.other.tsp</string>
2145
+ </dict>
2146
+ <key>3</key>
2097
2147
  <dict>
2098
2148
  <key>name</key>
2099
2149
  <string>entity.name.type.tsp</string>
2100
2150
  </dict>
2101
2151
  </dict>
2102
2152
  <key>end</key>
2103
- <string>(?&lt;=\})|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
2153
+ <string>(?&lt;=\})|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
2104
2154
  <key>patterns</key>
2105
2155
  <array>
2106
2156
  <dict>
@@ -2133,7 +2183,7 @@
2133
2183
  </dict>
2134
2184
  </dict>
2135
2185
  <key>end</key>
2136
- <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
2186
+ <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
2137
2187
  <key>patterns</key>
2138
2188
  <array>
2139
2189
  <dict>
@@ -2161,7 +2211,7 @@
2161
2211
  </dict>
2162
2212
  </dict>
2163
2213
  <key>end</key>
2164
- <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
2214
+ <string>(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
2165
2215
  <key>patterns</key>
2166
2216
  <array>
2167
2217
  <dict>
@@ -2193,7 +2243,7 @@
2193
2243
  </dict>
2194
2244
  </dict>
2195
2245
  <key>end</key>
2196
- <string>(?=&gt;)|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
2246
+ <string>(?=&gt;)|(?=,|;|@|#[a-z]|\)|\}|\b(?:extern|internal)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
2197
2247
  <key>patterns</key>
2198
2248
  <array>
2199
2249
  <dict>
@@ -1,6 +1,7 @@
1
1
  namespace TypeSpec.Prototypes;
2
2
 
3
- extern dec getter(target: unknown);
3
+ #suppress "experimental-feature" "Compiler internal decorator."
4
+ internal extern dec getter(target: unknown);
4
5
 
5
6
  namespace Types {
6
7
  interface ModelProperty {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/compiler",
3
- "version": "1.10.0-dev.7",
3
+ "version": "1.10.0-dev.8",
4
4
  "description": "TypeSpec Compiler Preview",
5
5
  "author": "Microsoft Corporation",
6
6
  "license": "MIT",