Skip to content

Commit 9f078b6

Browse files
committed
feat: break and cont expression
1 parent c6dc94e commit 9f078b6

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

grammar.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ module.exports = grammar({
3535
'while',
3636
'for',
3737
'in',
38+
'break',
39+
'cont',
3840
],
3941
},
4042

@@ -190,6 +192,8 @@ module.exports = grammar({
190192
$.call_expr,
191193
$.paren_expr,
192194
$.as_expr,
195+
$.break_expr,
196+
$.cont_expr,
193197
$._expr_ending_with_block,
194198
),
195199

@@ -227,6 +231,19 @@ module.exports = grammar({
227231
field('type', $._type),
228232
)),
229233

234+
break_expr: $ => $._break_expr,
235+
_break_expr: $ => prec.left(seq(
236+
'break',
237+
field('label', optional($.label)),
238+
field('value', $._expr),
239+
)),
240+
241+
cont_expr: $ => $._cont_expr,
242+
_cont_expr: $ => prec.left(seq(
243+
'cont',
244+
field('label', optional($.label)),
245+
)),
246+
230247
expr_ending_with_block: $ => $._expr_ending_with_block,
231248
_expr_ending_with_block: $ => choice(
232249
$.labeled,

0 commit comments

Comments
 (0)