Skip to content

Commit 9e2430a

Browse files
committed
Dont treat start of new line as regex since it could be continuing expression
Fixes #198
1 parent aa5eecd commit 9e2430a

File tree

6 files changed

+172
-4
lines changed

6 files changed

+172
-4
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1074,7 +1074,7 @@ repository:
10741074

10751075
regex:
10761076
name: string.regex.ts
1077-
begin: (?<=[=(:,\[?+!]|^|return|case|=>|&&|\|\||\*\/)\s*(/)(?![/*+{}?])(?=.*/)
1077+
begin: (?<=[=(:,\[?+!]|return|case|=>|&&|\|\||\*\/)\s*(/)(?![/*+{}?])(?=.*/)
10781078
beginCaptures:
10791079
'1': {name: punctuation.definition.string.begin.ts}
10801080
end: (/)([gimuy]*)

TypeScript.tmLanguage

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2819,7 +2819,7 @@
28192819
<key>regex</key>
28202820
<dict>
28212821
<key>begin</key>
2822-
<string>(?&lt;=[=(:,\[?+!]|^|return|case|=&gt;|&amp;&amp;|\|\||\*\/)\s*(/)(?![/*+{}?])(?=.*/)</string>
2822+
<string>(?&lt;=[=(:,\[?+!]|return|case|=&gt;|&amp;&amp;|\|\||\*\/)\s*(/)(?![/*+{}?])(?=.*/)</string>
28232823
<key>beginCaptures</key>
28242824
<dict>
28252825
<key>1</key>

TypeScriptReact.YAML-tmLanguage

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1063,7 +1063,7 @@ repository:
10631063

10641064
regex:
10651065
name: string.regex.tsx
1066-
begin: (?<=[=(:,\[?+!]|^|return|case|=>|&&|\|\||\*\/)\s*(/)(?![/*+{}?])(?=.*/)
1066+
begin: (?<=[=(:,\[?+!]|return|case|=>|&&|\|\||\*\/)\s*(/)(?![/*+{}?])(?=.*/)
10671067
beginCaptures:
10681068
'1': {name: punctuation.definition.string.begin.tsx}
10691069
end: (/)([gimuy]*)

TypeScriptReact.tmLanguage

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3205,7 +3205,7 @@
32053205
<key>regex</key>
32063206
<dict>
32073207
<key>begin</key>
3208-
<string>(?&lt;=[=(:,\[?+!]|^|return|case|=&gt;|&amp;&amp;|\|\||\*\/)\s*(/)(?![/*+{}?])(?=.*/)</string>
3208+
<string>(?&lt;=[=(:,\[?+!]|return|case|=&gt;|&amp;&amp;|\|\||\*\/)\s*(/)(?![/*+{}?])(?=.*/)</string>
32093209
<key>beginCaptures</key>
32103210
<dict>
32113211
<key>1</key>

tests/baselines/Issue198.baseline.txt

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
original file
2+
-----------------------------------
3+
let a = 0, b = 0, c = 0;
4+
let value = a / b
5+
/ c;
6+
let value2 = a / b
7+
/ c * a + b / a / b / c;
8+
let value2 = a / b / c * a + b / a / b / c;
9+
-----------------------------------
10+
11+
>let a = 0, b = 0, c = 0;
12+
^^^
13+
source.ts meta.var.expr.ts storage.type.ts
14+
^
15+
source.ts meta.var.expr.ts
16+
^
17+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts variable.other.readwrite.ts
18+
^
19+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
20+
^
21+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts keyword.operator.assignment.ts
22+
^
23+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
24+
^
25+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts constant.numeric.decimal.ts
26+
^^
27+
source.ts meta.var.expr.ts
28+
^
29+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts variable.other.readwrite.ts
30+
^
31+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
32+
^
33+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts keyword.operator.assignment.ts
34+
^
35+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
36+
^
37+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts constant.numeric.decimal.ts
38+
^^
39+
source.ts meta.var.expr.ts
40+
^
41+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts variable.other.readwrite.ts
42+
^
43+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
44+
^
45+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts keyword.operator.assignment.ts
46+
^
47+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
48+
^
49+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts constant.numeric.decimal.ts
50+
^^^
51+
source.ts
52+
>let value = a / b
53+
^^^
54+
source.ts meta.var.expr.ts storage.type.ts
55+
^
56+
source.ts meta.var.expr.ts
57+
^^^^^
58+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts variable.other.readwrite.ts
59+
^
60+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
61+
^
62+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts keyword.operator.assignment.ts
63+
^^^
64+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
65+
^
66+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts keyword.operator.arithmetic.ts
67+
^^^
68+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
69+
> / c;
70+
^^^^
71+
source.ts
72+
^
73+
source.ts keyword.operator.arithmetic.ts
74+
^^^^^
75+
source.ts
76+
>let value2 = a / b
77+
^^^
78+
source.ts meta.var.expr.ts storage.type.ts
79+
^
80+
source.ts meta.var.expr.ts
81+
^^^^^^
82+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts variable.other.readwrite.ts
83+
^
84+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
85+
^
86+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts keyword.operator.assignment.ts
87+
^^^
88+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
89+
^
90+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts keyword.operator.arithmetic.ts
91+
^^^
92+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
93+
> / c * a + b / a / b / c;
94+
^^^^
95+
source.ts
96+
^
97+
source.ts keyword.operator.arithmetic.ts
98+
^^^
99+
source.ts
100+
^
101+
source.ts keyword.operator.arithmetic.ts
102+
^^^
103+
source.ts
104+
^
105+
source.ts keyword.operator.arithmetic.ts
106+
^^^
107+
source.ts
108+
^
109+
source.ts keyword.operator.arithmetic.ts
110+
^^^
111+
source.ts
112+
^
113+
source.ts keyword.operator.arithmetic.ts
114+
^^^
115+
source.ts
116+
^
117+
source.ts keyword.operator.arithmetic.ts
118+
^^^^^
119+
source.ts
120+
>let value2 = a / b / c * a + b / a / b / c;
121+
^^^
122+
source.ts meta.var.expr.ts storage.type.ts
123+
^
124+
source.ts meta.var.expr.ts
125+
^^^^^^
126+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts variable.other.readwrite.ts
127+
^
128+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
129+
^
130+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts keyword.operator.assignment.ts
131+
^^^
132+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
133+
^
134+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts keyword.operator.arithmetic.ts
135+
^^^
136+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
137+
^
138+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts keyword.operator.arithmetic.ts
139+
^^^
140+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
141+
^
142+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts keyword.operator.arithmetic.ts
143+
^^^
144+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
145+
^
146+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts keyword.operator.arithmetic.ts
147+
^^^
148+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
149+
^
150+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts keyword.operator.arithmetic.ts
151+
^^^
152+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
153+
^
154+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts keyword.operator.arithmetic.ts
155+
^^^
156+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
157+
^
158+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts keyword.operator.arithmetic.ts
159+
^^
160+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
161+
^^
162+
source.ts

tests/cases/Issue198.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
let a = 0, b = 0, c = 0;
2+
let value = a / b
3+
/ c;
4+
let value2 = a / b
5+
/ c * a + b / a / b / c;
6+
let value2 = a / b / c * a + b / a / b / c;

0 commit comments

Comments
 (0)