Dont consume space after cast expression

Fixes #684
This commit is contained in:
Sheetal Nandi 2018-11-20 09:04:37 -08:00
Родитель ebdbdaf910
Коммит 731bab73dd
8 изменённых файлов: 86 добавлений и 14 удалений

Просмотреть файл

@ -1456,7 +1456,7 @@ repository:
begin: (?:(?<!\+\+|--)(?<={{lookBehindReturn}}|{{lookBehindThrow}}|{{lookBehindYield}}|{{lookBehindAwait}}|{{lookBehindDefault}}|[=(,:>*?\&\|\^]|[^_$[:alnum:]](?:\+\+|\-\-)|[^\+]\+|[^\-]\-))\s*(<)(?!<?\=)(?!\s*$)
beginCaptures:
'1': { name: meta.brace.angle.ts }
end: (\>)\s*
end: (\>)
endCaptures:
'1': { name: meta.brace.angle.ts }
patterns:
@ -1469,7 +1469,7 @@ repository:
begin: (?:(?<=^))\s*(<)(?={{identifier}}\s*>)
beginCaptures:
'1': { name: meta.brace.angle.ts }
end: (\>)\s*
end: (\>)
endCaptures:
'1': { name: meta.brace.angle.ts }
patterns:

Просмотреть файл

@ -4680,7 +4680,7 @@
</dict>
</dict>
<key>end</key>
<string>(\&gt;)\s*</string>
<string>(\&gt;)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
@ -4711,7 +4711,7 @@
</dict>
</dict>
<key>end</key>
<string>(\&gt;)\s*</string>
<string>(\&gt;)</string>
<key>endCaptures</key>
<dict>
<key>1</key>

Просмотреть файл

@ -368,7 +368,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts meta.function.ts meta.block.ts meta.block.ts meta.var.expr.ts cast.expr.ts meta.brace.angle.ts
^
source.ts meta.function.ts meta.block.ts meta.block.ts meta.var.expr.ts cast.expr.ts
source.ts meta.function.ts meta.block.ts meta.block.ts meta.var.expr.ts
^
source.ts meta.function.ts meta.block.ts meta.block.ts meta.var.expr.ts variable.other.readwrite.ts
> return f("hello world")

Просмотреть файл

@ -102,7 +102,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts meta.var.expr.ts cast.expr.ts meta.brace.angle.ts
^
source.ts meta.var.expr.ts cast.expr.ts
source.ts meta.var.expr.ts
^
source.ts meta.var.expr.ts meta.objectliteral.ts punctuation.definition.block.ts
^
@ -145,7 +145,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts meta.var.expr.ts cast.expr.ts meta.brace.angle.ts
^
source.ts meta.var.expr.ts cast.expr.ts
source.ts meta.var.expr.ts
^
source.ts meta.var.expr.ts meta.objectliteral.ts punctuation.definition.block.ts
> x: '2'
@ -189,7 +189,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts meta.var.expr.ts cast.expr.ts meta.brace.angle.ts
^
source.ts meta.var.expr.ts cast.expr.ts
source.ts meta.var.expr.ts
^
source.ts meta.var.expr.ts meta.objectliteral.ts punctuation.definition.block.ts
> x: '3'
@ -251,7 +251,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts meta.var.expr.ts cast.expr.ts meta.brace.angle.ts
^
source.ts meta.var.expr.ts cast.expr.ts
source.ts meta.var.expr.ts meta.array.literal.ts
^
source.ts meta.var.expr.ts meta.array.literal.ts meta.brace.square.ts
> new Foo('4'),
@ -395,7 +395,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts meta.var.expr.ts cast.expr.ts meta.brace.angle.ts
^
source.ts meta.var.expr.ts cast.expr.ts
source.ts meta.var.expr.ts
^
source.ts meta.var.expr.ts meta.objectliteral.ts punctuation.definition.block.ts
^
@ -458,7 +458,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts meta.var.expr.ts cast.expr.ts meta.brace.angle.ts
^
source.ts meta.var.expr.ts cast.expr.ts
source.ts meta.var.expr.ts
^
source.ts meta.var.expr.ts meta.objectliteral.ts punctuation.definition.block.ts
^

Просмотреть файл

@ -29,7 +29,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts meta.export.default.ts cast.expr.ts meta.brace.angle.ts
^
source.ts meta.export.default.ts cast.expr.ts
source.ts meta.export.default.ts
^
source.ts meta.export.default.ts meta.objectliteral.ts punctuation.definition.block.ts
> // config object

Просмотреть файл

@ -0,0 +1,68 @@
original file
-----------------------------------
// @onlyOwnGrammar - As this has type assertion
function f(p: string) {
return <number> <unknown> p;
}
-----------------------------------
Grammar: TypeScript.tmLanguage
-----------------------------------
>// @onlyOwnGrammar - As this has type assertion
^^
source.ts comment.line.double-slash.ts punctuation.definition.comment.ts
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
source.ts comment.line.double-slash.ts
>function f(p: string) {
^^^^^^^^
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 variable.parameter.ts
^
source.ts meta.function.ts meta.parameters.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
^
source.ts meta.function.ts meta.parameters.ts meta.type.annotation.ts
^^^^^^
source.ts meta.function.ts meta.parameters.ts meta.type.annotation.ts support.type.primitive.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
> return <number> <unknown> p;
^^^^
source.ts meta.function.ts meta.block.ts
^^^^^^
source.ts meta.function.ts meta.block.ts keyword.control.flow.ts
^
source.ts meta.function.ts meta.block.ts cast.expr.ts
^
source.ts meta.function.ts meta.block.ts cast.expr.ts meta.brace.angle.ts
^^^^^^
source.ts meta.function.ts meta.block.ts cast.expr.ts support.type.primitive.ts
^
source.ts meta.function.ts meta.block.ts cast.expr.ts meta.brace.angle.ts
^
source.ts meta.function.ts meta.block.ts cast.expr.ts
^
source.ts meta.function.ts meta.block.ts cast.expr.ts meta.brace.angle.ts
^^^^^^^
source.ts meta.function.ts meta.block.ts cast.expr.ts support.type.primitive.ts
^
source.ts meta.function.ts meta.block.ts cast.expr.ts meta.brace.angle.ts
^
source.ts meta.function.ts meta.block.ts
^
source.ts meta.function.ts meta.block.ts variable.other.readwrite.ts
^
source.ts meta.function.ts meta.block.ts punctuation.terminator.statement.ts
>}
^
source.ts meta.function.ts meta.block.ts punctuation.definition.block.ts

Просмотреть файл

@ -69,7 +69,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts cast.expr.ts meta.brace.angle.ts
^
source.ts cast.expr.ts
source.ts
^^^^
source.ts constant.language.null.ts
>
@ -165,7 +165,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts cast.expr.ts meta.brace.angle.ts
^
source.ts cast.expr.ts
source.ts
^^^^
source.ts constant.language.null.ts
>

4
tests/cases/Issue684.ts Normal file
Просмотреть файл

@ -0,0 +1,4 @@
// @onlyOwnGrammar - As this has type assertion
function f(p: string) {
return <number> <unknown> p;
}