Skip to content

Commit d8f277f

Browse files
jackschuamaanq
andauthored
fix: for in / of statements containing new lines
Co-authored-by: Amaan Qureshi <[email protected]>
1 parent a92640f commit d8f277f

File tree

5 files changed

+44398
-40791
lines changed

5 files changed

+44398
-40791
lines changed

grammar.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ module.exports = grammar({
9494
[$.primary_expression, $.rest_pattern],
9595
[$.primary_expression, $.pattern],
9696
[$.primary_expression, $._for_header],
97+
[$.variable_declarator, $._for_header],
9798
[$.array, $.array_pattern],
9899
[$.object, $.object_pattern],
99100
[$.assignment_expression, $.pattern],
@@ -313,14 +314,13 @@ module.exports = grammar({
313314
for_statement: $ => seq(
314315
'for',
315316
'(',
316-
field('initializer', choice(
317-
$.lexical_declaration,
318-
$.variable_declaration,
319-
$.expression_statement,
320-
$.empty_statement,
321-
)),
317+
choice(
318+
field('initializer', choice($.lexical_declaration, $.variable_declaration)),
319+
seq(field('initializer', $._expressions), ';'),
320+
field('initializer', $.empty_statement),
321+
),
322322
field('condition', choice(
323-
$.expression_statement,
323+
seq($._expressions, ';'),
324324
$.empty_statement,
325325
)),
326326
field('increment', optional($._expressions)),
@@ -356,6 +356,7 @@ module.exports = grammar({
356356
$.identifier,
357357
$._destructuring_pattern,
358358
)),
359+
optional($._automatic_semicolon),
359360
),
360361
),
361362
field('operator', choice('in', 'of')),

src/grammar.json

Lines changed: 69 additions & 22 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/node-types.json

Lines changed: 15 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)