Skip to content

Commit d8c9720

Browse files
committed
Fix the method declaration detection to handle complete typeparameter list on single line
Fixes #720
1 parent 31b00a7 commit d8c9720

File tree

5 files changed

+188
-12
lines changed

5 files changed

+188
-12
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -713,7 +713,7 @@ repository:
713713
- include: '#function-body'
714714
# new or call signature
715715
- name: meta.method.declaration.ts
716-
begin: '(?x){{startOfIdentifier}}(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?(?:(?:\s*\b(new)\b(?!:){{endOfIdentifier}})|(?:(\*)\s*)?)(?=\s*[\(\<])'
716+
begin: '(?x){{startOfIdentifier}}(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?(?:(?:\s*\b(new)\b(?!:){{endOfIdentifier}})|(?:(\*)\s*)?)(?=\s*({{typeParameters}})?[\(])'
717717
beginCaptures:
718718
'1': { name: storage.modifier.ts } # captures keyword (public or private or protected)
719719
'2': { name: storage.modifier.ts } # captures keyword (abstract)
@@ -726,7 +726,7 @@ repository:
726726
- include: '#function-body'
727727
# method, accessor
728728
- name: meta.method.declaration.ts
729-
begin: '(?x){{startOfIdentifier}}(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(\*)\s*)?(?=\s*({{propertyName}}\s*(\??))\s*[\(\<])'
729+
begin: '(?x){{startOfIdentifier}}(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(\*)\s*)?(?=\s*({{propertyName}}\s*(\??))\s*({{typeParameters}})?[\(])'
730730
beginCaptures:
731731
'1': { name: storage.modifier.ts } # captures keyword (public or private or protected)
732732
'2': { name: storage.modifier.ts } # captures keyword (abstract)
@@ -740,7 +740,7 @@ repository:
740740

741741
object-literal-method-declaration:
742742
name: meta.method.declaration.ts
743-
begin: '(?x){{startOfIdentifier}}(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(\*)\s*)?(?=\s*({{propertyName}}\s*(\??))\s*[\(\<])'
743+
begin: '(?x){{startOfIdentifier}}(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(\*)\s*)?(?=\s*({{propertyName}}\s*(\??))\s*({{typeParameters}})?[\(])'
744744
beginCaptures:
745745
'1': { name: storage.modifier.async.ts } # captures keyword (async)
746746
'2': { name: storage.type.property.ts } # captures keyword (get|set)
@@ -749,7 +749,7 @@ repository:
749749
patterns:
750750
- include: '#method-declaration-name'
751751
- include: '#function-body'
752-
- begin: '(?x){{startOfIdentifier}}(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(\*)\s*)?(?=\s*({{propertyName}}\s*(\??))\s*[\(\<])'
752+
- begin: '(?x){{startOfIdentifier}}(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(\*)\s*)?(?=\s*({{propertyName}}\s*(\??))\s*({{typeParameters}})?[\(])'
753753
beginCaptures:
754754
'1': { name: storage.modifier.async.ts } # captures keyword (async)
755755
'2': { name: storage.type.property.ts } # captures keyword (get|set)

TypeScript.tmLanguage

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2253,7 +2253,7 @@
22532253
<key>name</key>
22542254
<string>meta.method.declaration.ts</string>
22552255
<key>begin</key>
2256-
<string>(?x)(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?(?:(?:\s*\b(new)\b(?!:)(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.)))|(?:(\*)\s*)?)(?=\s*[\(\&lt;])</string>
2256+
<string>(?x)(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?(?:(?:\s*\b(new)\b(?!:)(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.)))|(?:(\*)\s*)?)(?=\s*((&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;]|\&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;])*\&gt;)*&gt;\s*))?[\(])</string>
22572257
<key>beginCaptures</key>
22582258
<dict>
22592259
<key>1</key>
@@ -2309,7 +2309,7 @@
23092309
(?:\b[0-9][0-9_]*(\.)(n)?\B)| # 1.
23102310
(?:\B(\.)[0-9][0-9_]*(n)?\b)| # .1
23112311
(?:\b[0-9][0-9_]*(n)?\b(?!\.)) # 1
2312-
)(?!\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\'([^\'\\]|\\\'|\\)*\')|(\"([^\"\\]|\\\"|\\)*\")|(\`([^\`\\]|\\\`|\\)*\`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\s*(\??))\s*[\(\&lt;])</string>
2312+
)(?!\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\'([^\'\\]|\\\'|\\)*\')|(\"([^\"\\]|\\\"|\\)*\")|(\`([^\`\\]|\\\`|\\)*\`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\s*(\??))\s*((&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;]|\&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;])*\&gt;)*&gt;\s*))?[\(])</string>
23132313
<key>beginCaptures</key>
23142314
<dict>
23152315
<key>1</key>
@@ -2368,7 +2368,7 @@
23682368
(?:\b[0-9][0-9_]*(\.)(n)?\B)| # 1.
23692369
(?:\B(\.)[0-9][0-9_]*(n)?\b)| # .1
23702370
(?:\b[0-9][0-9_]*(n)?\b(?!\.)) # 1
2371-
)(?!\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\'([^\'\\]|\\\'|\\)*\')|(\"([^\"\\]|\\\"|\\)*\")|(\`([^\`\\]|\\\`|\\)*\`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\s*(\??))\s*[\(\&lt;])</string>
2371+
)(?!\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\'([^\'\\]|\\\'|\\)*\')|(\"([^\"\\]|\\\"|\\)*\")|(\`([^\`\\]|\\\`|\\)*\`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\s*(\??))\s*((&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;]|\&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;])*\&gt;)*&gt;\s*))?[\(])</string>
23722372
<key>beginCaptures</key>
23732373
<dict>
23742374
<key>1</key>
@@ -2410,7 +2410,7 @@
24102410
(?:\b[0-9][0-9_]*(\.)(n)?\B)| # 1.
24112411
(?:\B(\.)[0-9][0-9_]*(n)?\b)| # .1
24122412
(?:\b[0-9][0-9_]*(n)?\b(?!\.)) # 1
2413-
)(?!\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\'([^\'\\]|\\\'|\\)*\')|(\"([^\"\\]|\\\"|\\)*\")|(\`([^\`\\]|\\\`|\\)*\`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\s*(\??))\s*[\(\&lt;])</string>
2413+
)(?!\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\'([^\'\\]|\\\'|\\)*\')|(\"([^\"\\]|\\\"|\\)*\")|(\`([^\`\\]|\\\`|\\)*\`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\s*(\??))\s*((&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;]|\&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;])*\&gt;)*&gt;\s*))?[\(])</string>
24142414
<key>beginCaptures</key>
24152415
<dict>
24162416
<key>1</key>

TypeScriptReact.tmLanguage

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2257,7 +2257,7 @@
22572257
<key>name</key>
22582258
<string>meta.method.declaration.tsx</string>
22592259
<key>begin</key>
2260-
<string>(?x)(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?(?:(?:\s*\b(new)\b(?!:)(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.)))|(?:(\*)\s*)?)(?=\s*[\(\&lt;])</string>
2260+
<string>(?x)(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?(?:(?:\s*\b(new)\b(?!:)(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.)))|(?:(\*)\s*)?)(?=\s*((&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;]|\&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;])*\&gt;)*&gt;\s*))?[\(])</string>
22612261
<key>beginCaptures</key>
22622262
<dict>
22632263
<key>1</key>
@@ -2313,7 +2313,7 @@
23132313
(?:\b[0-9][0-9_]*(\.)(n)?\B)| # 1.
23142314
(?:\B(\.)[0-9][0-9_]*(n)?\b)| # .1
23152315
(?:\b[0-9][0-9_]*(n)?\b(?!\.)) # 1
2316-
)(?!\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\'([^\'\\]|\\\'|\\)*\')|(\"([^\"\\]|\\\"|\\)*\")|(\`([^\`\\]|\\\`|\\)*\`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\s*(\??))\s*[\(\&lt;])</string>
2316+
)(?!\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\'([^\'\\]|\\\'|\\)*\')|(\"([^\"\\]|\\\"|\\)*\")|(\`([^\`\\]|\\\`|\\)*\`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\s*(\??))\s*((&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;]|\&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;])*\&gt;)*&gt;\s*))?[\(])</string>
23172317
<key>beginCaptures</key>
23182318
<dict>
23192319
<key>1</key>
@@ -2372,7 +2372,7 @@
23722372
(?:\b[0-9][0-9_]*(\.)(n)?\B)| # 1.
23732373
(?:\B(\.)[0-9][0-9_]*(n)?\b)| # .1
23742374
(?:\b[0-9][0-9_]*(n)?\b(?!\.)) # 1
2375-
)(?!\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\'([^\'\\]|\\\'|\\)*\')|(\"([^\"\\]|\\\"|\\)*\")|(\`([^\`\\]|\\\`|\\)*\`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\s*(\??))\s*[\(\&lt;])</string>
2375+
)(?!\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\'([^\'\\]|\\\'|\\)*\')|(\"([^\"\\]|\\\"|\\)*\")|(\`([^\`\\]|\\\`|\\)*\`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\s*(\??))\s*((&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;]|\&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;])*\&gt;)*&gt;\s*))?[\(])</string>
23762376
<key>beginCaptures</key>
23772377
<dict>
23782378
<key>1</key>
@@ -2414,7 +2414,7 @@
24142414
(?:\b[0-9][0-9_]*(\.)(n)?\B)| # 1.
24152415
(?:\B(\.)[0-9][0-9_]*(n)?\b)| # .1
24162416
(?:\b[0-9][0-9_]*(n)?\b(?!\.)) # 1
2417-
)(?!\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\'([^\'\\]|\\\'|\\)*\')|(\"([^\"\\]|\\\"|\\)*\")|(\`([^\`\\]|\\\`|\\)*\`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\s*(\??))\s*[\(\&lt;])</string>
2417+
)(?!\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\'([^\'\\]|\\\'|\\)*\')|(\"([^\"\\]|\\\"|\\)*\")|(\`([^\`\\]|\\\`|\\)*\`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\s*(\??))\s*((&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;]|\&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;])*\&gt;)*&gt;\s*))?[\(])</string>
24182418
<key>beginCaptures</key>
24192419
<dict>
24202420
<key>1</key>

tests/baselines/Issue720.baseline.txt

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

tests/cases/Issue720.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
class Bar {
2+
myFunc1 = () =>
3+
1 < 2 &&
4+
2 > 1 &&
5+
FOO < FOOO;
6+
myFunc2 = () =>
7+
1 < 2 &&
8+
2 > 1 &&
9+
FOO < FOOO;
10+
}

0 commit comments

Comments
 (0)