diff --git a/TypeScript.YAML-tmLanguage b/TypeScript.YAML-tmLanguage index 36fa554..8b09f74 100644 --- a/TypeScript.YAML-tmLanguage +++ b/TypeScript.YAML-tmLanguage @@ -1744,7 +1744,8 @@ repository: match: '{{startOfIdentifier}}instanceof{{endOfIdentifier}}' - name: keyword.operator.new.ts match: '{{startOfIdentifier}}new{{endOfIdentifier}}' - - include: '#typeof-operator' + - name: keyword.operator.typeof.ts + match: '{{startOfIdentifier}}typeof{{endOfIdentifier}}' - name: keyword.operator.expression.void.ts match: '{{startOfIdentifier}}void{{endOfIdentifier}}' #handle as operator specifically to be recognized only if it is 'as' followed by space diff --git a/TypeScript.tmLanguage b/TypeScript.tmLanguage index 4d91f6a..19ff7be 100644 --- a/TypeScript.tmLanguage +++ b/TypeScript.tmLanguage @@ -5670,8 +5670,10 @@ (?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))new(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.)) - include - #typeof-operator + name + keyword.operator.typeof.ts + match + (?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))typeof(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.)) name diff --git a/TypeScriptReact.tmLanguage b/TypeScriptReact.tmLanguage index a7aec5d..43b5441 100644 --- a/TypeScriptReact.tmLanguage +++ b/TypeScriptReact.tmLanguage @@ -5616,8 +5616,10 @@ (?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))new(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.)) - include - #typeof-operator + name + keyword.operator.typeof.tsx + match + (?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))typeof(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.)) name diff --git a/tests/baselines/ArrowFunctionInsideTypeAssertion.baseline.txt b/tests/baselines/ArrowFunctionInsideTypeAssertion.baseline.txt index 14d4486..7fd20bb 100644 --- a/tests/baselines/ArrowFunctionInsideTypeAssertion.baseline.txt +++ b/tests/baselines/ArrowFunctionInsideTypeAssertion.baseline.txt @@ -280,7 +280,7 @@ Grammar: TypeScript.tmLanguage ^ source.ts meta.function.ts meta.block.ts meta.brace.round.ts ^^^^^^ - source.ts meta.function.ts meta.block.ts keyword.operator.expression.typeof.ts + source.ts meta.function.ts meta.block.ts keyword.operator.typeof.ts ^ source.ts meta.function.ts meta.block.ts ^ diff --git a/tests/baselines/Issue180.baseline.txt b/tests/baselines/Issue180.baseline.txt index 61a8d6b..3d6a799 100644 --- a/tests/baselines/Issue180.baseline.txt +++ b/tests/baselines/Issue180.baseline.txt @@ -30,7 +30,7 @@ Grammar: TypeScript.tmLanguage ^ source.ts meta.brace.round.ts ^^^^^^ - source.ts keyword.operator.expression.typeof.ts + source.ts keyword.operator.typeof.ts ^ source.ts ^^^^^^^^^ diff --git a/tests/baselines/Issue37.baseline.txt b/tests/baselines/Issue37.baseline.txt index 221be9d..9858240 100644 --- a/tests/baselines/Issue37.baseline.txt +++ b/tests/baselines/Issue37.baseline.txt @@ -545,7 +545,7 @@ Grammar: TypeScript.tmLanguage ^ source.ts meta.var.expr.ts ^^^^^^ - source.ts meta.var.expr.ts keyword.operator.expression.typeof.ts + source.ts meta.var.expr.ts keyword.operator.typeof.ts ^ source.ts meta.var.expr.ts ^ @@ -696,7 +696,7 @@ Grammar: TypeScript.tmLanguage ^ source.ts meta.namespace.declaration.ts meta.block.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.brace.round.ts ^^^^^^ - source.ts meta.namespace.declaration.ts meta.block.ts meta.class.ts meta.method.declaration.ts meta.block.ts keyword.operator.expression.typeof.ts + source.ts meta.namespace.declaration.ts meta.block.ts meta.class.ts meta.method.declaration.ts meta.block.ts keyword.operator.typeof.ts ^ source.ts meta.namespace.declaration.ts meta.block.ts meta.class.ts meta.method.declaration.ts meta.block.ts ^^^^^^ diff --git a/tests/baselines/Issue403IncorrectlyDetectedArrowTypeParameters.baseline.txt b/tests/baselines/Issue403IncorrectlyDetectedArrowTypeParameters.baseline.txt index 522a8ec..8a90f87 100644 --- a/tests/baselines/Issue403IncorrectlyDetectedArrowTypeParameters.baseline.txt +++ b/tests/baselines/Issue403IncorrectlyDetectedArrowTypeParameters.baseline.txt @@ -230,7 +230,7 @@ Grammar: TypeScript.tmLanguage ^ source.ts meta.objectliteral.ts meta.object.member.ts meta.function.expression.ts meta.block.ts meta.var.expr.ts ^^^^^^ - source.ts meta.objectliteral.ts meta.object.member.ts meta.function.expression.ts meta.block.ts meta.var.expr.ts keyword.operator.expression.typeof.ts + source.ts meta.objectliteral.ts meta.object.member.ts meta.function.expression.ts meta.block.ts meta.var.expr.ts keyword.operator.typeof.ts ^ source.ts meta.objectliteral.ts meta.object.member.ts meta.function.expression.ts meta.block.ts meta.var.expr.ts ^ diff --git a/tests/baselines/Issue554.baseline.txt b/tests/baselines/Issue554.baseline.txt index abcc6be..2a5a715 100644 --- a/tests/baselines/Issue554.baseline.txt +++ b/tests/baselines/Issue554.baseline.txt @@ -109,7 +109,7 @@ Grammar: TypeScript.tmLanguage ^^^ source.ts keyword.operator.spread.ts ^^^^^^ - source.ts keyword.operator.expression.typeof.ts + source.ts keyword.operator.typeof.ts ^ source.ts ^ diff --git a/tests/baselines/Issue858.baseline.txt b/tests/baselines/Issue858.baseline.txt index e3ad853..fa58e4c 100644 --- a/tests/baselines/Issue858.baseline.txt +++ b/tests/baselines/Issue858.baseline.txt @@ -154,7 +154,7 @@ Grammar: TypeScript.tmLanguage ^ source.ts meta.class.ts meta.method.declaration.ts meta.block.ts ^^^^^^ - source.ts meta.class.ts meta.method.declaration.ts meta.block.ts keyword.operator.expression.typeof.ts + source.ts meta.class.ts meta.method.declaration.ts meta.block.ts keyword.operator.typeof.ts ^ source.ts meta.class.ts meta.method.declaration.ts meta.block.ts ^^^^^^^^^^^^ diff --git a/tests/baselines/Issue978.baseline.txt b/tests/baselines/Issue978.baseline.txt new file mode 100644 index 0000000..bac4d85 --- /dev/null +++ b/tests/baselines/Issue978.baseline.txt @@ -0,0 +1,48 @@ +original file +----------------------------------- +typeof x < ''; function f() {} + +----------------------------------- + +Grammar: TypeScript.tmLanguage +----------------------------------- +>typeof x < ''; function f() {} + ^^^^^^ + source.ts keyword.operator.typeof.ts + ^ + source.ts + ^ + source.ts variable.other.readwrite.ts + ^ + source.ts + ^ + source.ts keyword.operator.relational.ts + ^ + source.ts + ^ + source.ts string.quoted.single.ts punctuation.definition.string.begin.ts + ^ + source.ts string.quoted.single.ts punctuation.definition.string.end.ts + ^ + source.ts punctuation.terminator.statement.ts + ^ + source.ts + ^^^^^^^^ + source.ts meta.function.ts storage.type.function.ts + ^ + source.ts meta.function.ts + ^ + source.ts meta.function.ts meta.definition.function.ts entity.name.function.ts + ^ + source.ts meta.function.ts meta.parameters.ts punctuation.definition.parameters.begin.ts + ^ + source.ts meta.function.ts meta.parameters.ts punctuation.definition.parameters.end.ts + ^ + source.ts meta.function.ts + ^ + source.ts meta.function.ts meta.block.ts punctuation.definition.block.ts + ^ + source.ts meta.function.ts meta.block.ts punctuation.definition.block.ts +> + ^ + source.ts \ No newline at end of file diff --git a/tests/baselines/assertions.baseline.txt b/tests/baselines/assertions.baseline.txt index 944b507..de740a5 100644 --- a/tests/baselines/assertions.baseline.txt +++ b/tests/baselines/assertions.baseline.txt @@ -831,7 +831,7 @@ Grammar: TypeScript.tmLanguage ^ source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.brace.round.ts ^^^^^^ - source.ts meta.class.ts meta.method.declaration.ts meta.block.ts keyword.operator.expression.typeof.ts + source.ts meta.class.ts meta.method.declaration.ts meta.block.ts keyword.operator.typeof.ts ^ source.ts meta.class.ts meta.method.declaration.ts meta.block.ts ^ diff --git a/tests/baselines/javascript.baseline.txt b/tests/baselines/javascript.baseline.txt index 4119aab..7f40319 100644 --- a/tests/baselines/javascript.baseline.txt +++ b/tests/baselines/javascript.baseline.txt @@ -50,7 +50,7 @@ Grammar: TypeScript.tmLanguage source.ts switch-statement.expr.ts punctuation.definition.block.ts >typeof x; ^^^^^^ - source.ts keyword.operator.expression.typeof.ts + source.ts keyword.operator.typeof.ts ^ source.ts ^ diff --git a/tests/cases/Issue978.ts b/tests/cases/Issue978.ts new file mode 100644 index 0000000..286bcd6 --- /dev/null +++ b/tests/cases/Issue978.ts @@ -0,0 +1 @@ +typeof x < ''; function f() {}