Allow optional trailing comma in 'select'
All checks were successful
ci/woodpecker/push/check Pipeline was successful

This commit is contained in:
Bruno BELANYI 2024-12-23 22:51:53 -05:00
parent fd92a31674
commit aeb1fc2bb5
4 changed files with 1347 additions and 1215 deletions

View file

@ -145,7 +145,7 @@ module.exports = grammar({
select_cases: ($) => seq( select_cases: ($) => seq(
"{", "{",
optional(commaSeparatedTrailing($.select_case)), optional(commaSeparatedOptTrailing($.select_case)),
"}", "}",
), ),

47
src/grammar.json generated
View file

@ -614,20 +614,41 @@
"type": "CHOICE", "type": "CHOICE",
"members": [ "members": [
{ {
"type": "REPEAT", "type": "SEQ",
"content": { "members": [
"type": "SEQ", {
"members": [ "type": "SYMBOL",
{ "name": "select_case"
"type": "SYMBOL", },
"name": "select_case" {
}, "type": "REPEAT",
{ "content": {
"type": "STRING", "type": "SEQ",
"value": "," "members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "select_case"
}
]
} }
] },
} {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "BLANK"
}
]
}
]
}, },
{ {
"type": "BLANK" "type": "BLANK"

2488
src/parser.c generated

File diff suppressed because it is too large Load diff

View file

@ -33,6 +33,31 @@ foo = select(release_variable("RELEASE_TEST"), {
(default)) (default))
(unset)))))) (unset))))))
================================================================================
Select (no trailing comma)
================================================================================
foo = select(release_variable("RELEASE_TEST"), {
default: unset
})
--------------------------------------------------------------------------------
(source_file
(assignment
(identifier)
(operator)
(select_expression
(select_value
(condition
(identifier)
(interpreted_string_literal)))
(select_cases
(select_case
(select_pattern
(default))
(unset))))))
================================================================================ ================================================================================
Select (soong config variable) Select (soong config variable)
================================================================================ ================================================================================