Merge pull request #330 from Microsoft/varDecls

Declarations of Variables, fields and parameters are scoped as function if they are assigned function expression or of function type
This commit is contained in:
Sheetal Nandi 2016-11-01 15:51:15 -07:00 коммит произвёл GitHub
Родитель 56597356c9 9dc74a5bf0
Коммит 28cde3c733
24 изменённых файлов: 689 добавлений и 299 удалений

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

@ -45,15 +45,45 @@ repository:
- include: '#punctuation-comma'
var-single-variable:
name: meta.var-single-variable.expr.ts
begin: ([_$[:alpha:]][_$[:alnum:]]*)
beginCaptures:
'1': { name: meta.definition.variable.ts variable.other.readwrite.ts }
end: (?=$|[;,=}]|(\s+(of|in)\s+))
patterns:
- include: '#type-annotation'
- include: '#string'
- include: '#comment'
- name: meta.var-single-variable.expr.ts
# function assignment |
# typeannotation is fn type: < | () | (... | (param: | (param, | (param? | (param= | (param) =>
begin: (?x)([_$[:alpha:]][_$[:alnum:]]*)(?=\s*
(=\s*(
(async\s+) |
(function\s*[(<]) |
(function\s+) |
([_$[:alpha:]][_$[:alnum:]]*\s*=>) |
((<([^<>]|\<[^<>]+\>)+>\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=>))
) |
(:\s*(
(<) |
([(]\s*(
([)]) |
(\.\.\.) |
([_$[:alnum:]]+\s*(
([:,?=])|
([)]\s*=>)
))
)))
))
beginCaptures:
'1': { name: meta.definition.variable.ts entity.name.function.ts }
end: (?=$|[;,=}]|(\s+(of|in)\s+))
patterns:
- include: '#type-annotation'
- include: '#string'
- include: '#comment'
- name: meta.var-single-variable.expr.ts
begin: ([_$[:alpha:]][_$[:alnum:]]*)
beginCaptures:
'1': { name: meta.definition.variable.ts variable.other.readwrite.ts }
end: (?=$|[;,=}]|(\s+(of|in)\s+))
patterns:
- include: '#type-annotation'
- include: '#string'
- include: '#comment'
destructuring-variable:
patterns:
@ -75,30 +105,34 @@ repository:
object-binding-element:
patterns:
- include: '#comment'
- begin: ([_$[:alpha:]][_$[:alnum:]]*)\s*(:)
beginCaptures:
'1': { name: variable.object.property.ts }
'2': { name: punctuation.destructuring.ts }
- begin: (?=(([_$[:alpha:]][_$[:alnum:]]*)|(\'[^']*\')|(\"[^"]*\")|(\[([^\[\]]|\[[^\[\]]+\])+\]))\s*(:))
end: (?=,|\})
patterns:
- include: '#object-binding-pattern'
- include: '#array-binding-pattern'
- name: meta.definition.variable.ts variable.other.readwrite.ts
match: ([_$[:alpha:]][_$[:alnum:]]*)
- include: '#variable-initializer'
- include: '#object-binding-element-propertyName'
- include: '#binding-element'
- include: '#object-binding-pattern'
- include: '#destructuring-variable-rest'
- include: '#variable-initializer'
- include: '#punctuation-comma'
array-binding-element:
object-binding-element-propertyName:
begin: (?=(([_$[:alpha:]][_$[:alnum:]]*)|(\'[^']*\')|(\"[^"]*\")|(\[([^\[\]]|\[[^\[\]]+\])+\]))\s*(:))
end: (:)
endCaptures:
'0': { name: punctuation.destructuring.ts }
patterns:
- include: '#string'
- include: '#array-literal'
- name: variable.object.property.ts
match: ([_$[:alpha:]][_$[:alnum:]]*)
binding-element:
patterns:
- include: '#comment'
- include: '#object-binding-pattern'
- include: '#array-binding-pattern'
- include: '#destructuring-variable-rest'
- include: '#variable-initializer'
- include: '#punctuation-comma'
destructuring-variable-rest:
match: (?:(\.\.\.)\s*)?([_$[:alpha:]][_$[:alnum:]]*)
@ -126,7 +160,8 @@ repository:
endCaptures:
'0': { name: punctuation.definition.binding-pattern.array.ts }
patterns:
- include: '#array-binding-element'
- include: '#binding-element'
- include: '#punctuation-comma'
ternary-expression:
begin: (?=\?)
@ -257,10 +292,11 @@ repository:
patterns:
- include: '#comment'
- include: '#variable-initializer'
- begin: (?=(?:(?:\'[^']*\')|(?:\"[^"]*\")))
- begin: (?=((\'[^']*\')|(\"[^"]*\")|(\[([^\[\]]|\[[^\[\]]+\])+\])))
end: (?=,|\}|$)
patterns:
- include: '#string'
- include: '#array-literal'
- include: '#comment'
- include: '#variable-initializer'
- include: '#punctuation-comma'
@ -494,6 +530,28 @@ repository:
- include: '#string'
- include: '#array-literal'
- include: '#comment'
- name: meta.definition.property.ts entity.name.function.ts
# function assignment |
# typeannotation is fn type: < | () | (... | (param: | (param, | (param? | (param= | (param) =>
match: (?x)([_$[:alpha:]][_$[:alnum:]]*)(?=(\?\s*)?\s*
(=\s*(
(async\s+) |
(function\s*[(<]) |
(function\s+) |
([_$[:alpha:]][_$[:alnum:]]*\s*=>) |
((<([^<>]|\<[^<>]+\>)+>\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=>))
) |
(:\s*(
(<) |
([(]\s*(
([)]) |
(\.\.\.) |
([_$[:alnum:]]+\s*(
([:,?=])|
([)]\s*=>)
))
)))
))
- name: meta.definition.property.ts variable.object.property.ts
match: '[_$[:alpha:]][_$[:alnum:]]*'
- name: keyword.operator.optional.ts
@ -621,13 +679,41 @@ repository:
- include: '#object-member'
parameter-name:
match: '(?:\s*\b(readonly)\s+)?(?:\s*\b(public|private|protected)\s+)?(\.\.\.)?\s*(?<!=|:)([_$[:alpha:]][_$[:alnum:]]*)\s*(\??)'
captures:
'1': { name: storage.modifier.ts }
'2': { name: storage.modifier.ts }
'3': { name: keyword.operator.rest.ts }
'4': { name: variable.parameter.ts }
'5': { name: keyword.operator.optional.ts }
patterns:
# function assignment |
# typeannotation is fn type: < | () | (... | (param: | (param, | (param? | (param= | (param) =>
- match: (?x)(?:\s*\b(readonly)\s+)?(?:\s*\b(public|private|protected)\s+)?(\.\.\.)?\s*(?<!=|:)([_$[:alpha:]][_$[:alnum:]]*)\s*(\??)(?=\s*
(=\s*(
(async\s+) |
(function\s*[(<]) |
(function\s+) |
([_$[:alpha:]][_$[:alnum:]]*\s*=>) |
((<([^<>]|\<[^<>]+\>)+>\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=>))
) |
(:\s*(
(<) |
([(]\s*(
([)]) |
(\.\.\.) |
([_$[:alnum:]]+\s*(
([:,?=])|
([)]\s*=>)
))
)))
))
captures:
'1': { name: storage.modifier.ts }
'2': { name: storage.modifier.ts }
'3': { name: keyword.operator.rest.ts }
'4': { name: entity.name.function.ts }
'5': { name: keyword.operator.optional.ts }
- match: (?:\s*\b(readonly)\s+)?(?:\s*\b(public|private|protected)\s+)?(\.\.\.)?\s*(?<!=|:)([_$[:alpha:]][_$[:alnum:]]*)\s*(\??)
captures:
'1': { name: storage.modifier.ts }
'2': { name: storage.modifier.ts }
'3': { name: keyword.operator.rest.ts }
'4': { name: variable.parameter.ts }
'5': { name: keyword.operator.optional.ts }
destructuring-parameter:
patterns:
@ -648,35 +734,29 @@ repository:
endCaptures:
'0': { name: punctuation.definition.binding-pattern.array.ts }
patterns:
- include: '#parameter-array-binding-element'
- include: '#parameter-binding-element'
- include: '#punctuation-comma'
parameter-object-binding-element:
patterns:
- include: '#comment'
- begin: ([_$[:alpha:]][_$[:alnum:]]*)\s*(:)
beginCaptures:
'1': { name: variable.object.property.ts }
'2': { name: punctuation.destructuring.ts }
- begin: (?=(([_$[:alpha:]][_$[:alnum:]]*)|(\'[^']*\')|(\"[^"]*\")|(\[([^\[\]]|\[[^\[\]]+\])+\]))\s*(:))
end: (?=,|\})
patterns:
- include: '#parameter-object-binding-pattern'
- include: '#parameter-array-binding-pattern'
- name: variable.parameter.ts
match: ([_$[:alpha:]][_$[:alnum:]]*)
- include: '#variable-initializer'
- include: '#object-binding-element-propertyName'
- include: '#parameter-binding-element'
- include: '#parameter-object-binding-pattern'
- include: '#destructuring-parameter-rest'
- include: '#variable-initializer'
- include: '#punctuation-comma'
parameter-array-binding-element:
parameter-binding-element:
patterns:
- include: '#comment'
- include: '#parameter-object-binding-pattern'
- include: '#parameter-array-binding-pattern'
- include: '#destructuring-parameter-rest'
- include: '#variable-initializer'
- include: '#punctuation-comma'
destructuring-parameter-rest:
match: (?:(\.\.\.)\s*)?([_$[:alpha:]][_$[:alnum:]]*)
@ -704,7 +784,8 @@ repository:
endCaptures:
'0': { name: punctuation.definition.binding-pattern.array.ts }
patterns:
- include: '#parameter-array-binding-element'
- include: '#parameter-binding-element'
- include: '#punctuation-comma'
return-type:
name: meta.return.type.ts

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

@ -140,33 +140,69 @@
</dict>
<key>var-single-variable</key>
<dict>
<key>name</key>
<string>meta.var-single-variable.expr.ts</string>
<key>begin</key>
<string>([_$[:alpha:]][_$[:alnum:]]*)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>meta.definition.variable.ts variable.other.readwrite.ts</string>
</dict>
</dict>
<key>end</key>
<string>(?=$|[;,=}]|(\s+(of|in)\s+))</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#type-annotation</string>
<key>name</key>
<string>meta.var-single-variable.expr.ts</string>
<key>begin</key>
<string>(?x)([_$[:alpha:]][_$[:alnum:]]*)(?=\s* (=\s*( (async\s+) | (function\s*[(&lt;]) | (function\s+) | ([_$[:alpha:]][_$[:alnum:]]*\s*=&gt;) | ((&lt;([^&lt;&gt;]|\&lt;[^&lt;&gt;]+\&gt;)+&gt;\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=&gt;)) ) | (:\s*( (&lt;) | ([(]\s*( ([)]) | (\.\.\.) | ([_$[:alnum:]]+\s*( ([:,?=])| ([)]\s*=&gt;) )) ))) ))</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>meta.definition.variable.ts entity.name.function.ts</string>
</dict>
</dict>
<key>end</key>
<string>(?=$|[;,=}]|(\s+(of|in)\s+))</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#type-annotation</string>
</dict>
<dict>
<key>include</key>
<string>#string</string>
</dict>
<dict>
<key>include</key>
<string>#comment</string>
</dict>
</array>
</dict>
<dict>
<key>include</key>
<string>#string</string>
</dict>
<dict>
<key>include</key>
<string>#comment</string>
<key>name</key>
<string>meta.var-single-variable.expr.ts</string>
<key>begin</key>
<string>([_$[:alpha:]][_$[:alnum:]]*)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>meta.definition.variable.ts variable.other.readwrite.ts</string>
</dict>
</dict>
<key>end</key>
<string>(?=$|[;,=}]|(\s+(of|in)\s+))</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#type-annotation</string>
</dict>
<dict>
<key>include</key>
<string>#string</string>
</dict>
<dict>
<key>include</key>
<string>#comment</string>
</dict>
</array>
</dict>
</array>
</dict>
@ -232,41 +268,18 @@
</dict>
<dict>
<key>begin</key>
<string>([_$[:alpha:]][_$[:alnum:]]*)\s*(:)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>variable.object.property.ts</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.destructuring.ts</string>
</dict>
</dict>
<string>(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\'[^']*\')|(\"[^"]*\")|(\[([^\[\]]|\[[^\[\]]+\])+\]))\s*(:))</string>
<key>end</key>
<string>(?=,|\})</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#object-binding-pattern</string>
<string>#object-binding-element-propertyName</string>
</dict>
<dict>
<key>include</key>
<string>#array-binding-pattern</string>
</dict>
<dict>
<key>name</key>
<string>meta.definition.variable.ts variable.other.readwrite.ts</string>
<key>match</key>
<string>([_$[:alpha:]][_$[:alnum:]]*)</string>
</dict>
<dict>
<key>include</key>
<string>#variable-initializer</string>
<string>#binding-element</string>
</dict>
</array>
</dict>
@ -288,7 +301,39 @@
</dict>
</array>
</dict>
<key>array-binding-element</key>
<key>object-binding-element-propertyName</key>
<dict>
<key>begin</key>
<string>(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\'[^']*\')|(\"[^"]*\")|(\[([^\[\]]|\[[^\[\]]+\])+\]))\s*(:))</string>
<key>end</key>
<string>(:)</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.destructuring.ts</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#string</string>
</dict>
<dict>
<key>include</key>
<string>#array-literal</string>
</dict>
<dict>
<key>name</key>
<string>variable.object.property.ts</string>
<key>match</key>
<string>([_$[:alpha:]][_$[:alnum:]]*)</string>
</dict>
</array>
</dict>
<key>binding-element</key>
<dict>
<key>patterns</key>
<array>
@ -312,10 +357,6 @@
<key>include</key>
<string>#variable-initializer</string>
</dict>
<dict>
<key>include</key>
<string>#punctuation-comma</string>
</dict>
</array>
</dict>
<key>destructuring-variable-rest</key>
@ -402,7 +443,11 @@
<array>
<dict>
<key>include</key>
<string>#array-binding-element</string>
<string>#binding-element</string>
</dict>
<dict>
<key>include</key>
<string>#punctuation-comma</string>
</dict>
</array>
</dict>
@ -826,7 +871,7 @@
</dict>
<dict>
<key>begin</key>
<string>(?=(?:(?:\'[^']*\')|(?:\"[^"]*\")))</string>
<string>(?=((\'[^']*\')|(\"[^"]*\")|(\[([^\[\]]|\[[^\[\]]+\])+\])))</string>
<key>end</key>
<string>(?=,|\}|$)</string>
<key>patterns</key>
@ -835,6 +880,10 @@
<key>include</key>
<string>#string</string>
</dict>
<dict>
<key>include</key>
<string>#array-literal</string>
</dict>
<dict>
<key>include</key>
<string>#comment</string>
@ -1626,6 +1675,12 @@
<key>include</key>
<string>#comment</string>
</dict>
<dict>
<key>name</key>
<string>meta.definition.property.ts entity.name.function.ts</string>
<key>match</key>
<string>(?x)([_$[:alpha:]][_$[:alnum:]]*)(?=(\?\s*)?\s* (=\s*( (async\s+) | (function\s*[(&lt;]) | (function\s+) | ([_$[:alpha:]][_$[:alnum:]]*\s*=&gt;) | ((&lt;([^&lt;&gt;]|\&lt;[^&lt;&gt;]+\&gt;)+&gt;\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=&gt;)) ) | (:\s*( (&lt;) | ([(]\s*( ([)]) | (\.\.\.) | ([_$[:alnum:]]+\s*( ([:,?=])| ([)]\s*=&gt;) )) ))) ))</string>
</dict>
<dict>
<key>name</key>
<string>meta.definition.property.ts variable.object.property.ts</string>
@ -2046,36 +2101,73 @@
</dict>
<key>parameter-name</key>
<dict>
<key>match</key>
<string>(?:\s*\b(readonly)\s+)?(?:\s*\b(public|private|protected)\s+)?(\.\.\.)?\s*(?&lt;!=|:)([_$[:alpha:]][_$[:alnum:]]*)\s*(\??)</string>
<key>captures</key>
<dict>
<key>1</key>
<key>patterns</key>
<array>
<dict>
<key>name</key>
<string>storage.modifier.ts</string>
<key>match</key>
<string>(?x)(?:\s*\b(readonly)\s+)?(?:\s*\b(public|private|protected)\s+)?(\.\.\.)?\s*(?&lt;!=|:)([_$[:alpha:]][_$[:alnum:]]*)\s*(\??)(?=\s* (=\s*( (async\s+) | (function\s*[(&lt;]) | (function\s+) | ([_$[:alpha:]][_$[:alnum:]]*\s*=&gt;) | ((&lt;([^&lt;&gt;]|\&lt;[^&lt;&gt;]+\&gt;)+&gt;\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=&gt;)) ) | (:\s*( (&lt;) | ([(]\s*( ([)]) | (\.\.\.) | ([_$[:alnum:]]+\s*( ([:,?=])| ([)]\s*=&gt;) )) ))) ))</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.modifier.ts</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>storage.modifier.ts</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>keyword.operator.rest.ts</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>entity.name.function.ts</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>keyword.operator.optional.ts</string>
</dict>
</dict>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>storage.modifier.ts</string>
<key>match</key>
<string>(?:\s*\b(readonly)\s+)?(?:\s*\b(public|private|protected)\s+)?(\.\.\.)?\s*(?&lt;!=|:)([_$[:alpha:]][_$[:alnum:]]*)\s*(\??)</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.modifier.ts</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>storage.modifier.ts</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>keyword.operator.rest.ts</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>variable.parameter.ts</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>keyword.operator.optional.ts</string>
</dict>
</dict>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>keyword.operator.rest.ts</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>variable.parameter.ts</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>keyword.operator.optional.ts</string>
</dict>
</dict>
</array>
</dict>
<key>destructuring-parameter</key>
<dict>
@ -2139,7 +2231,11 @@
<array>
<dict>
<key>include</key>
<string>#parameter-array-binding-element</string>
<string>#parameter-binding-element</string>
</dict>
<dict>
<key>include</key>
<string>#punctuation-comma</string>
</dict>
</array>
</dict>
@ -2155,41 +2251,18 @@
</dict>
<dict>
<key>begin</key>
<string>([_$[:alpha:]][_$[:alnum:]]*)\s*(:)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>variable.object.property.ts</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.destructuring.ts</string>
</dict>
</dict>
<string>(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\'[^']*\')|(\"[^"]*\")|(\[([^\[\]]|\[[^\[\]]+\])+\]))\s*(:))</string>
<key>end</key>
<string>(?=,|\})</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#parameter-object-binding-pattern</string>
<string>#object-binding-element-propertyName</string>
</dict>
<dict>
<key>include</key>
<string>#parameter-array-binding-pattern</string>
</dict>
<dict>
<key>name</key>
<string>variable.parameter.ts</string>
<key>match</key>
<string>([_$[:alpha:]][_$[:alnum:]]*)</string>
</dict>
<dict>
<key>include</key>
<string>#variable-initializer</string>
<string>#parameter-binding-element</string>
</dict>
</array>
</dict>
@ -2211,7 +2284,7 @@
</dict>
</array>
</dict>
<key>parameter-array-binding-element</key>
<key>parameter-binding-element</key>
<dict>
<key>patterns</key>
<array>
@ -2235,10 +2308,6 @@
<key>include</key>
<string>#variable-initializer</string>
</dict>
<dict>
<key>include</key>
<string>#punctuation-comma</string>
</dict>
</array>
</dict>
<key>destructuring-parameter-rest</key>
@ -2325,7 +2394,11 @@
<array>
<dict>
<key>include</key>
<string>#parameter-array-binding-element</string>
<string>#parameter-binding-element</string>
</dict>
<dict>
<key>include</key>
<string>#punctuation-comma</string>
</dict>
</array>
</dict>

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

@ -140,33 +140,69 @@
</dict>
<key>var-single-variable</key>
<dict>
<key>name</key>
<string>meta.var-single-variable.expr.tsx</string>
<key>begin</key>
<string>([_$[:alpha:]][_$[:alnum:]]*)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>meta.definition.variable.tsx variable.other.readwrite.tsx</string>
</dict>
</dict>
<key>end</key>
<string>(?=$|[;,=}]|(\s+(of|in)\s+))</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#type-annotation</string>
<key>name</key>
<string>meta.var-single-variable.expr.tsx</string>
<key>begin</key>
<string>(?x)([_$[:alpha:]][_$[:alnum:]]*)(?=\s* (=\s*( (async\s+) | (function\s*[(&lt;]) | (function\s+) | ([_$[:alpha:]][_$[:alnum:]]*\s*=&gt;) | ((&lt;([^&lt;&gt;]|\&lt;[^&lt;&gt;]+\&gt;)+&gt;\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=&gt;)) ) | (:\s*( (&lt;) | ([(]\s*( ([)]) | (\.\.\.) | ([_$[:alnum:]]+\s*( ([:,?=])| ([)]\s*=&gt;) )) ))) ))</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>meta.definition.variable.tsx entity.name.function.tsx</string>
</dict>
</dict>
<key>end</key>
<string>(?=$|[;,=}]|(\s+(of|in)\s+))</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#type-annotation</string>
</dict>
<dict>
<key>include</key>
<string>#string</string>
</dict>
<dict>
<key>include</key>
<string>#comment</string>
</dict>
</array>
</dict>
<dict>
<key>include</key>
<string>#string</string>
</dict>
<dict>
<key>include</key>
<string>#comment</string>
<key>name</key>
<string>meta.var-single-variable.expr.tsx</string>
<key>begin</key>
<string>([_$[:alpha:]][_$[:alnum:]]*)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>meta.definition.variable.tsx variable.other.readwrite.tsx</string>
</dict>
</dict>
<key>end</key>
<string>(?=$|[;,=}]|(\s+(of|in)\s+))</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#type-annotation</string>
</dict>
<dict>
<key>include</key>
<string>#string</string>
</dict>
<dict>
<key>include</key>
<string>#comment</string>
</dict>
</array>
</dict>
</array>
</dict>
@ -232,41 +268,18 @@
</dict>
<dict>
<key>begin</key>
<string>([_$[:alpha:]][_$[:alnum:]]*)\s*(:)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>variable.object.property.tsx</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.destructuring.tsx</string>
</dict>
</dict>
<string>(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\'[^']*\')|(\"[^"]*\")|(\[([^\[\]]|\[[^\[\]]+\])+\]))\s*(:))</string>
<key>end</key>
<string>(?=,|\})</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#object-binding-pattern</string>
<string>#object-binding-element-propertyName</string>
</dict>
<dict>
<key>include</key>
<string>#array-binding-pattern</string>
</dict>
<dict>
<key>name</key>
<string>meta.definition.variable.tsx variable.other.readwrite.tsx</string>
<key>match</key>
<string>([_$[:alpha:]][_$[:alnum:]]*)</string>
</dict>
<dict>
<key>include</key>
<string>#variable-initializer</string>
<string>#binding-element</string>
</dict>
</array>
</dict>
@ -288,7 +301,39 @@
</dict>
</array>
</dict>
<key>array-binding-element</key>
<key>object-binding-element-propertyName</key>
<dict>
<key>begin</key>
<string>(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\'[^']*\')|(\"[^"]*\")|(\[([^\[\]]|\[[^\[\]]+\])+\]))\s*(:))</string>
<key>end</key>
<string>(:)</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.destructuring.tsx</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#string</string>
</dict>
<dict>
<key>include</key>
<string>#array-literal</string>
</dict>
<dict>
<key>name</key>
<string>variable.object.property.tsx</string>
<key>match</key>
<string>([_$[:alpha:]][_$[:alnum:]]*)</string>
</dict>
</array>
</dict>
<key>binding-element</key>
<dict>
<key>patterns</key>
<array>
@ -312,10 +357,6 @@
<key>include</key>
<string>#variable-initializer</string>
</dict>
<dict>
<key>include</key>
<string>#punctuation-comma</string>
</dict>
</array>
</dict>
<key>destructuring-variable-rest</key>
@ -402,7 +443,11 @@
<array>
<dict>
<key>include</key>
<string>#array-binding-element</string>
<string>#binding-element</string>
</dict>
<dict>
<key>include</key>
<string>#punctuation-comma</string>
</dict>
</array>
</dict>
@ -830,7 +875,7 @@
</dict>
<dict>
<key>begin</key>
<string>(?=(?:(?:\'[^']*\')|(?:\"[^"]*\")))</string>
<string>(?=((\'[^']*\')|(\"[^"]*\")|(\[([^\[\]]|\[[^\[\]]+\])+\])))</string>
<key>end</key>
<string>(?=,|\}|$)</string>
<key>patterns</key>
@ -839,6 +884,10 @@
<key>include</key>
<string>#string</string>
</dict>
<dict>
<key>include</key>
<string>#array-literal</string>
</dict>
<dict>
<key>include</key>
<string>#comment</string>
@ -1630,6 +1679,12 @@
<key>include</key>
<string>#comment</string>
</dict>
<dict>
<key>name</key>
<string>meta.definition.property.tsx entity.name.function.tsx</string>
<key>match</key>
<string>(?x)([_$[:alpha:]][_$[:alnum:]]*)(?=(\?\s*)?\s* (=\s*( (async\s+) | (function\s*[(&lt;]) | (function\s+) | ([_$[:alpha:]][_$[:alnum:]]*\s*=&gt;) | ((&lt;([^&lt;&gt;]|\&lt;[^&lt;&gt;]+\&gt;)+&gt;\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=&gt;)) ) | (:\s*( (&lt;) | ([(]\s*( ([)]) | (\.\.\.) | ([_$[:alnum:]]+\s*( ([:,?=])| ([)]\s*=&gt;) )) ))) ))</string>
</dict>
<dict>
<key>name</key>
<string>meta.definition.property.tsx variable.object.property.tsx</string>
@ -2050,36 +2105,73 @@
</dict>
<key>parameter-name</key>
<dict>
<key>match</key>
<string>(?:\s*\b(readonly)\s+)?(?:\s*\b(public|private|protected)\s+)?(\.\.\.)?\s*(?&lt;!=|:)([_$[:alpha:]][_$[:alnum:]]*)\s*(\??)</string>
<key>captures</key>
<dict>
<key>1</key>
<key>patterns</key>
<array>
<dict>
<key>name</key>
<string>storage.modifier.tsx</string>
<key>match</key>
<string>(?x)(?:\s*\b(readonly)\s+)?(?:\s*\b(public|private|protected)\s+)?(\.\.\.)?\s*(?&lt;!=|:)([_$[:alpha:]][_$[:alnum:]]*)\s*(\??)(?=\s* (=\s*( (async\s+) | (function\s*[(&lt;]) | (function\s+) | ([_$[:alpha:]][_$[:alnum:]]*\s*=&gt;) | ((&lt;([^&lt;&gt;]|\&lt;[^&lt;&gt;]+\&gt;)+&gt;\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=&gt;)) ) | (:\s*( (&lt;) | ([(]\s*( ([)]) | (\.\.\.) | ([_$[:alnum:]]+\s*( ([:,?=])| ([)]\s*=&gt;) )) ))) ))</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.modifier.tsx</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>storage.modifier.tsx</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>keyword.operator.rest.tsx</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>entity.name.function.tsx</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>keyword.operator.optional.tsx</string>
</dict>
</dict>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>storage.modifier.tsx</string>
<key>match</key>
<string>(?:\s*\b(readonly)\s+)?(?:\s*\b(public|private|protected)\s+)?(\.\.\.)?\s*(?&lt;!=|:)([_$[:alpha:]][_$[:alnum:]]*)\s*(\??)</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.modifier.tsx</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>storage.modifier.tsx</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>keyword.operator.rest.tsx</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>variable.parameter.tsx</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>keyword.operator.optional.tsx</string>
</dict>
</dict>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>keyword.operator.rest.tsx</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>variable.parameter.tsx</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>keyword.operator.optional.tsx</string>
</dict>
</dict>
</array>
</dict>
<key>destructuring-parameter</key>
<dict>
@ -2143,7 +2235,11 @@
<array>
<dict>
<key>include</key>
<string>#parameter-array-binding-element</string>
<string>#parameter-binding-element</string>
</dict>
<dict>
<key>include</key>
<string>#punctuation-comma</string>
</dict>
</array>
</dict>
@ -2159,41 +2255,18 @@
</dict>
<dict>
<key>begin</key>
<string>([_$[:alpha:]][_$[:alnum:]]*)\s*(:)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>variable.object.property.tsx</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.destructuring.tsx</string>
</dict>
</dict>
<string>(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\'[^']*\')|(\"[^"]*\")|(\[([^\[\]]|\[[^\[\]]+\])+\]))\s*(:))</string>
<key>end</key>
<string>(?=,|\})</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#parameter-object-binding-pattern</string>
<string>#object-binding-element-propertyName</string>
</dict>
<dict>
<key>include</key>
<string>#parameter-array-binding-pattern</string>
</dict>
<dict>
<key>name</key>
<string>variable.parameter.tsx</string>
<key>match</key>
<string>([_$[:alpha:]][_$[:alnum:]]*)</string>
</dict>
<dict>
<key>include</key>
<string>#variable-initializer</string>
<string>#parameter-binding-element</string>
</dict>
</array>
</dict>
@ -2215,7 +2288,7 @@
</dict>
</array>
</dict>
<key>parameter-array-binding-element</key>
<key>parameter-binding-element</key>
<dict>
<key>patterns</key>
<array>
@ -2239,10 +2312,6 @@
<key>include</key>
<string>#variable-initializer</string>
</dict>
<dict>
<key>include</key>
<string>#punctuation-comma</string>
</dict>
</array>
</dict>
<key>destructuring-parameter-rest</key>
@ -2329,7 +2398,11 @@
<array>
<dict>
<key>include</key>
<string>#parameter-array-binding-element</string>
<string>#parameter-binding-element</string>
</dict>
<dict>
<key>include</key>
<string>#punctuation-comma</string>
</dict>
</array>
</dict>

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

@ -139,7 +139,7 @@ Grammar: TypeScript.tmLanguage
^^^^
source.ts meta.function.ts meta.parameters.ts
^^
source.ts meta.function.ts meta.parameters.ts variable.parameter.ts
source.ts meta.function.ts meta.parameters.ts entity.name.function.ts
^
source.ts meta.function.ts meta.parameters.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
^
@ -162,7 +162,7 @@ Grammar: TypeScript.tmLanguage
^^^^
source.ts meta.function.ts meta.parameters.ts
^^
source.ts meta.function.ts meta.parameters.ts variable.parameter.ts
source.ts meta.function.ts meta.parameters.ts entity.name.function.ts
^
source.ts meta.function.ts meta.parameters.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
^
@ -497,7 +497,7 @@ Grammar: TypeScript.tmLanguage
^^^^^^^^
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts
^^
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts variable.parameter.ts
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts entity.name.function.ts
^
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
^
@ -520,7 +520,7 @@ Grammar: TypeScript.tmLanguage
^^^^^^^^
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts
^^
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts variable.parameter.ts
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts entity.name.function.ts
^
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
^

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

@ -51,10 +51,10 @@ Grammar: TypeScript.tmLanguage
[6, 5]: source.ts meta.function.ts meta.parameters.ts variable.parameter.ts
> m5: () => void,
^^
[7, 5]: source.ts meta.function.ts meta.parameters.ts variable.parameter.ts
[7, 5]: source.ts meta.function.ts meta.parameters.ts entity.name.function.ts
> m6: (x:(string), y:[number, string]) => number,
^^
[8, 5]: source.ts meta.function.ts meta.parameters.ts variable.parameter.ts
[8, 5]: source.ts meta.function.ts meta.parameters.ts entity.name.function.ts
> m7: Array<number>,
^^
[9, 5]: source.ts meta.function.ts meta.parameters.ts variable.parameter.ts
@ -89,10 +89,10 @@ Grammar: TypeScript.tmLanguage
[22, 9]: source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts variable.parameter.ts
> m5: () => void,
^^
[23, 9]: source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts variable.parameter.ts
[23, 9]: source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts entity.name.function.ts
> m6: (x:(string), y:[number, string]) => number,
^^
[24, 9]: source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts variable.parameter.ts
[24, 9]: source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts entity.name.function.ts
> m7: Array<number>,
^^
[25, 9]: source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts variable.parameter.ts

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

@ -128,7 +128,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts meta.var.expr.ts
^^^
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts variable.other.readwrite.ts
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts entity.name.function.ts
^
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
^
@ -182,7 +182,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts meta.var.expr.ts
^^^
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts variable.other.readwrite.ts
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts entity.name.function.ts
^
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
^

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

@ -84,7 +84,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts meta.class.ts
^^^^^^^^^^
source.ts meta.class.ts meta.field.declaration.ts meta.definition.property.ts variable.object.property.ts
source.ts meta.class.ts meta.field.declaration.ts meta.definition.property.ts entity.name.function.ts
^
source.ts meta.class.ts meta.field.declaration.ts
^

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

@ -40,7 +40,7 @@ Grammar: TypeScript.tmLanguage
^^
source.ts meta.class.ts
^^^^^^^^^^^^^^^^^
source.ts meta.class.ts meta.field.declaration.ts meta.definition.property.ts variable.object.property.ts
source.ts meta.class.ts meta.field.declaration.ts meta.definition.property.ts entity.name.function.ts
^
source.ts meta.class.ts meta.field.declaration.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
^

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

@ -26,7 +26,7 @@ Grammar: TypeScript.tmLanguage
^^
source.ts meta.class.ts
^^^
source.ts meta.class.ts meta.field.declaration.ts meta.definition.property.ts variable.object.property.ts
source.ts meta.class.ts meta.field.declaration.ts meta.definition.property.ts entity.name.function.ts
^
source.ts meta.class.ts meta.field.declaration.ts
^

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

@ -12,7 +12,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts meta.var.expr.ts
^
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts variable.other.readwrite.ts
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts entity.name.function.ts
^
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
^
@ -49,7 +49,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts meta.var.expr.ts
^^
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts variable.other.readwrite.ts
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts entity.name.function.ts
^
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
^

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

@ -72,7 +72,7 @@ Grammar: TypeScript.tmLanguage
^^^^
source.ts meta.class.ts
^^^^^^^^
source.ts meta.class.ts meta.field.declaration.ts meta.definition.property.ts variable.object.property.ts
source.ts meta.class.ts meta.field.declaration.ts meta.definition.property.ts entity.name.function.ts
^
source.ts meta.class.ts meta.field.declaration.ts
^

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

@ -63,7 +63,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts meta.function.ts meta.block.ts meta.var.expr.ts
^
source.ts meta.function.ts meta.block.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts variable.other.readwrite.ts
source.ts meta.function.ts meta.block.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts entity.name.function.ts
^
source.ts meta.function.ts meta.block.ts meta.var.expr.ts meta.var-single-variable.expr.ts
^

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

@ -35,7 +35,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts meta.class.ts
^^^^^^^^^^
source.ts meta.class.ts meta.field.declaration.ts meta.definition.property.ts variable.object.property.ts
source.ts meta.class.ts meta.field.declaration.ts meta.definition.property.ts entity.name.function.ts
^
source.ts meta.class.ts meta.field.declaration.ts
^

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

@ -43,7 +43,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts meta.var.expr.ts
^
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts variable.other.readwrite.ts
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts entity.name.function.ts
^
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
^

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

@ -17,7 +17,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts meta.var.expr.ts
^^^^^^^^^^^^^^^^
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts variable.other.readwrite.ts
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts entity.name.function.ts
^
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
^

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

@ -82,7 +82,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts meta.class.ts
^^^^^^^^
source.ts meta.class.ts meta.field.declaration.ts meta.definition.property.ts variable.object.property.ts
source.ts meta.class.ts meta.field.declaration.ts meta.definition.property.ts entity.name.function.ts
^
source.ts meta.class.ts meta.field.declaration.ts
^

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

@ -63,7 +63,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts meta.var.expr.ts
^^^^^^^^^^^
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts variable.other.readwrite.ts
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts entity.name.function.ts
^
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
^
@ -114,7 +114,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts meta.var.expr.ts
^^^^^^^^^^^^
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts variable.other.readwrite.ts
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts entity.name.function.ts
^
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
^

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

@ -53,7 +53,7 @@ Grammar: TypeScript.tmLanguage
^^^^^^^^
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts
^^^^^^^^^^^^^^^^^^^^
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts variable.parameter.ts
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts entity.name.function.ts
^
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
^

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

@ -23,7 +23,7 @@ Grammar: TypeScript.tmLanguage
[3, 25]: source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts comment.line.double-slash.ts
> exitEditModeCallback: () => void // Used to re-enable View updates.
^^^^^^^^^^^^^^^^^^^^
[4, 9]: source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts variable.parameter.ts
[4, 9]: source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts entity.name.function.ts
^
[4, 31]: source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts meta.type.annotation.ts meta.type.function.ts meta.parameters.ts punctuation.definition.parameters.begin.ts
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

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

@ -19,7 +19,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts meta.var.expr.ts
^
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts variable.other.readwrite.ts
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts entity.name.function.ts
^
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
^

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

@ -49,7 +49,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts meta.var.expr.ts
^^
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts variable.other.readwrite.ts
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts entity.name.function.ts
^
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
^
@ -132,7 +132,7 @@ Grammar: TypeScript.tmLanguage
^
source.ts meta.var.expr.ts
^^
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts variable.other.readwrite.ts
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts entity.name.function.ts
^
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
^

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

@ -21,14 +21,14 @@ Grammar: TypeScript.tmLanguage
^^
[2, 5]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts variable.other.readwrite.ts
^^
[2, 13]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts variable.other.readwrite.ts
[2, 13]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts entity.name.function.ts
^^
[2, 46]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts variable.other.readwrite.ts
>var a2: string = "test", b2: () => void = () => { console.log("hello"); }, c2: string | number;
^^
[3, 5]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts variable.other.readwrite.ts
^^
[3, 26]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts variable.other.readwrite.ts
[3, 26]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts entity.name.function.ts
^^
[3, 76]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts variable.other.readwrite.ts
>var obj = {

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

@ -0,0 +1,160 @@
original file
-----------------------------------
var { "propName": prop, 'propName2': prop2, ["string"]: str } = foo();
function bar({ "propName": prop, 'propName2': prop2, ["string"]: str }){
}
-----------------------------------
Grammar: TypeScript.tmLanguage
-----------------------------------
>var { "propName": prop, 'propName2': prop2, ["string"]: str } = foo();
^^^
source.ts meta.var.expr.ts storage.type.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts punctuation.definition.binding-pattern.object.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts string.quoted.double.ts punctuation.definition.string.begin.ts
^^^^^^^^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts string.quoted.double.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts string.quoted.double.ts punctuation.definition.string.end.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts punctuation.destructuring.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts
^^^^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts meta.definition.variable.ts variable.other.readwrite.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts punctuation.separator.comma.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts string.quoted.single.ts punctuation.definition.string.begin.ts
^^^^^^^^^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts string.quoted.single.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts string.quoted.single.ts punctuation.definition.string.end.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts punctuation.destructuring.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts
^^^^^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts meta.definition.variable.ts variable.other.readwrite.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts punctuation.separator.comma.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts meta.array.literal.ts meta.brace.square.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts meta.array.literal.ts string.quoted.double.ts punctuation.definition.string.begin.ts
^^^^^^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts meta.array.literal.ts string.quoted.double.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts meta.array.literal.ts string.quoted.double.ts punctuation.definition.string.end.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts meta.array.literal.ts meta.brace.square.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts punctuation.destructuring.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts
^^^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts meta.definition.variable.ts variable.other.readwrite.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts punctuation.definition.binding-pattern.object.ts
^
source.ts meta.var.expr.ts meta.object-binding-pattern-variable.ts
^
source.ts meta.var.expr.ts keyword.operator.assignment.ts
^
source.ts meta.var.expr.ts
^^^
source.ts meta.var.expr.ts entity.name.function.ts
^
source.ts meta.var.expr.ts meta.brace.round.ts
^
source.ts meta.var.expr.ts meta.brace.round.ts
^
source.ts punctuation.terminator.statement.ts
^^
source.ts
>function bar({ "propName": prop, 'propName2': prop2, ["string"]: str }){
^^^^^^^^
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 meta.parameter.object-binding-pattern.ts punctuation.definition.binding-pattern.object.ts
^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts
^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts string.quoted.double.ts punctuation.definition.string.begin.ts
^^^^^^^^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts string.quoted.double.ts
^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts string.quoted.double.ts punctuation.definition.string.end.ts
^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts punctuation.destructuring.ts
^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts
^^^^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts variable.parameter.ts
^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts punctuation.separator.comma.ts
^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts
^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts string.quoted.single.ts punctuation.definition.string.begin.ts
^^^^^^^^^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts string.quoted.single.ts
^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts string.quoted.single.ts punctuation.definition.string.end.ts
^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts punctuation.destructuring.ts
^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts
^^^^^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts variable.parameter.ts
^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts punctuation.separator.comma.ts
^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts
^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts meta.array.literal.ts meta.brace.square.ts
^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts meta.array.literal.ts string.quoted.double.ts punctuation.definition.string.begin.ts
^^^^^^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts meta.array.literal.ts string.quoted.double.ts
^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts meta.array.literal.ts string.quoted.double.ts punctuation.definition.string.end.ts
^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts meta.array.literal.ts meta.brace.square.ts
^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts punctuation.destructuring.ts
^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts
^^^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts variable.parameter.ts
^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts
^
source.ts meta.function.ts meta.parameters.ts meta.parameter.object-binding-pattern.ts punctuation.definition.binding-pattern.object.ts
^
source.ts meta.function.ts meta.parameters.ts punctuation.definition.parameters.end.ts
^
source.ts meta.function.ts meta.block.ts punctuation.definition.block.ts
^^
source.ts meta.function.ts meta.block.ts
>}
^
source.ts meta.function.ts meta.block.ts punctuation.definition.block.ts

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

@ -0,0 +1,3 @@
var { "propName": prop, 'propName2': prop2, ["string"]: str } = foo();
function bar({ "propName": prop, 'propName2': prop2, ["string"]: str }){
}