Skip to content

Commit 3266149

Browse files
committed
Merge branch 'master' into st4107
2 parents 927e42e + 97b635f commit 3266149

2 files changed

Lines changed: 48 additions & 4 deletions

File tree

WIT.sublime-syntax

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -257,13 +257,14 @@ contexts:
257257

258258
import-export-identifier:
259259
# functions
260-
- match: ({{id}})(\s*(:)\s*(?:(static)\s+)?(func{{break}}))
260+
- match: ({{id}})(\s*(:)\s*(?:(static)\s+)?(?:(async)\s+)?(func{{break}}))
261261
captures:
262262
1: meta.function.identifier.wit entity.name.function.wit
263263
2: meta.function.wit
264264
3: punctuation.separator.type.wit
265265
4: storage.modifier.static.wit
266-
5: keyword.declaration.function.wit
266+
5: keyword.declaration.async.wit
267+
6: keyword.declaration.function.wit
267268
push:
268269
- function-return-type
269270
- function-parameter-list
@@ -473,13 +474,14 @@ contexts:
473474
- function-meta
474475
- function-parameter-list
475476
# normal function definition
476-
- match: ({{id}})(\s*(:)\s*(?:(static)\s+)?(func{{break}}))
477+
- match: ({{id}})(\s*(:)\s*(?:(static)\s+)?(?:(async)\s+)?(func{{break}}))
477478
captures:
478479
1: meta.function.identifier.wit entity.name.function.wit
479480
2: meta.function.wit
480481
3: punctuation.separator.type.wit
481482
4: storage.modifier.static.wit
482-
5: keyword.declaration.function.wit
483+
5: keyword.declaration.async.wit
484+
6: keyword.declaration.function.wit
483485
push:
484486
- function-return-type
485487
- function-parameter-list

tests/syntax_test_scopes.wit

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,32 @@ export func: func(func: func) -> bool;
294294
// ^^^^ storage.type.wit
295295
// ^ punctuation.terminator.statement.wit
296296

297+
export handle: async func(request: request) -> result<response, error-code>;
298+
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.statement.export.wit
299+
//^^^^ keyword.control.export.wit
300+
// ^^^^^^ meta.function.identifier.wit entity.name.function.wit
301+
// ^^^^^^^^^^^^ meta.function.wit
302+
// ^ punctuation.separator.type.wit
303+
// ^^^^^ keyword.declaration.async.wit
304+
// ^^^^ keyword.declaration.function.wit
305+
// ^^^^^^^^^^^^^^^^^^ meta.function.parameters.wit
306+
// ^ punctuation.section.parameters.begin.wit
307+
// ^^^^^^^ variable.parameter.wit
308+
// ^ punctuation.separator.type.wit
309+
// ^^^^^^^ meta.type.wit support.type.wit
310+
// ^ punctuation.section.parameters.end.wit
311+
// ^ meta.function.wit
312+
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.function.return-type.wit
313+
// ^^ keyword.operator.arrow.wit
314+
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.type.wit
315+
// ^^^^^^ storage.type.wit
316+
// ^^^^^^^^^^^^^^^^^^^^^^ meta.generic.wit
317+
// ^ punctuation.definition.generic.begin.wit
318+
// ^^^^^^^^ meta.type.wit support.type.wit
319+
// ^ punctuation.separator.sequence.wit
320+
// ^^^^^^^^^^ meta.type.wit support.type.wit
321+
// ^ punctuation.definition.generic.end.wit
322+
// ^ punctuation.terminator.statement.wit
297323

298324
/// Import Declarations ///////////////////////////////////////////////////////
299325

@@ -753,6 +779,22 @@ world my-world-2 {
753779
// ^^ meta.function.parameters.wit
754780
// ^ meta.function.wit
755781
// ^^^^^^^ meta.function.return-type.wit
782+
783+
coro: async func() -> bool;
784+
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.resource.body.wit meta.block.wit
785+
// ^^^^ meta.function.identifier.wit entity.name.function.wit
786+
// ^^^^^^^^^^^^ meta.function.wit
787+
// ^ punctuation.separator.type.wit
788+
// ^^^^^ keyword.declaration.async.wit
789+
// ^^^^ keyword.declaration.function.wit
790+
// ^^ meta.function.parameters.wit
791+
// ^ punctuation.section.parameters.begin.wit
792+
// ^ punctuation.section.parameters.end.wit
793+
// ^ meta.function.wit
794+
// ^^^^^^^ meta.function.return-type.wit
795+
// ^^ keyword.operator.arrow.wit
796+
// ^^^^ meta.type.wit storage.type.wit
797+
// ^ punctuation.terminator.statement.wit
756798
}
757799

758800
type id = tuple<u32>;

0 commit comments

Comments
 (0)