Skip to content

Commit ad5e809

Browse files
committed
DRY the "field" rule
1 parent e67a07b commit ad5e809

File tree

2 files changed

+53
-59
lines changed

2 files changed

+53
-59
lines changed

grammar.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -264,15 +264,16 @@ module.exports = grammar({
264264
field_list: ($) =>
265265
seq(_list($.field, $.field_separator), optional($.field_separator)),
266266
field: ($) =>
267-
choice(
268-
seq(
269-
"[",
270-
field("key", $.expression),
271-
"]",
272-
"=",
273-
field("value", $.expression),
267+
seq(
268+
optional(
269+
seq(
270+
choice(
271+
field("key", $.identifier),
272+
seq("[", field("key", $.expression), "]"),
273+
),
274+
"=",
275+
),
274276
),
275-
seq(field("key", $.identifier), "=", field("value", $.expression)),
276277
field("value", $.expression),
277278
),
278279
field_separator: () => choice(",", ";"),

src/grammar.json

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

0 commit comments

Comments
 (0)