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(
"{",
optional(commaSeparatedTrailing($.select_case)),
optional(commaSeparatedOptTrailing($.select_case)),
"}",
),

47
src/grammar.json generated
View file

@ -614,20 +614,41 @@
"type": "CHOICE",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "select_case"
},
{
"type": "STRING",
"value": ","
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "select_case"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "select_case"
}
]
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ","
},
{
"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))
(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)
================================================================================