Fix grammar to have more than one argument between parentheses
This commit is contained in:
parent
19bb3af0d5
commit
f3ecd63233
|
@ -36,3 +36,17 @@ message(STATUS ((TEST))
|
|||
(argument (unquoted_argument)) (MISSING ")")
|
||||
)
|
||||
)
|
||||
|
||||
===============================================
|
||||
Many arguments inside parentheses [parentheses]
|
||||
===============================================
|
||||
message(STATUS (TEST SECOND_TEST))
|
||||
---
|
||||
(source_file
|
||||
(normal_command
|
||||
(identifier)
|
||||
(argument (unquoted_argument))
|
||||
(argument (unquoted_argument))
|
||||
(argument (unquoted_argument))
|
||||
)
|
||||
)
|
||||
|
|
|
@ -35,7 +35,7 @@ module.exports = grammar({
|
|||
|
||||
argument: ($) => choice($.bracket_argument, $.quoted_argument, $.unquoted_argument),
|
||||
_untrimmed_argument: ($) => choice(/\s/, $.bracket_comment, $.line_comment, $.argument, $._paren_argument),
|
||||
_paren_argument: ($) => seq("(", $._untrimmed_argument, ")"),
|
||||
_paren_argument: ($) => seq("(", repeat($._untrimmed_argument), ")"),
|
||||
|
||||
quoted_argument: ($) => seq('"', optional($.quoted_element), '"'),
|
||||
quoted_element: ($) => repeat1(choice($.variable_ref, /[^\\"]/, $.escape_sequence)),
|
||||
|
|
|
@ -212,8 +212,11 @@
|
|||
"value": "("
|
||||
},
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_untrimmed_argument"
|
||||
"type": "REPEAT",
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_untrimmed_argument"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
|
|
16040
src/parser.c
16040
src/parser.c
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue