Relax ordering in 'select' cases
We shouldn't really care whether or not `default` *is* the last value...
This commit is contained in:
parent
9e46303a1d
commit
8137fd3e5b
4 changed files with 1035 additions and 1241 deletions
13
grammar.js
13
grammar.js
|
|
@ -154,23 +154,18 @@ module.exports = grammar({
|
|||
select_cases: ($) => seq(
|
||||
"{",
|
||||
optional(trailingCommaSeparated($.select_case)),
|
||||
// default *must* be the last one, enforced at parse-time...
|
||||
optional(seq(alias($.default_case, $.select_case), ",")),
|
||||
"}",
|
||||
),
|
||||
|
||||
select_case: ($) => seq(
|
||||
field("pattern", $._string_literal),
|
||||
field("pattern", choice(
|
||||
$._string_literal,
|
||||
alias("default", $.default),
|
||||
)),
|
||||
":",
|
||||
field("value", $._case_value)
|
||||
),
|
||||
|
||||
default_case: ($) => seq(
|
||||
field("pattern", alias("default", $.default)),
|
||||
":",
|
||||
field("value", $._case_value),
|
||||
),
|
||||
|
||||
_case_value: ($) => choice(
|
||||
alias("unset", $.unset),
|
||||
$._expr,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue