Skip to content

Commit 4daff7b

Browse files
committed
Fix the regexp tail to account for // and /* both
Fixes #787
1 parent d7f4846 commit 4daff7b

File tree

5 files changed

+52
-7
lines changed

5 files changed

+52
-7
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ variables:
127127
{{functionLikeType}} |
128128
(:\s*(=>|{{matchingParenthesis}}|(<[^<>]*>)|[^<>(),=])+={{functionOrArrowLookup}})
129129
arrowFunctionEnd: (?==>|\{|(^\s*(export|function|class|interface|let|var|const|import|enum|namespace|module|type|abstract|declare)\s+))
130-
regexpTail: ([gimsuy]+|(?!\*))(?!\s*[a-zA-Z0-9_$])
130+
regexpTail: ([gimsuy]+|(?![\/\*])|(?=\/\*))(?!\s*[a-zA-Z0-9_$])
131131
completeRegexp: \/(?![\/*])(?=(?:[^\/\\\[]|\\.|\[([^\]\\]|\\.)+\])+\/{{regexpTail}})
132132

133133
patterns:

TypeScript.tmLanguage

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4081,7 +4081,7 @@
40814081
<key>name</key>
40824082
<string>string.regexp.ts</string>
40834083
<key>begin</key>
4084-
<string>(?&lt;=\))\s*\/(?![\/*])(?=(?:[^\/\\\[]|\\.|\[([^\]\\]|\\.)+\])+\/([gimsuy]+|(?!\*))(?!\s*[a-zA-Z0-9_$]))</string>
4084+
<string>(?&lt;=\))\s*\/(?![\/*])(?=(?:[^\/\\\[]|\\.|\[([^\]\\]|\\.)+\])+\/([gimsuy]+|(?![\/\*])|(?=\/\*))(?!\s*[a-zA-Z0-9_$]))</string>
40854085
<key>beginCaptures</key>
40864086
<dict>
40874087
<key>0</key>
@@ -7844,7 +7844,7 @@
78447844
<key>name</key>
78457845
<string>string.regexp.ts</string>
78467846
<key>begin</key>
7847-
<string>(?&lt;!\+\+|--|})(?&lt;=[=(:,\[?+!]|^return|[^\._$[:alnum:]]return|^case|[^\._$[:alnum:]]case|=&gt;|&amp;&amp;|\|\||\*\/)\s*(\/)(?![\/*])(?=(?:[^\/\\\[\()]|\\.|\[([^\]\\]|\\.)+\]|\(([^\)\\]|\\.)+\))+\/([gimsuy]+|(?!\*))(?!\s*[a-zA-Z0-9_$]))</string>
7847+
<string>(?&lt;!\+\+|--|})(?&lt;=[=(:,\[?+!]|^return|[^\._$[:alnum:]]return|^case|[^\._$[:alnum:]]case|=&gt;|&amp;&amp;|\|\||\*\/)\s*(\/)(?![\/*])(?=(?:[^\/\\\[\()]|\\.|\[([^\]\\]|\\.)+\]|\(([^\)\\]|\\.)+\))+\/([gimsuy]+|(?![\/\*])|(?=\/\*))(?!\s*[a-zA-Z0-9_$]))</string>
78487848
<key>beginCaptures</key>
78497849
<dict>
78507850
<key>1</key>
@@ -7880,7 +7880,7 @@
78807880
<key>name</key>
78817881
<string>string.regexp.ts</string>
78827882
<key>begin</key>
7883-
<string>((?&lt;![_$[:alnum:])\]]|\+\+|--|}|\*\/)|((?&lt;=^return|[^\._$[:alnum:]]return|^case|[^\._$[:alnum:]]case))\s*)\/(?![\/*])(?=(?:[^\/\\\[]|\\.|\[([^\]\\]|\\.)+\])+\/([gimsuy]+|(?!\*))(?!\s*[a-zA-Z0-9_$]))</string>
7883+
<string>((?&lt;![_$[:alnum:])\]]|\+\+|--|}|\*\/)|((?&lt;=^return|[^\._$[:alnum:]]return|^case|[^\._$[:alnum:]]case))\s*)\/(?![\/*])(?=(?:[^\/\\\[]|\\.|\[([^\]\\]|\\.)+\])+\/([gimsuy]+|(?![\/\*])|(?=\/\*))(?!\s*[a-zA-Z0-9_$]))</string>
78847884
<key>beginCaptures</key>
78857885
<dict>
78867886
<key>0</key>

TypeScriptReact.tmLanguage

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4103,7 +4103,7 @@
41034103
<key>name</key>
41044104
<string>string.regexp.tsx</string>
41054105
<key>begin</key>
4106-
<string>(?&lt;=\))\s*\/(?![\/*])(?=(?:[^\/\\\[]|\\.|\[([^\]\\]|\\.)+\])+\/([gimsuy]+|(?!\*))(?!\s*[a-zA-Z0-9_$]))</string>
4106+
<string>(?&lt;=\))\s*\/(?![\/*])(?=(?:[^\/\\\[]|\\.|\[([^\]\\]|\\.)+\])+\/([gimsuy]+|(?![\/\*])|(?=\/\*))(?!\s*[a-zA-Z0-9_$]))</string>
41074107
<key>beginCaptures</key>
41084108
<dict>
41094109
<key>0</key>
@@ -7792,7 +7792,7 @@
77927792
<key>name</key>
77937793
<string>string.regexp.tsx</string>
77947794
<key>begin</key>
7795-
<string>(?&lt;!\+\+|--|})(?&lt;=[=(:,\[?+!]|^return|[^\._$[:alnum:]]return|^case|[^\._$[:alnum:]]case|=&gt;|&amp;&amp;|\|\||\*\/)\s*(\/)(?![\/*])(?=(?:[^\/\\\[\()]|\\.|\[([^\]\\]|\\.)+\]|\(([^\)\\]|\\.)+\))+\/([gimsuy]+|(?!\*))(?!\s*[a-zA-Z0-9_$]))</string>
7795+
<string>(?&lt;!\+\+|--|})(?&lt;=[=(:,\[?+!]|^return|[^\._$[:alnum:]]return|^case|[^\._$[:alnum:]]case|=&gt;|&amp;&amp;|\|\||\*\/)\s*(\/)(?![\/*])(?=(?:[^\/\\\[\()]|\\.|\[([^\]\\]|\\.)+\]|\(([^\)\\]|\\.)+\))+\/([gimsuy]+|(?![\/\*])|(?=\/\*))(?!\s*[a-zA-Z0-9_$]))</string>
77967796
<key>beginCaptures</key>
77977797
<dict>
77987798
<key>1</key>
@@ -7828,7 +7828,7 @@
78287828
<key>name</key>
78297829
<string>string.regexp.tsx</string>
78307830
<key>begin</key>
7831-
<string>((?&lt;![_$[:alnum:])\]]|\+\+|--|}|\*\/)|((?&lt;=^return|[^\._$[:alnum:]]return|^case|[^\._$[:alnum:]]case))\s*)\/(?![\/*])(?=(?:[^\/\\\[]|\\.|\[([^\]\\]|\\.)+\])+\/([gimsuy]+|(?!\*))(?!\s*[a-zA-Z0-9_$]))</string>
7831+
<string>((?&lt;![_$[:alnum:])\]]|\+\+|--|}|\*\/)|((?&lt;=^return|[^\._$[:alnum:]]return|^case|[^\._$[:alnum:]]case))\s*)\/(?![\/*])(?=(?:[^\/\\\[]|\\.|\[([^\]\\]|\\.)+\])+\/([gimsuy]+|(?![\/\*])|(?=\/\*))(?!\s*[a-zA-Z0-9_$]))</string>
78327832
<key>beginCaptures</key>
78337833
<dict>
78347834
<key>0</key>

tests/baselines/Issue787.baseline.txt

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
original file
2+
-----------------------------------
3+
console.log("4" / "2"); // 2
4+
-----------------------------------
5+
6+
Grammar: TypeScript.tmLanguage
7+
-----------------------------------
8+
>console.log("4" / "2"); // 2
9+
^^^^^^^
10+
source.ts meta.function-call.ts support.class.console.ts
11+
^
12+
source.ts meta.function-call.ts punctuation.accessor.ts
13+
^^^
14+
source.ts meta.function-call.ts support.function.console.ts
15+
^
16+
source.ts meta.brace.round.ts
17+
^
18+
source.ts string.quoted.double.ts punctuation.definition.string.begin.ts
19+
^
20+
source.ts string.quoted.double.ts
21+
^
22+
source.ts string.quoted.double.ts punctuation.definition.string.end.ts
23+
^
24+
source.ts
25+
^
26+
source.ts keyword.operator.arithmetic.ts
27+
^
28+
source.ts
29+
^
30+
source.ts string.quoted.double.ts punctuation.definition.string.begin.ts
31+
^
32+
source.ts string.quoted.double.ts
33+
^
34+
source.ts string.quoted.double.ts punctuation.definition.string.end.ts
35+
^
36+
source.ts meta.brace.round.ts
37+
^
38+
source.ts punctuation.terminator.statement.ts
39+
^
40+
source.ts
41+
^^
42+
source.ts comment.line.double-slash.ts punctuation.definition.comment.ts
43+
^^
44+
source.ts comment.line.double-slash.ts

tests/cases/Issue787.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
console.log("4" / "2"); // 2

0 commit comments

Comments
 (0)