@typespec/compiler 0.57.0-dev.0 → 0.57.0-dev.5
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 +9 -9
- package/dist/generated-defs/TypeSpec.d.ts.map +1 -1
- package/dist/manifest.js +2 -2
- package/dist/src/config/types.d.ts +2 -2
- package/dist/src/config/types.d.ts.map +1 -1
- package/dist/src/core/binder.d.ts +1 -1
- package/dist/src/core/binder.d.ts.map +1 -1
- package/dist/src/core/binder.js +16 -3
- package/dist/src/core/binder.js.map +1 -1
- package/dist/src/core/checker.d.ts +11 -9
- package/dist/src/core/checker.d.ts.map +1 -1
- package/dist/src/core/checker.js +1577 -241
- package/dist/src/core/checker.js.map +1 -1
- package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.d.ts +6 -0
- package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.d.ts.map +1 -0
- package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.js +15 -0
- package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.js.map +1 -0
- package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.d.ts +6 -0
- package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.d.ts.map +1 -0
- package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.js +15 -0
- package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.js.map +1 -0
- package/dist/src/core/decorator-utils.d.ts +5 -1
- package/dist/src/core/decorator-utils.d.ts.map +1 -1
- package/dist/src/core/decorator-utils.js +11 -1
- package/dist/src/core/decorator-utils.js.map +1 -1
- package/dist/src/core/deprecation.d.ts +1 -1
- package/dist/src/core/deprecation.d.ts.map +1 -1
- package/dist/src/core/diagnostic-creator.d.ts.map +1 -1
- package/dist/src/core/diagnostic-creator.js +1 -2
- package/dist/src/core/diagnostic-creator.js.map +1 -1
- package/dist/src/core/diagnostics.js +3 -3
- package/dist/src/core/diagnostics.js.map +1 -1
- package/dist/src/core/emitter-utils.d.ts +1 -1
- package/dist/src/core/emitter-utils.d.ts.map +1 -1
- package/dist/src/core/helpers/discriminator-utils.d.ts +2 -2
- package/dist/src/core/helpers/discriminator-utils.d.ts.map +1 -1
- package/dist/src/core/helpers/discriminator-utils.js +1 -1
- package/dist/src/core/helpers/discriminator-utils.js.map +1 -1
- package/dist/src/core/helpers/index.d.ts +1 -1
- package/dist/src/core/helpers/index.d.ts.map +1 -1
- package/dist/src/core/helpers/index.js +3 -1
- package/dist/src/core/helpers/index.js.map +1 -1
- package/dist/src/core/helpers/location-context.d.ts +2 -2
- package/dist/src/core/helpers/location-context.d.ts.map +1 -1
- package/dist/src/core/helpers/projected-names-utils.d.ts +2 -2
- package/dist/src/core/helpers/projected-names-utils.d.ts.map +1 -1
- package/dist/src/core/helpers/projected-names-utils.js.map +1 -1
- package/dist/src/core/helpers/string-template-utils.d.ts +6 -6
- package/dist/src/core/helpers/string-template-utils.d.ts.map +1 -1
- package/dist/src/core/helpers/string-template-utils.js +20 -33
- package/dist/src/core/helpers/string-template-utils.js.map +1 -1
- package/dist/src/core/helpers/type-name-utils.d.ts +3 -2
- package/dist/src/core/helpers/type-name-utils.d.ts.map +1 -1
- package/dist/src/core/helpers/type-name-utils.js +57 -8
- package/dist/src/core/helpers/type-name-utils.js.map +1 -1
- package/dist/src/core/index.d.ts +4 -1
- package/dist/src/core/index.d.ts.map +1 -1
- package/dist/src/core/index.js +4 -1
- package/dist/src/core/index.js.map +1 -1
- package/dist/src/core/intrinsic-type-state.d.ts +63 -0
- package/dist/src/core/intrinsic-type-state.d.ts.map +1 -0
- package/dist/src/core/intrinsic-type-state.js +160 -0
- package/dist/src/core/intrinsic-type-state.js.map +1 -0
- package/dist/src/core/js-marshaller.d.ts +13 -0
- package/dist/src/core/js-marshaller.d.ts.map +1 -0
- package/dist/src/core/js-marshaller.js +79 -0
- package/dist/src/core/js-marshaller.js.map +1 -0
- package/dist/src/core/library.d.ts +2 -1
- package/dist/src/core/library.d.ts.map +1 -1
- package/dist/src/core/library.js +3 -0
- package/dist/src/core/library.js.map +1 -1
- package/dist/src/core/linter.d.ts +1 -1
- package/dist/src/core/linter.d.ts.map +1 -1
- package/dist/src/core/linter.js +1 -1
- package/dist/src/core/linter.js.map +1 -1
- package/dist/src/core/messages.d.ts +235 -2
- package/dist/src/core/messages.d.ts.map +1 -1
- package/dist/src/core/messages.js +74 -1
- package/dist/src/core/messages.js.map +1 -1
- package/dist/src/core/numeric-ranges.d.ts +51 -0
- package/dist/src/core/numeric-ranges.d.ts.map +1 -0
- package/dist/src/core/numeric-ranges.js +30 -0
- package/dist/src/core/numeric-ranges.js.map +1 -0
- package/dist/src/core/parser.d.ts.map +1 -1
- package/dist/src/core/parser.js +232 -5
- package/dist/src/core/parser.js.map +1 -1
- package/dist/src/core/program.d.ts +2 -45
- package/dist/src/core/program.d.ts.map +1 -1
- package/dist/src/core/program.js +3 -127
- package/dist/src/core/program.js.map +1 -1
- package/dist/src/core/projected-program.d.ts +3 -0
- package/dist/src/core/projected-program.d.ts.map +1 -0
- package/dist/src/core/projected-program.js +4 -0
- package/dist/src/core/projected-program.js.map +1 -0
- package/dist/src/core/projection-members.d.ts +2 -2
- package/dist/src/core/projection-members.d.ts.map +1 -1
- package/dist/src/core/projector.d.ts +2 -2
- package/dist/src/core/projector.d.ts.map +1 -1
- package/dist/src/core/projector.js +12 -3
- package/dist/src/core/projector.js.map +1 -1
- package/dist/src/core/scanner.d.ts +42 -37
- package/dist/src/core/scanner.d.ts.map +1 -1
- package/dist/src/core/scanner.js +67 -46
- package/dist/src/core/scanner.js.map +1 -1
- package/dist/src/core/semantic-walker.d.ts +1 -1
- package/dist/src/core/semantic-walker.d.ts.map +1 -1
- package/dist/src/core/semantic-walker.js +12 -0
- package/dist/src/core/semantic-walker.js.map +1 -1
- package/dist/src/core/state-accessors.d.ts +46 -0
- package/dist/src/core/state-accessors.d.ts.map +1 -0
- package/dist/src/core/state-accessors.js +123 -0
- package/dist/src/core/state-accessors.js.map +1 -0
- package/dist/src/core/type-utils.d.ts +18 -7
- package/dist/src/core/type-utils.d.ts.map +1 -1
- package/dist/src/core/type-utils.js +24 -5
- package/dist/src/core/type-utils.js.map +1 -1
- package/dist/src/core/types.d.ts +224 -45
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/core/types.js +8 -0
- package/dist/src/core/types.js.map +1 -1
- package/dist/src/emitter-framework/asset-emitter.d.ts +1 -1
- package/dist/src/emitter-framework/asset-emitter.d.ts.map +1 -1
- package/dist/src/emitter-framework/asset-emitter.js +4 -1
- package/dist/src/emitter-framework/asset-emitter.js.map +1 -1
- package/dist/src/emitter-framework/ref-scope.d.ts +1 -1
- package/dist/src/emitter-framework/ref-scope.d.ts.map +1 -1
- package/dist/src/emitter-framework/reference-cycle.d.ts +2 -2
- package/dist/src/emitter-framework/reference-cycle.d.ts.map +1 -1
- package/dist/src/emitter-framework/reference-cycle.js +1 -1
- package/dist/src/emitter-framework/reference-cycle.js.map +1 -1
- package/dist/src/emitter-framework/type-emitter.d.ts +2 -1
- package/dist/src/emitter-framework/type-emitter.d.ts.map +1 -1
- package/dist/src/emitter-framework/type-emitter.js +10 -2
- package/dist/src/emitter-framework/type-emitter.js.map +1 -1
- package/dist/src/emitter-framework/types.d.ts +2 -2
- package/dist/src/emitter-framework/types.d.ts.map +1 -1
- package/dist/src/formatter/print/comment-handler.d.ts.map +1 -1
- package/dist/src/formatter/print/comment-handler.js +22 -0
- package/dist/src/formatter/print/comment-handler.js.map +1 -1
- package/dist/src/formatter/print/printer.d.ts +11 -5
- package/dist/src/formatter/print/printer.d.ts.map +1 -1
- package/dist/src/formatter/print/printer.js +95 -4
- package/dist/src/formatter/print/printer.js.map +1 -1
- package/dist/src/init/file-templating.d.ts +2 -2
- package/dist/src/init/file-templating.d.ts.map +1 -1
- package/dist/src/lib/decorators.d.ts +3 -55
- package/dist/src/lib/decorators.d.ts.map +1 -1
- package/dist/src/lib/decorators.js +30 -124
- package/dist/src/lib/decorators.js.map +1 -1
- package/dist/src/lib/encoded-names.d.ts +2 -2
- package/dist/src/lib/encoded-names.d.ts.map +1 -1
- package/dist/src/lib/intrinsic-decorators.d.ts +2 -2
- package/dist/src/lib/intrinsic-decorators.d.ts.map +1 -1
- package/dist/src/lib/intrinsic-decorators.js +7 -0
- package/dist/src/lib/intrinsic-decorators.js.map +1 -1
- package/dist/src/lib/service.d.ts +1 -1
- package/dist/src/lib/service.d.ts.map +1 -1
- package/dist/src/server/classify.d.ts.map +1 -1
- package/dist/src/server/classify.js +10 -0
- package/dist/src/server/classify.js.map +1 -1
- package/dist/src/server/completion.d.ts.map +1 -1
- package/dist/src/server/completion.js +6 -0
- package/dist/src/server/completion.js.map +1 -1
- package/dist/src/server/serverlib.js +2 -2
- package/dist/src/server/serverlib.js.map +1 -1
- package/dist/src/server/tmlanguage.d.ts +1 -1
- package/dist/src/server/tmlanguage.d.ts.map +1 -1
- package/dist/src/server/tmlanguage.js +147 -20
- package/dist/src/server/tmlanguage.js.map +1 -1
- package/dist/src/server/type-details.js +1 -2
- package/dist/src/server/type-details.js.map +1 -1
- package/dist/src/server/type-signature.js +15 -6
- package/dist/src/server/type-signature.js.map +1 -1
- package/dist/src/server/types.d.ts +1 -1
- package/dist/src/server/types.d.ts.map +1 -1
- package/dist/src/testing/expect.js +1 -1
- package/dist/src/testing/expect.js.map +1 -1
- package/dist/src/testing/rule-tester.d.ts.map +1 -1
- package/dist/src/testing/rule-tester.js +1 -2
- package/dist/src/testing/rule-tester.js.map +1 -1
- package/dist/src/testing/test-host.d.ts +1 -2
- package/dist/src/testing/test-host.d.ts.map +1 -1
- package/dist/src/testing/test-host.js +1 -8
- package/dist/src/testing/test-host.js.map +1 -1
- package/dist/src/testing/test-server-host.d.ts.map +1 -1
- package/dist/src/testing/test-server-host.js +2 -1
- package/dist/src/testing/test-server-host.js.map +1 -1
- package/dist/src/testing/test-utils.d.ts +1 -0
- package/dist/src/testing/test-utils.d.ts.map +1 -1
- package/dist/src/testing/test-utils.js +7 -0
- package/dist/src/testing/test-utils.js.map +1 -1
- package/dist/typespec.tmLanguage +408 -17
- package/lib/intrinsics.tsp +55 -5
- package/package.json +1 -1
package/dist/typespec.tmLanguage
CHANGED
|
@@ -21,18 +21,18 @@
|
|
|
21
21
|
</array>
|
|
22
22
|
<key>repository</key>
|
|
23
23
|
<dict>
|
|
24
|
-
<key>alias-
|
|
24
|
+
<key>alias-id</key>
|
|
25
25
|
<dict>
|
|
26
26
|
<key>name</key>
|
|
27
|
-
<string>meta.alias-
|
|
27
|
+
<string>meta.alias-id.typespec</string>
|
|
28
28
|
<key>begin</key>
|
|
29
|
-
<string
|
|
29
|
+
<string>(=)\s*</string>
|
|
30
30
|
<key>beginCaptures</key>
|
|
31
31
|
<dict>
|
|
32
32
|
<key>1</key>
|
|
33
33
|
<dict>
|
|
34
34
|
<key>name</key>
|
|
35
|
-
<string>keyword.
|
|
35
|
+
<string>keyword.operator.assignment.tsp</string>
|
|
36
36
|
</dict>
|
|
37
37
|
</dict>
|
|
38
38
|
<key>end</key>
|
|
@@ -41,15 +41,40 @@
|
|
|
41
41
|
<array>
|
|
42
42
|
<dict>
|
|
43
43
|
<key>include</key>
|
|
44
|
-
<string>#
|
|
44
|
+
<string>#expression</string>
|
|
45
|
+
</dict>
|
|
46
|
+
</array>
|
|
47
|
+
</dict>
|
|
48
|
+
<key>alias-statement</key>
|
|
49
|
+
<dict>
|
|
50
|
+
<key>name</key>
|
|
51
|
+
<string>meta.alias-statement.typespec</string>
|
|
52
|
+
<key>begin</key>
|
|
53
|
+
<string>\b(alias)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)\s*</string>
|
|
54
|
+
<key>beginCaptures</key>
|
|
55
|
+
<dict>
|
|
56
|
+
<key>1</key>
|
|
57
|
+
<dict>
|
|
58
|
+
<key>name</key>
|
|
59
|
+
<string>keyword.other.tsp</string>
|
|
60
|
+
</dict>
|
|
61
|
+
<key>2</key>
|
|
62
|
+
<dict>
|
|
63
|
+
<key>name</key>
|
|
64
|
+
<string>entity.name.type.tsp</string>
|
|
45
65
|
</dict>
|
|
66
|
+
</dict>
|
|
67
|
+
<key>end</key>
|
|
68
|
+
<string>(?=,|;|@|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
|
|
69
|
+
<key>patterns</key>
|
|
70
|
+
<array>
|
|
46
71
|
<dict>
|
|
47
72
|
<key>include</key>
|
|
48
|
-
<string>#
|
|
73
|
+
<string>#alias-id</string>
|
|
49
74
|
</dict>
|
|
50
75
|
<dict>
|
|
51
76
|
<key>include</key>
|
|
52
|
-
<string>#
|
|
77
|
+
<string>#type-parameters</string>
|
|
53
78
|
</dict>
|
|
54
79
|
</array>
|
|
55
80
|
</dict>
|
|
@@ -58,7 +83,7 @@
|
|
|
58
83
|
<key>name</key>
|
|
59
84
|
<string>meta.augment-decorator-statement.typespec</string>
|
|
60
85
|
<key>begin</key>
|
|
61
|
-
<string>((@@)\b[_$[:alpha:]]([_$[:alnum:]]|\.[_$[:alpha:]])*\b)</string>
|
|
86
|
+
<string>((@@)\b[_$[:alpha:]](?:[_$[:alnum:]]|\.[_$[:alpha:]])*\b)</string>
|
|
62
87
|
<key>beginCaptures</key>
|
|
63
88
|
<dict>
|
|
64
89
|
<key>1</key>
|
|
@@ -102,12 +127,94 @@
|
|
|
102
127
|
<key>match</key>
|
|
103
128
|
<string>\b(true|false)\b</string>
|
|
104
129
|
</dict>
|
|
130
|
+
<key>callExpression</key>
|
|
131
|
+
<dict>
|
|
132
|
+
<key>name</key>
|
|
133
|
+
<string>meta.callExpression.typespec</string>
|
|
134
|
+
<key>begin</key>
|
|
135
|
+
<string>(\b[_$[:alpha:]](?:[_$[:alnum:]]|\.[_$[:alpha:]])*\b)\s*(\()</string>
|
|
136
|
+
<key>beginCaptures</key>
|
|
137
|
+
<dict>
|
|
138
|
+
<key>1</key>
|
|
139
|
+
<dict>
|
|
140
|
+
<key>name</key>
|
|
141
|
+
<string>entity.name.function.tsp</string>
|
|
142
|
+
</dict>
|
|
143
|
+
<key>2</key>
|
|
144
|
+
<dict>
|
|
145
|
+
<key>name</key>
|
|
146
|
+
<string>punctuation.parenthesis.open.tsp</string>
|
|
147
|
+
</dict>
|
|
148
|
+
</dict>
|
|
149
|
+
<key>end</key>
|
|
150
|
+
<string>\)</string>
|
|
151
|
+
<key>endCaptures</key>
|
|
152
|
+
<dict>
|
|
153
|
+
<key>0</key>
|
|
154
|
+
<dict>
|
|
155
|
+
<key>name</key>
|
|
156
|
+
<string>punctuation.parenthesis.close.tsp</string>
|
|
157
|
+
</dict>
|
|
158
|
+
</dict>
|
|
159
|
+
<key>patterns</key>
|
|
160
|
+
<array>
|
|
161
|
+
<dict>
|
|
162
|
+
<key>include</key>
|
|
163
|
+
<string>#token</string>
|
|
164
|
+
</dict>
|
|
165
|
+
<dict>
|
|
166
|
+
<key>include</key>
|
|
167
|
+
<string>#expression</string>
|
|
168
|
+
</dict>
|
|
169
|
+
<dict>
|
|
170
|
+
<key>include</key>
|
|
171
|
+
<string>#punctuation-comma</string>
|
|
172
|
+
</dict>
|
|
173
|
+
</array>
|
|
174
|
+
</dict>
|
|
175
|
+
<key>const-statement</key>
|
|
176
|
+
<dict>
|
|
177
|
+
<key>name</key>
|
|
178
|
+
<string>meta.const-statement.typespec</string>
|
|
179
|
+
<key>begin</key>
|
|
180
|
+
<string>\b(const)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
|
|
181
|
+
<key>beginCaptures</key>
|
|
182
|
+
<dict>
|
|
183
|
+
<key>1</key>
|
|
184
|
+
<dict>
|
|
185
|
+
<key>name</key>
|
|
186
|
+
<string>keyword.other.tsp</string>
|
|
187
|
+
</dict>
|
|
188
|
+
<key>2</key>
|
|
189
|
+
<dict>
|
|
190
|
+
<key>name</key>
|
|
191
|
+
<string>variable.name.tsp</string>
|
|
192
|
+
</dict>
|
|
193
|
+
</dict>
|
|
194
|
+
<key>end</key>
|
|
195
|
+
<string>(?=,|;|@|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
|
|
196
|
+
<key>patterns</key>
|
|
197
|
+
<array>
|
|
198
|
+
<dict>
|
|
199
|
+
<key>include</key>
|
|
200
|
+
<string>#type-annotation</string>
|
|
201
|
+
</dict>
|
|
202
|
+
<dict>
|
|
203
|
+
<key>include</key>
|
|
204
|
+
<string>#operator-assignment</string>
|
|
205
|
+
</dict>
|
|
206
|
+
<dict>
|
|
207
|
+
<key>include</key>
|
|
208
|
+
<string>#expression</string>
|
|
209
|
+
</dict>
|
|
210
|
+
</array>
|
|
211
|
+
</dict>
|
|
105
212
|
<key>decorator</key>
|
|
106
213
|
<dict>
|
|
107
214
|
<key>name</key>
|
|
108
215
|
<string>meta.decorator.typespec</string>
|
|
109
216
|
<key>begin</key>
|
|
110
|
-
<string>((@)\b[_$[:alpha:]]([_$[:alnum:]]|\.[_$[:alpha:]])*\b)</string>
|
|
217
|
+
<string>((@)\b[_$[:alpha:]](?:[_$[:alnum:]]|\.[_$[:alpha:]])*\b)</string>
|
|
111
218
|
<key>beginCaptures</key>
|
|
112
219
|
<dict>
|
|
113
220
|
<key>1</key>
|
|
@@ -518,10 +625,22 @@
|
|
|
518
625
|
<key>include</key>
|
|
519
626
|
<string>#valueof</string>
|
|
520
627
|
</dict>
|
|
628
|
+
<dict>
|
|
629
|
+
<key>include</key>
|
|
630
|
+
<string>#typeof</string>
|
|
631
|
+
</dict>
|
|
521
632
|
<dict>
|
|
522
633
|
<key>include</key>
|
|
523
634
|
<string>#type-arguments</string>
|
|
524
635
|
</dict>
|
|
636
|
+
<dict>
|
|
637
|
+
<key>include</key>
|
|
638
|
+
<string>#object-literal</string>
|
|
639
|
+
</dict>
|
|
640
|
+
<dict>
|
|
641
|
+
<key>include</key>
|
|
642
|
+
<string>#tuple-literal</string>
|
|
643
|
+
</dict>
|
|
525
644
|
<dict>
|
|
526
645
|
<key>include</key>
|
|
527
646
|
<string>#tuple-expression</string>
|
|
@@ -530,6 +649,10 @@
|
|
|
530
649
|
<key>include</key>
|
|
531
650
|
<string>#model-expression</string>
|
|
532
651
|
</dict>
|
|
652
|
+
<dict>
|
|
653
|
+
<key>include</key>
|
|
654
|
+
<string>#callExpression</string>
|
|
655
|
+
</dict>
|
|
533
656
|
<dict>
|
|
534
657
|
<key>include</key>
|
|
535
658
|
<string>#identifier-expression</string>
|
|
@@ -1078,6 +1201,87 @@
|
|
|
1078
1201
|
<key>match</key>
|
|
1079
1202
|
<string>(?:\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$)|\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$)|(?<!\$)(?:(?:\b[0-9][0-9_]*(\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\b)|(?:\b[0-9][0-9_]*(\.)[eE][+-]?[0-9][0-9_]*(n)?\b)|(?:\B(\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\b)|(?:\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\b)|(?:\b[0-9][0-9_]*(\.)[0-9][0-9_]*(n)?\b)|(?:\b[0-9][0-9_]*(\.)(n)?\B)|(?:\B(\.)[0-9][0-9_]*(n)?\b)|(?:\b[0-9][0-9_]*(n)?\b(?!\.)))(?!\$))</string>
|
|
1080
1203
|
</dict>
|
|
1204
|
+
<key>object-literal</key>
|
|
1205
|
+
<dict>
|
|
1206
|
+
<key>name</key>
|
|
1207
|
+
<string>meta.object-literal.typespec</string>
|
|
1208
|
+
<key>begin</key>
|
|
1209
|
+
<string>#\{</string>
|
|
1210
|
+
<key>beginCaptures</key>
|
|
1211
|
+
<dict>
|
|
1212
|
+
<key>0</key>
|
|
1213
|
+
<dict>
|
|
1214
|
+
<key>name</key>
|
|
1215
|
+
<string>punctuation.hashcurlybrace.open.tsp</string>
|
|
1216
|
+
</dict>
|
|
1217
|
+
</dict>
|
|
1218
|
+
<key>end</key>
|
|
1219
|
+
<string>\}</string>
|
|
1220
|
+
<key>endCaptures</key>
|
|
1221
|
+
<dict>
|
|
1222
|
+
<key>0</key>
|
|
1223
|
+
<dict>
|
|
1224
|
+
<key>name</key>
|
|
1225
|
+
<string>punctuation.curlybrace.close.tsp</string>
|
|
1226
|
+
</dict>
|
|
1227
|
+
</dict>
|
|
1228
|
+
<key>patterns</key>
|
|
1229
|
+
<array>
|
|
1230
|
+
<dict>
|
|
1231
|
+
<key>include</key>
|
|
1232
|
+
<string>#token</string>
|
|
1233
|
+
</dict>
|
|
1234
|
+
<dict>
|
|
1235
|
+
<key>include</key>
|
|
1236
|
+
<string>#object-literal-property</string>
|
|
1237
|
+
</dict>
|
|
1238
|
+
<dict>
|
|
1239
|
+
<key>include</key>
|
|
1240
|
+
<string>#directive</string>
|
|
1241
|
+
</dict>
|
|
1242
|
+
<dict>
|
|
1243
|
+
<key>include</key>
|
|
1244
|
+
<string>#spread-operator</string>
|
|
1245
|
+
</dict>
|
|
1246
|
+
<dict>
|
|
1247
|
+
<key>include</key>
|
|
1248
|
+
<string>#punctuation-comma</string>
|
|
1249
|
+
</dict>
|
|
1250
|
+
</array>
|
|
1251
|
+
</dict>
|
|
1252
|
+
<key>object-literal-property</key>
|
|
1253
|
+
<dict>
|
|
1254
|
+
<key>name</key>
|
|
1255
|
+
<string>meta.object-literal-property.typespec</string>
|
|
1256
|
+
<key>begin</key>
|
|
1257
|
+
<string>(?:(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)\s*(:))</string>
|
|
1258
|
+
<key>beginCaptures</key>
|
|
1259
|
+
<dict>
|
|
1260
|
+
<key>1</key>
|
|
1261
|
+
<dict>
|
|
1262
|
+
<key>name</key>
|
|
1263
|
+
<string>variable.name.tsp</string>
|
|
1264
|
+
</dict>
|
|
1265
|
+
<key>2</key>
|
|
1266
|
+
<dict>
|
|
1267
|
+
<key>name</key>
|
|
1268
|
+
<string>keyword.operator.type.annotation.tsp</string>
|
|
1269
|
+
</dict>
|
|
1270
|
+
</dict>
|
|
1271
|
+
<key>end</key>
|
|
1272
|
+
<string>(?=,|;|@|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
|
|
1273
|
+
<key>patterns</key>
|
|
1274
|
+
<array>
|
|
1275
|
+
<dict>
|
|
1276
|
+
<key>include</key>
|
|
1277
|
+
<string>#token</string>
|
|
1278
|
+
</dict>
|
|
1279
|
+
<dict>
|
|
1280
|
+
<key>include</key>
|
|
1281
|
+
<string>#expression</string>
|
|
1282
|
+
</dict>
|
|
1283
|
+
</array>
|
|
1284
|
+
</dict>
|
|
1081
1285
|
<key>operation-heritage</key>
|
|
1082
1286
|
<dict>
|
|
1083
1287
|
<key>name</key>
|
|
@@ -1481,6 +1685,83 @@
|
|
|
1481
1685
|
<key>match</key>
|
|
1482
1686
|
<string>;</string>
|
|
1483
1687
|
</dict>
|
|
1688
|
+
<key>scalar-body</key>
|
|
1689
|
+
<dict>
|
|
1690
|
+
<key>name</key>
|
|
1691
|
+
<string>meta.scalar-body.typespec</string>
|
|
1692
|
+
<key>begin</key>
|
|
1693
|
+
<string>\{</string>
|
|
1694
|
+
<key>beginCaptures</key>
|
|
1695
|
+
<dict>
|
|
1696
|
+
<key>0</key>
|
|
1697
|
+
<dict>
|
|
1698
|
+
<key>name</key>
|
|
1699
|
+
<string>punctuation.curlybrace.open.tsp</string>
|
|
1700
|
+
</dict>
|
|
1701
|
+
</dict>
|
|
1702
|
+
<key>end</key>
|
|
1703
|
+
<string>\}</string>
|
|
1704
|
+
<key>endCaptures</key>
|
|
1705
|
+
<dict>
|
|
1706
|
+
<key>0</key>
|
|
1707
|
+
<dict>
|
|
1708
|
+
<key>name</key>
|
|
1709
|
+
<string>punctuation.curlybrace.close.tsp</string>
|
|
1710
|
+
</dict>
|
|
1711
|
+
</dict>
|
|
1712
|
+
<key>patterns</key>
|
|
1713
|
+
<array>
|
|
1714
|
+
<dict>
|
|
1715
|
+
<key>include</key>
|
|
1716
|
+
<string>#token</string>
|
|
1717
|
+
</dict>
|
|
1718
|
+
<dict>
|
|
1719
|
+
<key>include</key>
|
|
1720
|
+
<string>#directive</string>
|
|
1721
|
+
</dict>
|
|
1722
|
+
<dict>
|
|
1723
|
+
<key>include</key>
|
|
1724
|
+
<string>#scalar-constructor</string>
|
|
1725
|
+
</dict>
|
|
1726
|
+
<dict>
|
|
1727
|
+
<key>include</key>
|
|
1728
|
+
<string>#punctuation-semicolon</string>
|
|
1729
|
+
</dict>
|
|
1730
|
+
</array>
|
|
1731
|
+
</dict>
|
|
1732
|
+
<key>scalar-constructor</key>
|
|
1733
|
+
<dict>
|
|
1734
|
+
<key>name</key>
|
|
1735
|
+
<string>meta.scalar-constructor.typespec</string>
|
|
1736
|
+
<key>begin</key>
|
|
1737
|
+
<string>\b(init)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
|
|
1738
|
+
<key>beginCaptures</key>
|
|
1739
|
+
<dict>
|
|
1740
|
+
<key>1</key>
|
|
1741
|
+
<dict>
|
|
1742
|
+
<key>name</key>
|
|
1743
|
+
<string>keyword.other.tsp</string>
|
|
1744
|
+
</dict>
|
|
1745
|
+
<key>2</key>
|
|
1746
|
+
<dict>
|
|
1747
|
+
<key>name</key>
|
|
1748
|
+
<string>entity.name.function.tsp</string>
|
|
1749
|
+
</dict>
|
|
1750
|
+
</dict>
|
|
1751
|
+
<key>end</key>
|
|
1752
|
+
<string>(?=,|;|@|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
|
|
1753
|
+
<key>patterns</key>
|
|
1754
|
+
<array>
|
|
1755
|
+
<dict>
|
|
1756
|
+
<key>include</key>
|
|
1757
|
+
<string>#token</string>
|
|
1758
|
+
</dict>
|
|
1759
|
+
<dict>
|
|
1760
|
+
<key>include</key>
|
|
1761
|
+
<string>#operation-parameters</string>
|
|
1762
|
+
</dict>
|
|
1763
|
+
</array>
|
|
1764
|
+
</dict>
|
|
1484
1765
|
<key>scalar-extends</key>
|
|
1485
1766
|
<dict>
|
|
1486
1767
|
<key>name</key>
|
|
@@ -1514,7 +1795,7 @@
|
|
|
1514
1795
|
<key>name</key>
|
|
1515
1796
|
<string>meta.scalar-statement.typespec</string>
|
|
1516
1797
|
<key>begin</key>
|
|
1517
|
-
<string>\b(scalar)\b</string>
|
|
1798
|
+
<string>\b(scalar)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
|
|
1518
1799
|
<key>beginCaptures</key>
|
|
1519
1800
|
<dict>
|
|
1520
1801
|
<key>1</key>
|
|
@@ -1522,9 +1803,14 @@
|
|
|
1522
1803
|
<key>name</key>
|
|
1523
1804
|
<string>keyword.other.tsp</string>
|
|
1524
1805
|
</dict>
|
|
1806
|
+
<key>2</key>
|
|
1807
|
+
<dict>
|
|
1808
|
+
<key>name</key>
|
|
1809
|
+
<string>entity.name.type.tsp</string>
|
|
1810
|
+
</dict>
|
|
1525
1811
|
</dict>
|
|
1526
1812
|
<key>end</key>
|
|
1527
|
-
<string>(?=,|;|@|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
|
|
1813
|
+
<string>(?<=\})|(?=,|;|@|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
|
|
1528
1814
|
<key>patterns</key>
|
|
1529
1815
|
<array>
|
|
1530
1816
|
<dict>
|
|
@@ -1541,7 +1827,7 @@
|
|
|
1541
1827
|
</dict>
|
|
1542
1828
|
<dict>
|
|
1543
1829
|
<key>include</key>
|
|
1544
|
-
<string>#
|
|
1830
|
+
<string>#scalar-body</string>
|
|
1545
1831
|
</dict>
|
|
1546
1832
|
</array>
|
|
1547
1833
|
</dict>
|
|
@@ -1613,6 +1899,10 @@
|
|
|
1613
1899
|
<key>include</key>
|
|
1614
1900
|
<string>#alias-statement</string>
|
|
1615
1901
|
</dict>
|
|
1902
|
+
<dict>
|
|
1903
|
+
<key>include</key>
|
|
1904
|
+
<string>#const-statement</string>
|
|
1905
|
+
</dict>
|
|
1616
1906
|
<dict>
|
|
1617
1907
|
<key>include</key>
|
|
1618
1908
|
<string>#namespace-statement</string>
|
|
@@ -1785,6 +2075,42 @@
|
|
|
1785
2075
|
</dict>
|
|
1786
2076
|
</array>
|
|
1787
2077
|
</dict>
|
|
2078
|
+
<key>tuple-literal</key>
|
|
2079
|
+
<dict>
|
|
2080
|
+
<key>name</key>
|
|
2081
|
+
<string>meta.tuple-literal.typespec</string>
|
|
2082
|
+
<key>begin</key>
|
|
2083
|
+
<string>#\[</string>
|
|
2084
|
+
<key>beginCaptures</key>
|
|
2085
|
+
<dict>
|
|
2086
|
+
<key>0</key>
|
|
2087
|
+
<dict>
|
|
2088
|
+
<key>name</key>
|
|
2089
|
+
<string>punctuation.hashsquarebracket.open.tsp</string>
|
|
2090
|
+
</dict>
|
|
2091
|
+
</dict>
|
|
2092
|
+
<key>end</key>
|
|
2093
|
+
<string>\]</string>
|
|
2094
|
+
<key>endCaptures</key>
|
|
2095
|
+
<dict>
|
|
2096
|
+
<key>0</key>
|
|
2097
|
+
<dict>
|
|
2098
|
+
<key>name</key>
|
|
2099
|
+
<string>punctuation.squarebracket.close.tsp</string>
|
|
2100
|
+
</dict>
|
|
2101
|
+
</dict>
|
|
2102
|
+
<key>patterns</key>
|
|
2103
|
+
<array>
|
|
2104
|
+
<dict>
|
|
2105
|
+
<key>include</key>
|
|
2106
|
+
<string>#expression</string>
|
|
2107
|
+
</dict>
|
|
2108
|
+
<dict>
|
|
2109
|
+
<key>include</key>
|
|
2110
|
+
<string>#punctuation-comma</string>
|
|
2111
|
+
</dict>
|
|
2112
|
+
</array>
|
|
2113
|
+
</dict>
|
|
1788
2114
|
<key>type-annotation</key>
|
|
1789
2115
|
<dict>
|
|
1790
2116
|
<key>name</key>
|
|
@@ -1814,6 +2140,51 @@
|
|
|
1814
2140
|
</dict>
|
|
1815
2141
|
</array>
|
|
1816
2142
|
</dict>
|
|
2143
|
+
<key>type-argument</key>
|
|
2144
|
+
<dict>
|
|
2145
|
+
<key>name</key>
|
|
2146
|
+
<string>meta.type-argument.typespec</string>
|
|
2147
|
+
<key>begin</key>
|
|
2148
|
+
<string>(?:(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)\s*(=))</string>
|
|
2149
|
+
<key>beginCaptures</key>
|
|
2150
|
+
<dict>
|
|
2151
|
+
<key>1</key>
|
|
2152
|
+
<dict>
|
|
2153
|
+
<key>name</key>
|
|
2154
|
+
<string>entity.name.type.tsp</string>
|
|
2155
|
+
</dict>
|
|
2156
|
+
<key>2</key>
|
|
2157
|
+
<dict>
|
|
2158
|
+
<key>name</key>
|
|
2159
|
+
<string>keyword.operator.assignment.tsp</string>
|
|
2160
|
+
</dict>
|
|
2161
|
+
</dict>
|
|
2162
|
+
<key>end</key>
|
|
2163
|
+
<string>=</string>
|
|
2164
|
+
<key>endCaptures</key>
|
|
2165
|
+
<dict>
|
|
2166
|
+
<key>0</key>
|
|
2167
|
+
<dict>
|
|
2168
|
+
<key>name</key>
|
|
2169
|
+
<string>keyword.operator.assignment.tsp</string>
|
|
2170
|
+
</dict>
|
|
2171
|
+
</dict>
|
|
2172
|
+
<key>patterns</key>
|
|
2173
|
+
<array>
|
|
2174
|
+
<dict>
|
|
2175
|
+
<key>include</key>
|
|
2176
|
+
<string>#token</string>
|
|
2177
|
+
</dict>
|
|
2178
|
+
<dict>
|
|
2179
|
+
<key>include</key>
|
|
2180
|
+
<string>#expression</string>
|
|
2181
|
+
</dict>
|
|
2182
|
+
<dict>
|
|
2183
|
+
<key>include</key>
|
|
2184
|
+
<string>#punctuation-comma</string>
|
|
2185
|
+
</dict>
|
|
2186
|
+
</array>
|
|
2187
|
+
</dict>
|
|
1817
2188
|
<key>type-arguments</key>
|
|
1818
2189
|
<dict>
|
|
1819
2190
|
<key>name</key>
|
|
@@ -1842,11 +2213,7 @@
|
|
|
1842
2213
|
<array>
|
|
1843
2214
|
<dict>
|
|
1844
2215
|
<key>include</key>
|
|
1845
|
-
<string>#
|
|
1846
|
-
</dict>
|
|
1847
|
-
<dict>
|
|
1848
|
-
<key>include</key>
|
|
1849
|
-
<string>#operator-assignment</string>
|
|
2216
|
+
<string>#type-argument</string>
|
|
1850
2217
|
</dict>
|
|
1851
2218
|
<dict>
|
|
1852
2219
|
<key>include</key>
|
|
@@ -1974,6 +2341,30 @@
|
|
|
1974
2341
|
</dict>
|
|
1975
2342
|
</array>
|
|
1976
2343
|
</dict>
|
|
2344
|
+
<key>typeof</key>
|
|
2345
|
+
<dict>
|
|
2346
|
+
<key>name</key>
|
|
2347
|
+
<string>meta.typeof.typespec</string>
|
|
2348
|
+
<key>begin</key>
|
|
2349
|
+
<string>\b(typeof)</string>
|
|
2350
|
+
<key>beginCaptures</key>
|
|
2351
|
+
<dict>
|
|
2352
|
+
<key>1</key>
|
|
2353
|
+
<dict>
|
|
2354
|
+
<key>name</key>
|
|
2355
|
+
<string>keyword.other.tsp</string>
|
|
2356
|
+
</dict>
|
|
2357
|
+
</dict>
|
|
2358
|
+
<key>end</key>
|
|
2359
|
+
<string>(?=>)|(?=,|;|@|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
|
|
2360
|
+
<key>patterns</key>
|
|
2361
|
+
<array>
|
|
2362
|
+
<dict>
|
|
2363
|
+
<key>include</key>
|
|
2364
|
+
<string>#expression</string>
|
|
2365
|
+
</dict>
|
|
2366
|
+
</array>
|
|
2367
|
+
</dict>
|
|
1977
2368
|
<key>union-body</key>
|
|
1978
2369
|
<dict>
|
|
1979
2370
|
<key>name</key>
|
package/lib/intrinsics.tsp
CHANGED
|
@@ -98,27 +98,77 @@ scalar string;
|
|
|
98
98
|
/**
|
|
99
99
|
* A date on a calendar without a time zone, e.g. "April 10th"
|
|
100
100
|
*/
|
|
101
|
-
scalar plainDate
|
|
101
|
+
scalar plainDate {
|
|
102
|
+
/**
|
|
103
|
+
* Create a plain date from an ISO 8601 string.
|
|
104
|
+
* @example
|
|
105
|
+
*
|
|
106
|
+
* ```tsp
|
|
107
|
+
* const time = plainTime.fromISO("2024-05-06");
|
|
108
|
+
* ```
|
|
109
|
+
*/
|
|
110
|
+
init fromISO(value: string);
|
|
111
|
+
}
|
|
102
112
|
|
|
103
113
|
/**
|
|
104
114
|
* A time on a clock without a time zone, e.g. "3:00 am"
|
|
105
115
|
*/
|
|
106
|
-
scalar plainTime
|
|
116
|
+
scalar plainTime {
|
|
117
|
+
/**
|
|
118
|
+
* Create a plain time from an ISO 8601 string.
|
|
119
|
+
* @example
|
|
120
|
+
*
|
|
121
|
+
* ```tsp
|
|
122
|
+
* const time = plainTime.fromISO("12:34");
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
125
|
+
init fromISO(value: string);
|
|
126
|
+
}
|
|
107
127
|
|
|
108
128
|
/**
|
|
109
129
|
* An instant in coordinated universal time (UTC)"
|
|
110
130
|
*/
|
|
111
|
-
scalar utcDateTime
|
|
131
|
+
scalar utcDateTime {
|
|
132
|
+
/**
|
|
133
|
+
* Create a date from an ISO 8601 string.
|
|
134
|
+
* @example
|
|
135
|
+
*
|
|
136
|
+
* ```tsp
|
|
137
|
+
* const time = utcDateTime.fromISO("2024-05-06T12:20-12Z");
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
140
|
+
init fromISO(value: string);
|
|
141
|
+
}
|
|
112
142
|
|
|
113
143
|
/**
|
|
114
144
|
* A date and time in a particular time zone, e.g. "April 10th at 3:00am in PST"
|
|
115
145
|
*/
|
|
116
|
-
scalar offsetDateTime
|
|
146
|
+
scalar offsetDateTime {
|
|
147
|
+
/**
|
|
148
|
+
* Create a date from an ISO 8601 string.
|
|
149
|
+
* @example
|
|
150
|
+
*
|
|
151
|
+
* ```tsp
|
|
152
|
+
* const time = offsetDateTime.fromISO("2024-05-06T12:20-12-0700");
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
init fromISO(value: string);
|
|
156
|
+
}
|
|
117
157
|
|
|
118
158
|
/**
|
|
119
159
|
* A duration/time period. e.g 5s, 10h
|
|
120
160
|
*/
|
|
121
|
-
scalar duration
|
|
161
|
+
scalar duration {
|
|
162
|
+
/**
|
|
163
|
+
* Create a duration from an ISO 8601 string.
|
|
164
|
+
* @example
|
|
165
|
+
*
|
|
166
|
+
* ```tsp
|
|
167
|
+
* const time = duration.fromISO("P1Y1D");
|
|
168
|
+
* ```
|
|
169
|
+
*/
|
|
170
|
+
init fromISO(value: string);
|
|
171
|
+
}
|
|
122
172
|
|
|
123
173
|
/**
|
|
124
174
|
* Boolean with `true` and `false` values.
|