@@ -36,7 +36,7 @@ variables:
3636 typeParamersStart : ([_$[:alpha:]]|{{matchingBraces}}|{{matchingParenthesis}}|{{matchingBrackets}})
3737 typeParameters : (<\s*{{typeParamersStart}}([^=<>]|=[^<]|\<\s*{{typeParamersStart}}([^=<>]|=[^<])*\>)*>\s*)
3838 # Identifier start | matching braces | matching parenthesis | matching square brackets | matching strings
39- typeArgumentsStart : ({{identifier}}|{{matchingBraces}}|{{matchingParenthesis}}|{{matchingBrackets}}|(\'[^\']*\')|(\"[^\"]*\")|(\`[^\`]*\`))(?=\s*([\<\>\,]|=>|&(?!&)|\|(?!\|)))
39+ typeArgumentsStart : ({{identifier}}|{{matchingBraces}}|{{matchingParenthesis}}|{{matchingBrackets}}|(\'[^\']*\')|(\"[^\"]*\")|(\`[^\`]*\`))(?=\s*([\<\>\,\.\[ ]|=>|&(?!&)|\|(?!\|)))
4040 typeArgumentsInnerExpressionPart : ' [^<>\(]|{{matchingParenthesis}}|(?<==)\>'
4141 typeArguments : ' <\s*{{typeArgumentsStart}}({{typeArgumentsInnerExpressionPart}}|\<\s*{{typeArgumentsStart}}({{typeArgumentsInnerExpressionPart}})*(?!=)\>)*(?!=)>'
4242 functionCallLookup : \s*(\?\.\s*)?({{typeArguments}}\s*)?\(
@@ -619,16 +619,18 @@ repository:
619619
620620 indexer-mapped-type-declaration :
621621 name : meta.indexer.mappedtype.declaration.ts
622- begin : (?:{{startOfIdentifier}}(readonly)\s*)?(\[)\s*({{identifier}})\s+(in)\s+
622+ begin : (?:{{startOfIdentifier}}([+-])?( readonly)\s*)?(\[)\s*({{identifier}})\s+(in)\s+
623623 beginCaptures :
624- ' 1 ' : { name: storage.modifier.ts }
625- ' 2 ' : { name: meta.brace.square.ts }
626- ' 3 ' : { name: entity.name.type.ts }
627- ' 4 ' : { name: keyword.operator.expression.in.ts }
628- end : (\])\s*(\?\s*)?|$
624+ ' 1 ' : { name: keyword.operator.type.modifier.ts }
625+ ' 2 ' : { name: storage.modifier.ts }
626+ ' 3 ' : { name: meta.brace.square.ts }
627+ ' 4 ' : { name: entity.name.type.ts }
628+ ' 5 ' : { name: keyword.operator.expression.in.ts }
629+ end : (\])([+-])?\s*(\?\s*)?|$
629630 endCaptures :
630631 ' 1 ' : { name: meta.brace.square.ts }
631- ' 2 ' : { name: keyword.operator.optional.ts }
632+ ' 2 ' : { name: keyword.operator.type.modifier.ts }
633+ ' 3 ' : { name: keyword.operator.optional.ts }
632634 patterns :
633635 - include : ' #type'
634636
@@ -1140,7 +1142,7 @@ repository:
11401142 begin : ' {{startOfIdentifier}}(new){{endOfIdentifier}}'
11411143 beginCaptures :
11421144 ' 1 ' : { name: keyword.operator.new.ts }
1143- end : (?<=\))|(?=[;),}\]:]|$|({{startOfIdentifier}}new{{endOfIdentifier}})|({{startOfIdentifier}}function((\s+{{identifier}})|(\s*[\(]))))
1145+ end : (?<=\))|(?=[;),}\]:]|\|\||\&\&| $|({{startOfIdentifier}}new{{endOfIdentifier}})|({{startOfIdentifier}}function((\s+{{identifier}})|(\s*[\(]))))
11441146 patterns :
11451147 - include : ' #paren-expression'
11461148 - include : ' #class-declaration'
@@ -1150,7 +1152,7 @@ repository:
11501152 begin : ' {{startOfIdentifier}}(instanceof){{endOfIdentifier}}'
11511153 beginCaptures :
11521154 ' 1 ' : { name: keyword.operator.expression.instanceof.ts }
1153- end : (?<=\))|(?=[;),}\]:]|$|({{startOfIdentifier}}function((\s+{{identifier}})|(\s*[\(]))))
1155+ end : (?<=\))|(?=[;),}\]:]|\|\||\&\&| $|({{startOfIdentifier}}function((\s+{{identifier}})|(\s*[\(]))))
11541156 patterns :
11551157 - include : ' #type'
11561158
0 commit comments