Skip to content

Commit 1f1f031

Browse files
nibagschristoph-cullmann
authored andcommitted
TypeScript: add the "awaited" type operator
Summary: Add the new keyword "awaited": microsoft/TypeScript#35998 Reviewers: #framework_syntax_highlighting, dhaumann, cullmann Reviewed By: #framework_syntax_highlighting, cullmann Subscribers: kwrite-devel, kde-frameworks-devel Tags: #kate, #frameworks Differential Revision: https://phabricator.kde.org/D28814
1 parent 0f8c36b commit 1f1f031

File tree

5 files changed

+40
-2
lines changed

5 files changed

+40
-2
lines changed

autotests/folding/test.ts.fold

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,3 +278,12 @@ export * from "AnotherModule";
278278
export <beginfold id='1'>{</beginfold id='1'> k as m, l <endfold id='1'>}</endfold id='1'> from "AnotherModule";
279279
export type <beginfold id='1'>{</beginfold id='1'> T <endfold id='1'>}</endfold id='1'>;
280280
export type <beginfold id='1'>{</beginfold id='1'> U <endfold id='1'>}</endfold id='1'> from "AnotherModule";
281+
282+
// 'awaited' type operator: https://github.com/microsoft/TypeScript/pull/35998
283+
let v1: awaited number;
284+
let v2: awaited Promise<number>;
285+
function f7<U>() <beginfold id='1'>{</beginfold id='1'>
286+
let v0: awaited U;
287+
let v1: awaited Promise<U>;
288+
289+
<endfold id='1'>}</endfold id='1'>

autotests/html/test.ts.html

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,4 +284,13 @@
284284
<span style="color:#ff5500;">export</span> { k <span style="color:#ff5500;">as</span> m, l } <span style="color:#ff5500;">from</span> <span style="color:#bf0303;">&quot;AnotherModule&quot;</span>;
285285
<span style="color:#ff5500;">export type</span> { T };
286286
<span style="color:#ff5500;">export type</span> { U } <span style="color:#ff5500;">from</span> <span style="color:#bf0303;">&quot;AnotherModule&quot;</span>;
287+
288+
<span style="color:#898887;">// 'awaited' type operator: https://github.com/microsoft/TypeScript/pull/35998</span>
289+
<span style="font-weight:bold;font-style:italic;">let</span> v1: <span style="font-weight:bold;">awaited</span> <span style="color:#0057ae;">number</span>;
290+
<span style="font-weight:bold;font-style:italic;">let</span> v2: <span style="font-weight:bold;">awaited</span> <span style="color:#644a9b;font-weight:bold;">Promise</span>&lt;<span style="color:#0057ae;">number</span>&gt;;
291+
<span style="font-weight:bold;">function</span> <span style="color:#644a9b;">f7</span>&lt;U&gt;() {
292+
<span style="font-weight:bold;font-style:italic;">let</span> v0: <span style="font-weight:bold;">awaited</span> U;
293+
<span style="font-weight:bold;font-style:italic;">let</span> v1: <span style="font-weight:bold;">awaited</span> <span style="color:#644a9b;font-weight:bold;">Promise</span>&lt;U&gt;;
294+
295+
}
287296
</pre></body></html>

autotests/input/test.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,3 +278,12 @@ export * from "AnotherModule";
278278
export { k as m, l } from "AnotherModule";
279279
export type { T };
280280
export type { U } from "AnotherModule";
281+
282+
// 'awaited' type operator: https://github.com/microsoft/TypeScript/pull/35998
283+
let v1: awaited number;
284+
let v2: awaited Promise<number>;
285+
function f7<U>() {
286+
let v0: awaited U;
287+
let v1: awaited Promise<U>;
288+
289+
}

autotests/reference/test.ts.ref

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,3 +278,12 @@
278278
<Module>export</Module><Normal Text> { </Normal Text><Normal Text>k </Normal Text><Module>as</Module><Normal Text> </Normal Text><Normal Text>m</Normal Text><Symbol>,</Symbol><Normal Text> </Normal Text><Normal Text>l </Normal Text><Normal Text>} </Normal Text><Module>from</Module><Normal Text> </Normal Text><String>"AnotherModule"</String><Symbol>;</Symbol><br/>
279279
<Module>export type</Module><Normal Text> { </Normal Text><Normal Text>T </Normal Text><Normal Text>}</Normal Text><Symbol>;</Symbol><br/>
280280
<Module>export type</Module><Normal Text> { </Normal Text><Normal Text>U </Normal Text><Normal Text>} </Normal Text><Module>from</Module><Normal Text> </Normal Text><String>"AnotherModule"</String><Symbol>;</Symbol><br/>
281+
<Normal Text></Normal Text><br/>
282+
<Comment>// 'awaited' type operator: https://github.com/microsoft/TypeScript/pull/35998</Comment><br/>
283+
<Reserved>let</Reserved><Normal Text> </Normal Text><Parameter>v1</Parameter><Symbol>:</Symbol><Normal Text> </Normal Text><Keyword>awaited</Keyword><Normal Text> </Normal Text><Types>number</Types><Symbol>;</Symbol><br/>
284+
<Reserved>let</Reserved><Normal Text> </Normal Text><Parameter>v2</Parameter><Symbol>:</Symbol><Normal Text> </Normal Text><Keyword>awaited</Keyword><Normal Text> </Normal Text><Built-in Objects>Promise</Built-in Objects><Symbol><</Symbol><Types>number</Types><Symbol>></Symbol><Symbol>;</Symbol><br/>
285+
<Keyword>function</Keyword><Normal Text> </Normal Text><Function Declaration>f7</Function Declaration><Symbol><</Symbol><Normal Text>U</Normal Text><Symbol>></Symbol><Normal Text>() {</Normal Text><br/>
286+
<Normal Text> </Normal Text><Reserved>let</Reserved><Normal Text> </Normal Text><Parameter>v0</Parameter><Symbol>:</Symbol><Normal Text> </Normal Text><Keyword>awaited</Keyword><Normal Text> </Normal Text><Normal Text>U</Normal Text><Symbol>;</Symbol><br/>
287+
<Normal Text> </Normal Text><Reserved>let</Reserved><Normal Text> </Normal Text><Parameter>v1</Parameter><Symbol>:</Symbol><Normal Text> </Normal Text><Keyword>awaited</Keyword><Normal Text> </Normal Text><Built-in Objects>Promise</Built-in Objects><Symbol><</Symbol><Normal Text>U</Normal Text><Symbol>></Symbol><Symbol>;</Symbol><br/>
288+
<Normal Text></Normal Text><br/>
289+
<Normal Text>}</Normal Text><br/>

data/syntax/typescript.xml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
Attributes: path, types, no-default-lib, name
4343
4444
Change log:
45+
* v10 [2020-04-13]: Add the 'awaited' type operator.
4546
* v9 [2020-02-23]: Add private-named instance fields and type-only imports/exports.
4647
Improve conditional expressions.
4748
* v8 [2019-12-12]: Add "bigint" primitive type.
@@ -59,7 +60,7 @@
5960
-->
6061

6162
<language name="TypeScript"
62-
version="9"
63+
version="10"
6364
kateversion="5.53"
6465
section="Scripts"
6566
extensions="*.ts"
@@ -112,7 +113,8 @@
112113
<list name="types_operator_expression">
113114
<item>keyof</item>
114115
<item>infer</item>
115-
<!-- Also: is, typeof -->
116+
<item>awaited</item>
117+
<!-- Also: typeof, readonly -->
116118
</list>
117119
<!-- Datatypes & Primitive Types -->
118120
<list name="types">

0 commit comments

Comments
 (0)