End type parameter regex only on '>'

Fixes #452
This commit is contained in:
Sheetal Nandi 2017-05-18 10:07:43 -07:00
Родитель ac0314e5fa
Коммит 632a9db349
5 изменённых файлов: 110 добавлений и 3 удалений

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

@ -1037,7 +1037,7 @@ repository:
begin: '(<)'
beginCaptures:
'1': { name: punctuation.definition.typeparameters.begin.ts }
end: '(?=$)|(>)'
end: '(>)'
endCaptures:
'1': { name: punctuation.definition.typeparameters.end.ts }
patterns:

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

@ -3125,7 +3125,7 @@
</dict>
</dict>
<key>end</key>
<string>(?=$)|(&gt;)</string>
<string>(&gt;)</string>
<key>endCaptures</key>
<dict>
<key>1</key>

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

@ -3129,7 +3129,7 @@
</dict>
</dict>
<key>end</key>
<string>(?=$)|(&gt;)</string>
<string>(&gt;)</string>
<key>endCaptures</key>
<dict>
<key>1</key>

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

@ -0,0 +1,100 @@
original file
-----------------------------------
class Test<A, B>{}
class Favorite extends Test<
string | number,
undefined
> {
// class content
}
-----------------------------------
Grammar: TypeScript.tmLanguage
-----------------------------------
>class Test<A, B>{}
^^^^^
source.ts meta.class.ts storage.type.class.ts
^
source.ts meta.class.ts
^^^^
source.ts meta.class.ts entity.name.type.class.ts
^
source.ts meta.class.ts meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts
^
source.ts meta.class.ts meta.type.parameters.ts entity.name.type.ts
^
source.ts meta.class.ts meta.type.parameters.ts punctuation.separator.comma.ts
^
source.ts meta.class.ts meta.type.parameters.ts
^
source.ts meta.class.ts meta.type.parameters.ts entity.name.type.ts
^
source.ts meta.class.ts meta.type.parameters.ts punctuation.definition.typeparameters.end.ts
^
source.ts meta.class.ts punctuation.definition.block.ts
^
source.ts meta.class.ts punctuation.definition.block.ts
^^
source.ts
>class Favorite extends Test<
^^^^^
source.ts meta.class.ts storage.type.class.ts
^
source.ts meta.class.ts
^^^^^^^^
source.ts meta.class.ts entity.name.type.class.ts
^
source.ts meta.class.ts
^^^^^^^
source.ts meta.class.ts storage.modifier.ts
^
source.ts meta.class.ts
^^^^
source.ts meta.class.ts entity.other.inherited-class.ts
^
source.ts meta.class.ts meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts
^^
source.ts meta.class.ts meta.type.parameters.ts
> string | number,
^^
source.ts meta.class.ts meta.type.parameters.ts
^^^^^^
source.ts meta.class.ts meta.type.parameters.ts support.type.primitive.ts
^
source.ts meta.class.ts meta.type.parameters.ts
^
source.ts meta.class.ts meta.type.parameters.ts keyword.operator.type.ts
^
source.ts meta.class.ts meta.type.parameters.ts
^^^^^^
source.ts meta.class.ts meta.type.parameters.ts support.type.primitive.ts
^
source.ts meta.class.ts meta.type.parameters.ts punctuation.separator.comma.ts
^^
source.ts meta.class.ts meta.type.parameters.ts
> undefined
^^
source.ts meta.class.ts meta.type.parameters.ts
^^^^^^^^^
source.ts meta.class.ts meta.type.parameters.ts support.type.builtin.ts
^^
source.ts meta.class.ts meta.type.parameters.ts
>> {
^
source.ts meta.class.ts meta.type.parameters.ts punctuation.definition.typeparameters.end.ts
^
source.ts meta.class.ts
^
source.ts meta.class.ts punctuation.definition.block.ts
^^
source.ts meta.class.ts
> // class content
^^
source.ts meta.class.ts punctuation.whitespace.comment.leading.ts
^^
source.ts meta.class.ts comment.line.double-slash.ts punctuation.definition.comment.ts
^^^^^^^^^^^^^^^^^
source.ts meta.class.ts comment.line.double-slash.ts
>}
^
source.ts meta.class.ts punctuation.definition.block.ts

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

@ -0,0 +1,7 @@
class Test<A, B>{}
class Favorite extends Test<
string | number,
undefined
> {
// class content
}