Skip to content

Commit 5629dc0

Browse files
committed
Fix the incorrect regexp detection
Fixes #623
1 parent 06dee86 commit 5629dc0

File tree

5 files changed

+39
-6
lines changed

5 files changed

+39
-6
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2223,7 +2223,7 @@ repository:
22232223
regex:
22242224
patterns:
22252225
- name: string.regexp.ts
2226-
begin: (?<!\+\+|--)(?<=[=(:,\[?+!]|{{lookBehindReturn}}|{{lookBehindCase}}|=>|&&|\|\||\*\/)\s*(\/)(?![\/*])(?=(?:[^\/\\\[]|\\.|\[([^\]\\]|\\.)+\])+\/(?![\/*])[gimsuy]*(?!\s*[a-zA-Z0-9_$]))
2226+
begin: (?<!\+\+|--)(?<=[=(:,\[?+!]|{{lookBehindReturn}}|{{lookBehindCase}}|=>|&&|\|\||\*\/)\s*(\/)(?![\/*])(?=(?:[^\/\\\[]|\\.|\[([^\]\\]|\\.)+\])+\/[gimsuy]*(?!\s*[a-zA-Z0-9_$]))
22272227
beginCaptures:
22282228
'1': { name: punctuation.definition.string.begin.ts }
22292229
end: (/)([gimsuy]*)
@@ -2234,7 +2234,7 @@ repository:
22342234
- include: '#regexp'
22352235
# Check if complete regexp syntax
22362236
- name: string.regexp.ts
2237-
begin: (?<![_$[:alnum:])\]]|\+\+|--)\/(?![\/*])(?=(?:[^\/\\\[]|\\.|\[([^\]\\]|\\.)+\])+\/(?![\/*])[gimsuy]*(?!\s*[a-zA-Z0-9_$]))
2237+
begin: (?<![_$[:alnum:])\]]|\+\+|--)\/(?![\/*])(?=(?:[^\/\\\[]|\\.|\[([^\]\\]|\\.)+\])+\/[gimsuy]*(?!\s*[a-zA-Z0-9_$]))
22382238
beginCaptures:
22392239
'0': { name: punctuation.definition.string.begin.ts }
22402240
end: (/)([gimsuy]*)

TypeScript.tmLanguage

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6429,7 +6429,7 @@
64296429
<key>name</key>
64306430
<string>string.regexp.ts</string>
64316431
<key>begin</key>
6432-
<string>(?&lt;!\+\+|--)(?&lt;=[=(:,\[?+!]|^return|[^\._$[:alnum:]]return|^case|[^\._$[:alnum:]]case|=&gt;|&amp;&amp;|\|\||\*\/)\s*(\/)(?![\/*])(?=(?:[^\/\\\[]|\\.|\[([^\]\\]|\\.)+\])+\/(?![\/*])[gimsuy]*(?!\s*[a-zA-Z0-9_$]))</string>
6432+
<string>(?&lt;!\+\+|--)(?&lt;=[=(:,\[?+!]|^return|[^\._$[:alnum:]]return|^case|[^\._$[:alnum:]]case|=&gt;|&amp;&amp;|\|\||\*\/)\s*(\/)(?![\/*])(?=(?:[^\/\\\[]|\\.|\[([^\]\\]|\\.)+\])+\/[gimsuy]*(?!\s*[a-zA-Z0-9_$]))</string>
64336433
<key>beginCaptures</key>
64346434
<dict>
64356435
<key>1</key>
@@ -6465,7 +6465,7 @@
64656465
<key>name</key>
64666466
<string>string.regexp.ts</string>
64676467
<key>begin</key>
6468-
<string>(?&lt;![_$[:alnum:])\]]|\+\+|--)\/(?![\/*])(?=(?:[^\/\\\[]|\\.|\[([^\]\\]|\\.)+\])+\/(?![\/*])[gimsuy]*(?!\s*[a-zA-Z0-9_$]))</string>
6468+
<string>(?&lt;![_$[:alnum:])\]]|\+\+|--)\/(?![\/*])(?=(?:[^\/\\\[]|\\.|\[([^\]\\]|\\.)+\])+\/[gimsuy]*(?!\s*[a-zA-Z0-9_$]))</string>
64696469
<key>beginCaptures</key>
64706470
<dict>
64716471
<key>0</key>

TypeScriptReact.tmLanguage

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6375,7 +6375,7 @@
63756375
<key>name</key>
63766376
<string>string.regexp.tsx</string>
63776377
<key>begin</key>
6378-
<string>(?&lt;!\+\+|--)(?&lt;=[=(:,\[?+!]|^return|[^\._$[:alnum:]]return|^case|[^\._$[:alnum:]]case|=&gt;|&amp;&amp;|\|\||\*\/)\s*(\/)(?![\/*])(?=(?:[^\/\\\[]|\\.|\[([^\]\\]|\\.)+\])+\/(?![\/*])[gimsuy]*(?!\s*[a-zA-Z0-9_$]))</string>
6378+
<string>(?&lt;!\+\+|--)(?&lt;=[=(:,\[?+!]|^return|[^\._$[:alnum:]]return|^case|[^\._$[:alnum:]]case|=&gt;|&amp;&amp;|\|\||\*\/)\s*(\/)(?![\/*])(?=(?:[^\/\\\[]|\\.|\[([^\]\\]|\\.)+\])+\/[gimsuy]*(?!\s*[a-zA-Z0-9_$]))</string>
63796379
<key>beginCaptures</key>
63806380
<dict>
63816381
<key>1</key>
@@ -6411,7 +6411,7 @@
64116411
<key>name</key>
64126412
<string>string.regexp.tsx</string>
64136413
<key>begin</key>
6414-
<string>(?&lt;![_$[:alnum:])\]]|\+\+|--)\/(?![\/*])(?=(?:[^\/\\\[]|\\.|\[([^\]\\]|\\.)+\])+\/(?![\/*])[gimsuy]*(?!\s*[a-zA-Z0-9_$]))</string>
6414+
<string>(?&lt;![_$[:alnum:])\]]|\+\+|--)\/(?![\/*])(?=(?:[^\/\\\[]|\\.|\[([^\]\\]|\\.)+\])+\/[gimsuy]*(?!\s*[a-zA-Z0-9_$]))</string>
64156415
<key>beginCaptures</key>
64166416
<dict>
64176417
<key>0</key>

tests/baselines/Issue623.baseline.txt

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
original file
2+
-----------------------------------
3+
var foo = /bar//* test */
4+
-----------------------------------
5+
6+
Grammar: TypeScript.tmLanguage
7+
-----------------------------------
8+
>var foo = /bar//* test */
9+
^^^
10+
source.ts meta.var.expr.ts storage.type.ts
11+
^
12+
source.ts meta.var.expr.ts
13+
^^^
14+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts variable.other.readwrite.ts
15+
^
16+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
17+
^
18+
source.ts meta.var.expr.ts keyword.operator.assignment.ts
19+
^
20+
source.ts meta.var.expr.ts string.regexp.ts
21+
^
22+
source.ts meta.var.expr.ts string.regexp.ts punctuation.definition.string.begin.ts
23+
^^^
24+
source.ts meta.var.expr.ts string.regexp.ts
25+
^
26+
source.ts meta.var.expr.ts string.regexp.ts punctuation.definition.string.end.ts
27+
^^
28+
source.ts meta.var.expr.ts comment.block.ts punctuation.definition.comment.ts
29+
^^^^^^
30+
source.ts meta.var.expr.ts comment.block.ts
31+
^^
32+
source.ts meta.var.expr.ts comment.block.ts punctuation.definition.comment.ts

tests/cases/Issue623.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
var foo = /bar//* test */

0 commit comments

Comments
 (0)