Skip to content

Commit 1c934d7

Browse files
committed
Update the type parameter and arrow function look ahead regex
1 parent 805eaa4 commit 1c934d7

File tree

3 files changed

+9
-13
lines changed

3 files changed

+9
-13
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -941,11 +941,7 @@ repository:
941941

942942
function-call:
943943
#TODO: Scope function names and method names
944-
# Ideal expression that can give us arbitary number of another level of type argument allowed is:
945-
# (<)(?=(([^<>]+)|(\<[^<>]+\>))+>\s*\()
946-
# But this takes really long time and sometimes infinite time to parse negative cases like below:
947-
# if (this.PListCells.length<value && (!this.ListList || !this.DelayedUpdate))
948-
begin: '([_$[:alpha:]][_$[:alnum:]]*)\s*(?=(<[^<>]*(\<[^<>]+\>)*[^<>]*(\<[^<>]+\>)*[^<>]*>\s*)?\()'
944+
begin: '([_$[:alpha:]][_$[:alnum:]]*)\s*(?=(<([^<>]|\<[^<>]+\>)+>\s*)?\()'
949945
beginCaptures:
950946
'1': { name: variable.function.ts }
951947
end: (?=\()
@@ -1008,7 +1004,7 @@ repository:
10081004
begin: (?x)(?:([_$[:alpha:]][_$[:alnum:]]*)\s*(:)(?=\s*(
10091005
(async\s+)|(function\s+)|
10101006
([_$[:alpha:]][_$[:alnum:]]*\s*=>)|
1011-
((<[^<>]*(\<[^<>]+\>)*[^<>]*(\<[^<>]+\>)*[^<>]*>\s*)?\([^()]*(\([^()]*\))*[^()]*(\([^()]*\))*[^()]*\)(\s*:\s*(.)*)?\s*=>))))
1007+
((<([^<>]|\<[^<>]+\>)+>\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=>))))
10121008
beginCaptures:
10131009
'0': { name: meta.object-literal.key.ts }
10141010
'1': { name: entity.name.function.ts }
@@ -1093,7 +1089,7 @@ repository:
10931089
'1': { name: storage.modifier.async.ts }
10941090
'2': { name: variable.parameter.ts }
10951091
- name: meta.arrow.ts
1096-
begin: (?x)(?<=return|throw|yield|await|async|default|[=(\[,:>*])\s*(?=(<[^<>]*(\<[^<>]+\>)*[^<>]*(\<[^<>]+\>)*[^<>]*>\s*)?\([^()]*(\([^()]*\))*[^()]*(\([^()]*\))*[^()]*\)(\s*:\s*(.)*)?\s*=>)
1092+
begin: (?x)(?<=return|throw|yield|await|async|default|[=(\[,:>*])\s*(?=(<([^<>]|\<[^<>]+\>)+>\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=>)
10971093
end: (?==>)
10981094
patterns:
10991095
- include: '#comment'

TypeScript.tmLanguage

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2917,7 +2917,7 @@
29172917
<key>function-call</key>
29182918
<dict>
29192919
<key>begin</key>
2920-
<string>([_$[:alpha:]][_$[:alnum:]]*)\s*(?=(&lt;[^&lt;&gt;]*(\&lt;[^&lt;&gt;]+\&gt;)*[^&lt;&gt;]*(\&lt;[^&lt;&gt;]+\&gt;)*[^&lt;&gt;]*&gt;\s*)?\()</string>
2920+
<string>([_$[:alpha:]][_$[:alnum:]]*)\s*(?=(&lt;([^&lt;&gt;]|\&lt;[^&lt;&gt;]+\&gt;)+&gt;\s*)?\()</string>
29212921
<key>beginCaptures</key>
29222922
<dict>
29232923
<key>1</key>
@@ -3085,7 +3085,7 @@
30853085
<key>name</key>
30863086
<string>meta.object.member.ts</string>
30873087
<key>begin</key>
3088-
<string>(?x)(?:([_$[:alpha:]][_$[:alnum:]]*)\s*(:)(?=\s*( (async\s+)|(function\s+)| ([_$[:alpha:]][_$[:alnum:]]*\s*=&gt;)| ((&lt;[^&lt;&gt;]*(\&lt;[^&lt;&gt;]+\&gt;)*[^&lt;&gt;]*(\&lt;[^&lt;&gt;]+\&gt;)*[^&lt;&gt;]*&gt;\s*)?\([^()]*(\([^()]*\))*[^()]*(\([^()]*\))*[^()]*\)(\s*:\s*(.)*)?\s*=&gt;))))</string>
3088+
<string>(?x)(?:([_$[:alpha:]][_$[:alnum:]]*)\s*(:)(?=\s*( (async\s+)|(function\s+)| ([_$[:alpha:]][_$[:alnum:]]*\s*=&gt;)| ((&lt;([^&lt;&gt;]|\&lt;[^&lt;&gt;]+\&gt;)+&gt;\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=&gt;))))</string>
30893089
<key>beginCaptures</key>
30903090
<dict>
30913091
<key>0</key>
@@ -3348,7 +3348,7 @@
33483348
<key>name</key>
33493349
<string>meta.arrow.ts</string>
33503350
<key>begin</key>
3351-
<string>(?x)(?&lt;=return|throw|yield|await|async|default|[=(\[,:&gt;*])\s*(?=(&lt;[^&lt;&gt;]*(\&lt;[^&lt;&gt;]+\&gt;)*[^&lt;&gt;]*(\&lt;[^&lt;&gt;]+\&gt;)*[^&lt;&gt;]*&gt;\s*)?\([^()]*(\([^()]*\))*[^()]*(\([^()]*\))*[^()]*\)(\s*:\s*(.)*)?\s*=&gt;)</string>
3351+
<string>(?x)(?&lt;=return|throw|yield|await|async|default|[=(\[,:&gt;*])\s*(?=(&lt;([^&lt;&gt;]|\&lt;[^&lt;&gt;]+\&gt;)+&gt;\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=&gt;)</string>
33523352
<key>end</key>
33533353
<string>(?==&gt;)</string>
33543354
<key>patterns</key>

TypeScriptReact.tmLanguage

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2921,7 +2921,7 @@
29212921
<key>function-call</key>
29222922
<dict>
29232923
<key>begin</key>
2924-
<string>([_$[:alpha:]][_$[:alnum:]]*)\s*(?=(&lt;[^&lt;&gt;]*(\&lt;[^&lt;&gt;]+\&gt;)*[^&lt;&gt;]*(\&lt;[^&lt;&gt;]+\&gt;)*[^&lt;&gt;]*&gt;\s*)?\()</string>
2924+
<string>([_$[:alpha:]][_$[:alnum:]]*)\s*(?=(&lt;([^&lt;&gt;]|\&lt;[^&lt;&gt;]+\&gt;)+&gt;\s*)?\()</string>
29252925
<key>beginCaptures</key>
29262926
<dict>
29272927
<key>1</key>
@@ -3067,7 +3067,7 @@
30673067
<key>name</key>
30683068
<string>meta.object.member.tsx</string>
30693069
<key>begin</key>
3070-
<string>(?x)(?:([_$[:alpha:]][_$[:alnum:]]*)\s*(:)(?=\s*( (async\s+)|(function\s+)| ([_$[:alpha:]][_$[:alnum:]]*\s*=&gt;)| ((&lt;[^&lt;&gt;]*(\&lt;[^&lt;&gt;]+\&gt;)*[^&lt;&gt;]*(\&lt;[^&lt;&gt;]+\&gt;)*[^&lt;&gt;]*&gt;\s*)?\([^()]*(\([^()]*\))*[^()]*(\([^()]*\))*[^()]*\)(\s*:\s*(.)*)?\s*=&gt;))))</string>
3070+
<string>(?x)(?:([_$[:alpha:]][_$[:alnum:]]*)\s*(:)(?=\s*( (async\s+)|(function\s+)| ([_$[:alpha:]][_$[:alnum:]]*\s*=&gt;)| ((&lt;([^&lt;&gt;]|\&lt;[^&lt;&gt;]+\&gt;)+&gt;\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=&gt;))))</string>
30713071
<key>beginCaptures</key>
30723072
<dict>
30733073
<key>0</key>
@@ -3330,7 +3330,7 @@
33303330
<key>name</key>
33313331
<string>meta.arrow.tsx</string>
33323332
<key>begin</key>
3333-
<string>(?x)(?&lt;=return|throw|yield|await|async|default|[=(\[,:&gt;*])\s*(?=(&lt;[^&lt;&gt;]*(\&lt;[^&lt;&gt;]+\&gt;)*[^&lt;&gt;]*(\&lt;[^&lt;&gt;]+\&gt;)*[^&lt;&gt;]*&gt;\s*)?\([^()]*(\([^()]*\))*[^()]*(\([^()]*\))*[^()]*\)(\s*:\s*(.)*)?\s*=&gt;)</string>
3333+
<string>(?x)(?&lt;=return|throw|yield|await|async|default|[=(\[,:&gt;*])\s*(?=(&lt;([^&lt;&gt;]|\&lt;[^&lt;&gt;]+\&gt;)+&gt;\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=&gt;)</string>
33343334
<key>end</key>
33353335
<string>(?==&gt;)</string>
33363336
<key>patterns</key>

0 commit comments

Comments
 (0)