diff --git a/syntaxes/wit.tmLanguage.json b/syntaxes/wit.tmLanguage.json index 0b0e500..a7f5b24 100644 --- a/syntaxes/wit.tmLanguage.json +++ b/syntaxes/wit.tmLanguage.json @@ -979,6 +979,9 @@ { "include": "#container" }, + { + "include": "#result-base" + }, { "include": "#identifier" } @@ -1035,6 +1038,11 @@ } ] }, + "result-base": { + "name": "entity.name.type.result.wit", + "comment": "Syntax for result types where both the `ok` and `err` types are `_`. This pattern must be placed after the #container pattern to correctly capture `result<...>`.", + "match": "\\b(result)\\b" + }, "tuple": { "name": "meta.tuple.ty.wit", "comment": "Syntax for WIT types such as tuple", @@ -1138,7 +1146,7 @@ "result": { "name": "meta.result.ty.wit", "comment": "Syntax for WIT types such as result", - "begin": "\\b(result)\\b", + "begin": "\\b(result)\\b(\\<)", "beginCaptures": { "1": { "name": "entity.name.type.result.wit" @@ -1152,47 +1160,28 @@ "include": "#comment" }, { - "name": "meta.inner.result.wit", - "begin": "(\\<)", - "beginCaptures": { - "1": { - "name": "punctuation.brackets.angle.begin.wit" - } - }, - "patterns": [ - { - "include": "#comment" - }, - { - "name": "variable.other.inferred-type.result.wit", - "match": "(?)", - "applyEndPatternLast": 1, - "endCaptures": { - "1": { - "name": "punctuation.brackets.angle.end.wit" - } - } + "name": "variable.other.inferred-type.result.wit", + "match": "(?)", + "applyEndPatternLast": 1, + "endCaptures": { + "1": { + "name": "punctuation.brackets.angle.end.wit" + } + } }, "handle": { "name": "meta.handle.ty.wit", diff --git a/tests/grammar/integration/import-func.wit.snap b/tests/grammar/integration/import-func.wit.snap index 7455874..28f7bd6 100644 --- a/tests/grammar/integration/import-func.wit.snap +++ b/tests/grammar/integration/import-func.wit.snap @@ -70,15 +70,15 @@ # ^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit # ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.string.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.option.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.string.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit >} #^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit > \ No newline at end of file diff --git a/tests/grammar/integration/issue573.wit.snap b/tests/grammar/integration/issue573.wit.snap index 6bd10ff..28e8f84 100644 --- a/tests/grammar/integration/issue573.wit.snap +++ b/tests/grammar/integration/issue573.wit.snap @@ -211,13 +211,13 @@ # ^ source.wit meta.interface-item.wit meta.type-item.wit punctuation.equal.wit # ^ source.wit meta.interface-item.wit meta.type-item.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit variable.other.inferred-type.result.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit comment.line.double-slash.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit variable.other.inferred-type.result.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit comment.line.double-slash.wit > type t6 = result // no "err" type #^^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.type-item.wit keyword.declaration.type.type-item.wit storage.type.wit @@ -227,10 +227,10 @@ # ^ source.wit meta.interface-item.wit meta.type-item.wit punctuation.equal.wit # ^ source.wit meta.interface-item.wit meta.type-item.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.string.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit comment.line.double-slash.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.string.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit comment.line.double-slash.wit > type t7 = result // both types specified #^^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.type-item.wit keyword.declaration.type.type-item.wit storage.type.wit @@ -240,13 +240,13 @@ # ^ source.wit meta.interface-item.wit meta.type-item.wit punctuation.equal.wit # ^ source.wit meta.interface-item.wit meta.type-item.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.string.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit comment.line.double-slash.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.string.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit comment.line.double-slash.wit > type t8 = result // no "ok" or "err" type #^^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.type-item.wit keyword.declaration.type.type-item.wit storage.type.wit @@ -255,8 +255,8 @@ # ^ source.wit meta.interface-item.wit meta.type-item.wit # ^ source.wit meta.interface-item.wit meta.type-item.wit punctuation.equal.wit # ^ source.wit meta.interface-item.wit meta.type-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.result.wit -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit comment.line.double-slash.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit entity.name.type.result.wit +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit comment.line.double-slash.wit > type t9 = list #^^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.type-item.wit keyword.declaration.type.type-item.wit storage.type.wit @@ -436,15 +436,15 @@ # ^ source.wit meta.interface-item.wit meta.type-item.wit punctuation.equal.wit # ^ source.wit meta.interface-item.wit meta.type-item.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit variable.other.inferred-type.result.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit variable.other.inferred-type.result.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.option.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > > record errno { #^^ source.wit meta.interface-item.wit meta.whitespace.wit @@ -534,37 +534,37 @@ # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit entity.name.type.option.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit variable.other.inferred-type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.result.ty.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.whitespace.wit -# ^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit -# ^^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.result.ty.wit variable.other.inferred-type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit +# ^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit +# ^^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit punctuation.brackets.round.end.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > @@ -659,12 +659,12 @@ # ^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit # ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit variable.other.inferred-type.result.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.string.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit variable.other.inferred-type.result.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.string.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > } #^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit # ^ source.wit meta.world-item.wit meta.import-item.wit punctuation.brackets.curly.end.wit diff --git a/tests/grammar/integration/issue607.wit.snap b/tests/grammar/integration/issue607.wit.snap index 0a2c400..5bfdc9b 100644 --- a/tests/grammar/integration/issue607.wit.snap +++ b/tests/grammar/integration/issue607.wit.snap @@ -55,12 +55,12 @@ # ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > my-optional: func() -> option #^^^^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit @@ -168,12 +168,12 @@ # ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > my-optional: func() -> option #^^^^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit diff --git a/tests/grammar/integration/just-export.wit.snap b/tests/grammar/integration/just-export.wit.snap index b380c0e..58b10fa 100644 --- a/tests/grammar/integration/just-export.wit.snap +++ b/tests/grammar/integration/just-export.wit.snap @@ -37,24 +37,24 @@ # ^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit # ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.list.ty.wit entity.name.type.list.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.string.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.comma.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.list.ty.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.list.ty.wit meta.tuple.ty.wit meta.list.ty.wit entity.name.type.list.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.list.ty.wit meta.tuple.ty.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit -# ^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.list.ty.wit meta.tuple.ty.wit meta.list.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.list.ty.wit meta.tuple.ty.wit meta.list.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.list.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.string.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.list.ty.wit entity.name.type.list.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.string.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.comma.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.list.ty.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.list.ty.wit meta.tuple.ty.wit meta.list.ty.wit entity.name.type.list.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.list.ty.wit meta.tuple.ty.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit +# ^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.list.ty.wit meta.tuple.ty.wit meta.list.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.list.ty.wit meta.tuple.ty.wit meta.list.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.list.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.string.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit >} #^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit > \ No newline at end of file diff --git a/tests/grammar/integration/lift-lower-foreign.wit.snap b/tests/grammar/integration/lift-lower-foreign.wit.snap index b744985..9edf725 100644 --- a/tests/grammar/integration/lift-lower-foreign.wit.snap +++ b/tests/grammar/integration/lift-lower-foreign.wit.snap @@ -130,12 +130,12 @@ # ^ source.wit meta.interface-item.wit meta.type-item.wit punctuation.equal.wit # ^ source.wit meta.interface-item.wit meta.type-item.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > type t10 = list #^^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.type-item.wit keyword.declaration.type.type-item.wit storage.type.wit diff --git a/tests/grammar/integration/option-result.wit.snap b/tests/grammar/integration/option-result.wit.snap index 627b69a..2d7d980 100644 --- a/tests/grammar/integration/option-result.wit.snap +++ b/tests/grammar/integration/option-result.wit.snap @@ -124,7 +124,7 @@ # ^ source.wit meta.interface-item.wit meta.type-item.wit # ^ source.wit meta.interface-item.wit meta.type-item.wit punctuation.equal.wit # ^ source.wit meta.interface-item.wit meta.type-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.result.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit entity.name.type.result.wit > type r2 = result<_, empty> #^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.type-item.wit keyword.declaration.type.type-item.wit storage.type.wit @@ -134,12 +134,12 @@ # ^ source.wit meta.interface-item.wit meta.type-item.wit punctuation.equal.wit # ^ source.wit meta.interface-item.wit meta.type-item.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit variable.other.inferred-type.result.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit variable.other.inferred-type.result.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > type r3 = result #^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.type-item.wit keyword.declaration.type.type-item.wit storage.type.wit @@ -149,9 +149,9 @@ # ^ source.wit meta.interface-item.wit meta.type-item.wit punctuation.equal.wit # ^ source.wit meta.interface-item.wit meta.type-item.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > type r4 = result #^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.type-item.wit keyword.declaration.type.type-item.wit storage.type.wit @@ -161,12 +161,12 @@ # ^ source.wit meta.interface-item.wit meta.type-item.wit punctuation.equal.wit # ^ source.wit meta.interface-item.wit meta.type-item.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > type r5 = result, o1> #^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.type-item.wit keyword.declaration.type.type-item.wit storage.type.wit @@ -176,15 +176,15 @@ # ^ source.wit meta.interface-item.wit meta.type-item.wit punctuation.equal.wit # ^ source.wit meta.interface-item.wit meta.type-item.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.option.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > type r6 = result>, o2> #^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.type-item.wit keyword.declaration.type.type-item.wit storage.type.wit @@ -194,18 +194,18 @@ # ^ source.wit meta.interface-item.wit meta.type-item.wit punctuation.equal.wit # ^ source.wit meta.interface-item.wit meta.type-item.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.option.ty.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.option.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.option.ty.wit meta.option.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.option.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > type r7 = result>, o4> #^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.type-item.wit keyword.declaration.type.type-item.wit storage.type.wit @@ -215,18 +215,18 @@ # ^ source.wit meta.interface-item.wit meta.type-item.wit punctuation.equal.wit # ^ source.wit meta.interface-item.wit meta.type-item.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.option.ty.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.option.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.option.ty.wit meta.option.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.option.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > > > type o5 = option @@ -239,125 +239,143 @@ # ^ source.wit meta.interface-item.wit meta.type-item.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit entity.name.type.option.wit # ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.result.ty.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit punctuation.brackets.angle.end.wit > type o6 = option>> -#^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit meta.result.ty.wit entity.name.type.result.wit -# ^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit meta.result.ty.wit +#^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.type-item.wit keyword.declaration.type.type-item.wit storage.type.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit +# ^^ source.wit meta.interface-item.wit meta.type-item.wit entity.name.type.id.type-item.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit punctuation.equal.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.result.ty.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.result.ty.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.result.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.result.ty.wit meta.option.ty.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.result.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit punctuation.brackets.angle.end.wit > > > o1-arg: func(x: o1) -#^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit > o1-result: func() -> o1 -#^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit meta.whitespace.wit -# ^^^^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit entity.name.type.id.wit -# ^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit > > o2-arg: func(x: o2) -#^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit > o2-result: func() -> o2 -#^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.result.ty.wit +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit > > o3-arg: func(x: o3) -#^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit > o3-result: func() -> o3 -#^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.whitespace.wit -# ^^^^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit entity.name.type.id.wit -# ^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit entity.name.type.id.wit +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit > > o4-arg: func(x: o4) -#^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit > o4-result: func() -> o4 -#^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.whitespace.wit -# ^^^^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit entity.name.type.id.wit -# ^^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.type-item.wit entity.name.type.id.wit +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit > > o5-arg: func(x: o5) #^^ source.wit meta.interface-item.wit meta.whitespace.wit diff --git a/tests/grammar/integration/resources-in-aggregates.wit.snap b/tests/grammar/integration/resources-in-aggregates.wit.snap index 3a42590..7126a7a 100644 --- a/tests/grammar/integration/resources-in-aggregates.wit.snap +++ b/tests/grammar/integration/resources-in-aggregates.wit.snap @@ -275,9 +275,9 @@ # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit > result2: result>, #^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit @@ -285,12 +285,12 @@ # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit meta.handle.ty.wit entity.name.type.borrow.handle.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit meta.handle.ty.wit punctuation.brackets.angle.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit meta.handle.ty.wit entity.name.type.id.handle.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit meta.handle.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.handle.ty.wit entity.name.type.borrow.handle.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.handle.ty.wit punctuation.brackets.angle.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.handle.ty.wit entity.name.type.id.handle.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.handle.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit > ) #^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit diff --git a/tests/grammar/integration/result-empty.wit b/tests/grammar/integration/result-empty.wit index 4f1e350..e17fa44 100644 --- a/tests/grammar/integration/result-empty.wit +++ b/tests/grammar/integration/result-empty.wit @@ -4,7 +4,7 @@ interface my-interface { variant stuff { this, that - } + } record empty { } @@ -20,6 +20,7 @@ interface my-interface { empty-or-absent: func() -> result absent-or-empty: func() -> result<_, empty> + absent-or-absent-param: func(x: result) -> result absent-or-absent: func() -> result } diff --git a/tests/grammar/integration/result-empty.wit.snap b/tests/grammar/integration/result-empty.wit.snap index 5bb5b28..08ab977 100644 --- a/tests/grammar/integration/result-empty.wit.snap +++ b/tests/grammar/integration/result-empty.wit.snap @@ -25,10 +25,9 @@ > that #^^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.variant.wit variable.other.enummember.id.enum-cases.wit -> } +> } #^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit # ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.brackets.curly.end.wit -# ^^ source.wit meta.interface-item.wit meta.whitespace.wit > > record empty { #^^^^ source.wit meta.interface-item.wit meta.whitespace.wit @@ -56,12 +55,12 @@ # ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > stuff-or-empty: func() -> result #^^^^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit @@ -77,12 +76,12 @@ # ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > empty-or-stuff: func() -> result #^^^^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit @@ -98,12 +97,12 @@ # ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > empty-or-empty: func() -> result #^^^^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit @@ -119,12 +118,12 @@ # ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > > stuff-or-absent: func() -> result #^^^^ source.wit meta.interface-item.wit meta.whitespace.wit @@ -141,9 +140,9 @@ # ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > absent-or-stuff: func() -> result<_, stuff> #^^^^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit @@ -159,12 +158,12 @@ # ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit variable.other.inferred-type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit variable.other.inferred-type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > > empty-or-absent: func() -> result #^^^^ source.wit meta.interface-item.wit meta.whitespace.wit @@ -181,9 +180,9 @@ # ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > absent-or-empty: func() -> result<_, empty> #^^^^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit @@ -199,13 +198,32 @@ # ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit variable.other.inferred-type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit variable.other.inferred-type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > +> absent-or-absent-param: func(x: result) -> result +#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.result.wit > absent-or-absent: func() -> result #^^^^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit @@ -220,7 +238,7 @@ # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit # ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.result.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > diff --git a/tests/grammar/integration/simple-http.wit.snap b/tests/grammar/integration/simple-http.wit.snap index 2fa474d..550065e 100644 --- a/tests/grammar/integration/simple-http.wit.snap +++ b/tests/grammar/integration/simple-http.wit.snap @@ -80,9 +80,9 @@ # ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > diff --git a/tests/grammar/integration/small-anonymous.wit.snap b/tests/grammar/integration/small-anonymous.wit.snap index 8a2365b..12d837b 100644 --- a/tests/grammar/integration/small-anonymous.wit.snap +++ b/tests/grammar/integration/small-anonymous.wit.snap @@ -44,15 +44,15 @@ # ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit entity.name.type.string.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.option.ty.wit entity.name.type.string.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > diff --git a/tests/grammar/integration/variants.wit.snap b/tests/grammar/integration/variants.wit.snap index ead2b58..7878366 100644 --- a/tests/grammar/integration/variants.wit.snap +++ b/tests/grammar/integration/variants.wit.snap @@ -573,7 +573,7 @@ # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit entity.name.type.result.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.result.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit > b: result<_, e1>, #^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit @@ -581,12 +581,12 @@ # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit variable.other.inferred-type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit variable.other.inferred-type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit > c: result, #^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit @@ -594,9 +594,9 @@ # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit > d: result, tuple<>>, #^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit @@ -604,16 +604,16 @@ # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit > e: result, #^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit @@ -621,12 +621,12 @@ # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit > f: result>, #^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit @@ -634,15 +634,15 @@ # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.string.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit meta.list.ty.wit entity.name.type.list.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit meta.list.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit meta.list.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit entity.name.type.string.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.list.ty.wit entity.name.type.list.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.list.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.list.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit > ) #^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit @@ -664,61 +664,61 @@ # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit > result, #^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.result.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.result.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit > result<_, e1>, #^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit variable.other.inferred-type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit variable.other.inferred-type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit > result, #^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit > result, tuple<>>, #^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit > result, #^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit > result>, #^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.string.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit meta.list.ty.wit entity.name.type.list.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit meta.list.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit meta.list.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.string.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.list.ty.wit entity.name.type.list.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.list.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.list.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit > > #^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit @@ -758,12 +758,12 @@ # ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > return-result-sugar2: func() -> result<_, my-errno> #^^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit @@ -779,12 +779,12 @@ # ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit variable.other.inferred-type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit variable.other.inferred-type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > return-result-sugar3: func() -> result #^^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit @@ -800,12 +800,12 @@ # ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > return-result-sugar4: func() -> result, my-errno> #^^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit @@ -821,18 +821,18 @@ # ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.tuple.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.tuple.ty.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.tuple.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.tuple.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.tuple.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.tuple.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > return-option-sugar: func() -> option #^^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit @@ -884,12 +884,12 @@ # ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit > > record is-clone { #^^ source.wit meta.interface-item.wit meta.whitespace.wit @@ -982,32 +982,32 @@ # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit # ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.begin.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit meta.whitespace.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.inner.result.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit punctuation.brackets.round.end.wit >} -#^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit +#^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > >world my-world { -#^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit +#^^^^^ source.wit meta.world-item.wit keyword.declaration.world.world-item.wit storage.type.wit +# ^ source.wit meta.world-item.wit +# ^^^^^^^^ source.wit meta.world-item.wit entity.name.type.id.world-item.wit +# ^ source.wit meta.world-item.wit +# ^ source.wit meta.world-item.wit punctuation.brackets.curly.begin.wit > import variants -#^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit > export variants -#^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit +# ^^^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit >} -#^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.param-list.wit meta.named-type-list.wit +#^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit > \ No newline at end of file diff --git a/tests/grammar/unit/interface.wit b/tests/grammar/unit/interface.wit index f047693..d56f5d4 100644 --- a/tests/grammar/unit/interface.wit +++ b/tests/grammar/unit/interface.wit @@ -75,6 +75,18 @@ interface some-interface { // ^^^^^^^^^^^^^ variable.other.enummember.id.enum-cases.wit // ^ meta.enum-items.wit + roundtrip: func(a: result) -> result; +//^^^^^^^^^ entity.name.function.id.func-item.wit +// ^ meta.func-item.wit keyword.operator.key-value.wit +// ^^^^ keyword.other.func.func-type.wit +// ^ meta.function.wit punctuation.brackets.round.begin.wit +// ^ variable.parameter.id.named-type.wit +// ^ meta.named-type-list.wit keyword.operator.key-value.wit +// ^^^^^^ entity.name.type.result.wit +// ^ meta.function.wit punctuation.brackets.round.end.wit +// ^^ meta.result-list.wit keyword.operator.arrow.skinny.wit +// ^^^^^^ entity.name.type.result.wit + } // <- meta.interface-item.wit punctuation.brackets.curly.end.wit diff --git a/tests/grammar/unit/world.wit b/tests/grammar/unit/world.wit index f94f196..398781a 100644 --- a/tests/grammar/unit/world.wit +++ b/tests/grammar/unit/world.wit @@ -65,7 +65,7 @@ default world some-world { ) -> result //^ meta.function.wit punctuation.brackets.round.end.wit // ^^ meta.result-list.wit keyword.operator.arrow.skinny.wit -// ^^^^^^ meta.result.ty.wit entity.name.type.result.wit +// ^^^^^^ entity.name.type.result.wit } // <- meta.world-item.wit punctuation.brackets.curly.end.wit @@ -148,7 +148,7 @@ world another-world { ) -> result // ^ meta.function.wit // ^^ meta.result-list.wit keyword.operator.arrow.skinny.wit -// ^^^^^^ meta.result.ty.wit entity.name.type.result.wit +// ^^^^^^ entity.name.type.result.wit } //^ meta.import-item.wit punctuation.brackets.curly.end.wit