angular/vscode-ng-language-service/syntaxes/test/data/template-blocks.html.snap
Matthieu Riegler 787cd875b0 refactor(vscode-extension): Add support for exhaustive type check in the syntax
`@default never` will be considered a keyword on its own.

(cherry picked from commit db11e74b3d)
2026-02-24 19:23:50 +00:00

375 lines
No EOL
30 KiB
Text

>@defer (doSomething({111})) {
#^ template.blocks.ng control.block.ng keyword.control.block.transition.ng
# ^^^^^ template.blocks.ng control.block.ng keyword.control.block.kind.ng
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^^^^^^^^^^^ template.blocks.ng control.block.ng control.block.expression.ng entity.name.function.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^ template.blocks.ng control.block.ng control.block.expression.ng constant.numeric.decimal.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^ template.blocks.ng control.block.ng control.block.expression.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng punctuation.definition.block.ts
> <a></a>
#^^^^^^^^^^^^ template.blocks.ng control.block.ng control.block.body.ng
>}
#^ template.blocks.ng control.block.ng punctuation.definition.block.ts
>
>@defer {
#^ template.blocks.ng control.block.ng keyword.control.block.transition.ng
# ^^^^^ template.blocks.ng control.block.ng keyword.control.block.kind.ng
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng punctuation.definition.block.ts
> <a></a>
#^^^^^^^^^^^^ template.blocks.ng control.block.ng control.block.body.ng
>}
#^ template.blocks.ng control.block.ng punctuation.definition.block.ts
>
>@switch (a) {
#^ template.blocks.ng control.block.ng keyword.control.block.transition.ng
# ^^^^^^ template.blocks.ng control.block.ng keyword.control.block.kind.ng
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng punctuation.definition.block.ts
> @case(0) @case (1) {
#^^^^ template.blocks.ng control.block.ng control.block.body.ng
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng keyword.control.block.transition.ng
# ^^^^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng keyword.control.block.kind.ng
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng control.block.expression.ng constant.numeric.decimal.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng keyword.control.block.transition.ng
# ^^^^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng keyword.control.block.kind.ng
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng control.block.expression.ng constant.numeric.decimal.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng punctuation.definition.block.ts
> {{getCase1()}}
#^^^^^^^^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.body.ng
# ^^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.body.ng punctuation.definition.block.ts
# ^^^^^^^^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.body.ng expression.ng entity.name.function.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.body.ng expression.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.body.ng expression.ng meta.brace.round.ts
# ^^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.body.ng punctuation.definition.block.ts
> }
#^^^^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.body.ng
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng punctuation.definition.block.ts
> @case (2) @case(3) {
#^^^^ template.blocks.ng control.block.ng control.block.body.ng
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng keyword.control.block.transition.ng
# ^^^^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng keyword.control.block.kind.ng
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng control.block.expression.ng constant.numeric.decimal.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng keyword.control.block.transition.ng
# ^^^^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng keyword.control.block.kind.ng
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng control.block.expression.ng constant.numeric.decimal.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng punctuation.definition.block.ts
> {{a.b.c}}
#^^^^^^^^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.body.ng
# ^^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.body.ng punctuation.definition.block.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.body.ng expression.ng variable.other.object.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.body.ng expression.ng punctuation.accessor.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.body.ng expression.ng variable.other.object.property.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.body.ng expression.ng punctuation.accessor.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.body.ng expression.ng variable.other.property.ts
# ^^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.body.ng punctuation.definition.block.ts
> }
#^^^^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.body.ng
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng punctuation.definition.block.ts
> @default {
#^^^^ template.blocks.ng control.block.ng control.block.body.ng
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng keyword.control.block.transition.ng
# ^^^^^^^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng keyword.control.block.kind.ng
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng punctuation.definition.block.ts
> default case
#^^^^^^^^^^^^^^^^^^^^^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.body.ng
> }
#^^^^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.body.ng
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng punctuation.definition.block.ts
>}
#^ template.blocks.ng control.block.ng punctuation.definition.block.ts
>
>@switch(aOrb) {
#^ template.blocks.ng control.block.ng keyword.control.block.transition.ng
# ^^^^^^ template.blocks.ng control.block.ng keyword.control.block.kind.ng
# ^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^^^^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng punctuation.definition.block.ts
> @case(a) {}
#^^^^ template.blocks.ng control.block.ng control.block.body.ng
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng keyword.control.block.transition.ng
# ^^^^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng keyword.control.block.kind.ng
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng control.block.expression.ng variable.other.readwrite.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng control.block.case.header.ng
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng punctuation.definition.block.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng punctuation.definition.block.ts
> @default never;
#^^^^ template.blocks.ng control.block.ng control.block.body.ng
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng keyword.control.block.transition.ng
# ^^^^^^^^^^^^^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng keyword.control.block.kind.ng
# ^ template.blocks.ng control.block.ng control.block.body.ng control.block.case.ng punctuation.terminator.statement.ng
>}
#^ template.blocks.ng control.block.ng punctuation.definition.block.ts
>
>@if (a==b) { hello } @else { goodbye }
#^ template.blocks.ng control.block.ng keyword.control.block.transition.ng
# ^^ template.blocks.ng control.block.ng keyword.control.block.kind.ng
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^^ template.blocks.ng control.block.ng control.block.expression.ng keyword.operator.comparison.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng punctuation.definition.block.ts
# ^^^^^^^ template.blocks.ng control.block.ng control.block.body.ng
# ^ template.blocks.ng control.block.ng punctuation.definition.block.ts
# ^ template.blocks.ng
# ^ template.blocks.ng control.block.ng keyword.control.block.transition.ng
# ^^^^ template.blocks.ng control.block.ng keyword.control.block.kind.ng
# ^^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng punctuation.definition.block.ts
# ^^^^^^^^^ template.blocks.ng control.block.ng control.block.body.ng
# ^ template.blocks.ng control.block.ng punctuation.definition.block.ts
>
>@if (a==b) {
#^ template.blocks.ng control.block.ng keyword.control.block.transition.ng
# ^^ template.blocks.ng control.block.ng keyword.control.block.kind.ng
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^^ template.blocks.ng control.block.ng control.block.expression.ng keyword.operator.comparison.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng punctuation.definition.block.ts
# ^^ template.blocks.ng control.block.ng control.block.body.ng
> hello
#^^^^^^^^^^^ template.blocks.ng control.block.ng control.block.body.ng
>} @else if (b==a) {
#^ template.blocks.ng control.block.ng punctuation.definition.block.ts
# ^ template.blocks.ng
# ^ template.blocks.ng control.block.ng keyword.control.block.transition.ng
# ^^^^^^^ template.blocks.ng control.block.ng keyword.control.block.kind.ng
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^^ template.blocks.ng control.block.ng control.block.expression.ng keyword.operator.comparison.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng punctuation.definition.block.ts
# ^^ template.blocks.ng control.block.ng control.block.body.ng
> goodbye
#^^^^^^^^^^^^^ template.blocks.ng control.block.ng control.block.body.ng
>}
#^ template.blocks.ng control.block.ng punctuation.definition.block.ts
>
>@for (let item of items; track $index) {
#^ template.blocks.ng control.block.ng keyword.control.block.transition.ng
# ^^^ template.blocks.ng control.block.ng keyword.control.block.kind.ng
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^^^ template.blocks.ng control.block.ng control.block.expression.ng storage.type.ng
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^ template.blocks.ng control.block.ng control.block.expression.ng keyword.operator.expression.of.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^^^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng punctuation.terminator.statement.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^^^ template.blocks.ng control.block.ng control.block.expression.ng keyword.control.track.ng
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^^^^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng punctuation.definition.block.ts
> bla
#^^^^^^^^ template.blocks.ng control.block.ng control.block.body.ng
>}
#^ template.blocks.ng control.block.ng punctuation.definition.block.ts
>
>@if (
#^ template.blocks.ng control.block.ng keyword.control.block.transition.ng
# ^^ template.blocks.ng control.block.ng keyword.control.block.kind.ng
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng meta.brace.round.ts
> items;
#^^^^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^^^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng punctuation.terminator.statement.ts
> track $index;
#^^^^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^^^ template.blocks.ng control.block.ng control.block.expression.ng keyword.control.track.ng
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^^^^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng punctuation.terminator.statement.ts
> let o = $odd
#^^^^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^ template.blocks.ng control.block.ng control.block.expression.ng storage.type.ng
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^ template.blocks.ng control.block.ng control.block.expression.ng keyword.operator.assignment.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
>) {
#^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng punctuation.definition.block.ts
> {{o}}
#^^^^ template.blocks.ng control.block.ng control.block.body.ng
# ^^ template.blocks.ng control.block.ng control.block.body.ng punctuation.definition.block.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng expression.ng variable.other.readwrite.ts
# ^^ template.blocks.ng control.block.ng control.block.body.ng punctuation.definition.block.ts
>}
#^ template.blocks.ng control.block.ng punctuation.definition.block.ts
>
>@if
#^ template.blocks.ng control.block.ng keyword.control.block.transition.ng
# ^^ template.blocks.ng control.block.ng keyword.control.block.kind.ng
# ^^ template.blocks.ng control.block.ng
>(items) {}
#^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^^^^^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng punctuation.definition.block.ts
# ^ template.blocks.ng control.block.ng punctuation.definition.block.ts
>
>@for
#^ template.blocks.ng control.block.ng keyword.control.block.transition.ng
# ^^^ template.blocks.ng control.block.ng keyword.control.block.kind.ng
# ^^ template.blocks.ng control.block.ng
>(item of items; track $index) { }
#^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^^^^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.constant.ng
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^ template.blocks.ng control.block.ng control.block.expression.ng keyword.operator.expression.of.ng
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^^^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng punctuation.terminator.statement.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^^^ template.blocks.ng control.block.ng control.block.expression.ng keyword.control.track.ng
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^^^^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng punctuation.definition.block.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng
# ^ template.blocks.ng control.block.ng punctuation.definition.block.ts
>
>@for (item of items; track $index) {
#^ template.blocks.ng control.block.ng keyword.control.block.transition.ng
# ^^^ template.blocks.ng control.block.ng keyword.control.block.kind.ng
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^^^^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.constant.ng
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^ template.blocks.ng control.block.ng control.block.expression.ng keyword.operator.expression.of.ng
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^^^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng punctuation.terminator.statement.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^^^ template.blocks.ng control.block.ng control.block.expression.ng keyword.control.track.ng
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^^^^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng punctuation.definition.block.ts
# ^^ template.blocks.ng control.block.ng control.block.body.ng
>
>}
#^ template.blocks.ng control.block.ng punctuation.definition.block.ts
# ^^ template.blocks.ng
>@empty
#^ template.blocks.ng control.block.ng keyword.control.block.transition.ng
# ^^^^^ template.blocks.ng control.block.ng keyword.control.block.kind.ng
# ^^ template.blocks.ng control.block.ng
>{
#^ template.blocks.ng control.block.ng punctuation.definition.block.ts
>
>}
#^ template.blocks.ng control.block.ng punctuation.definition.block.ts
>
><!-- `track` is only a keyword at the start of the clause -->
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ template.blocks.ng
>@for (item of items; let track = $index; track item.track) { }
#^ template.blocks.ng control.block.ng keyword.control.block.transition.ng
# ^^^ template.blocks.ng control.block.ng keyword.control.block.kind.ng
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^^^^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.constant.ng
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^ template.blocks.ng control.block.ng control.block.expression.ng keyword.operator.expression.of.ng
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^^^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng punctuation.terminator.statement.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^ template.blocks.ng control.block.ng control.block.expression.ng storage.type.ng
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^^^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^ template.blocks.ng control.block.ng control.block.expression.ng keyword.operator.assignment.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^^^^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng punctuation.terminator.statement.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^^^ template.blocks.ng control.block.ng control.block.expression.ng keyword.control.track.ng
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.object.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng punctuation.accessor.ts
# ^^^^^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.property.ts
# ^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng punctuation.definition.block.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng
# ^ template.blocks.ng control.block.ng punctuation.definition.block.ts
>@for (track of tracks; track track) { }
#^ template.blocks.ng control.block.ng keyword.control.block.transition.ng
# ^^^ template.blocks.ng control.block.ng keyword.control.block.kind.ng
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^^^^^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.constant.ng
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^ template.blocks.ng control.block.ng control.block.expression.ng keyword.operator.expression.of.ng
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^^^^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng punctuation.terminator.statement.ts
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^^^ template.blocks.ng control.block.ng control.block.expression.ng keyword.control.track.ng
# ^ template.blocks.ng control.block.ng control.block.expression.ng
# ^^^^^ template.blocks.ng control.block.ng control.block.expression.ng variable.other.readwrite.ts
# ^ template.blocks.ng control.block.ng meta.brace.round.ts
# ^ template.blocks.ng control.block.ng
# ^ template.blocks.ng control.block.ng punctuation.definition.block.ts
# ^ template.blocks.ng control.block.ng control.block.body.ng
# ^ template.blocks.ng control.block.ng punctuation.definition.block.ts
>
><!-- Should not highlight -->
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ template.blocks.ng
>
>some.email@google.com ({}) {}
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ template.blocks.ng
>
>