feat: support multiple variable assignnments

pull/559/head
Amaan Qureshi 2023-08-18 04:17:40 +07:00
parent 5e676a95fe
commit 13866f5c15
2 changed files with 26 additions and 0 deletions

@ -27,6 +27,7 @@ module.exports = grammar({
conflicts: $ => [
[$._expression, $.command_name],
[$.command, $.variable_assignments],
],
inline: $ => [
@ -110,6 +111,7 @@ module.exports = grammar({
_statement_not_subshell: $ => choice(
$.redirected_statement,
$.variable_assignment,
$.variable_assignments,
$.command,
$.declaration_command,
$.unset_command,
@ -397,6 +399,8 @@ module.exports = grammar({
)),
),
variable_assignments: $ => seq($.variable_assignment, repeat1($.variable_assignment)),
subscript: $ => seq(
field('name', $.variable_name),
'[',

@ -765,6 +765,28 @@ loop=; variables=& here=;;
(variable_assignment
(variable_name)))
================================================================================
Multiple variable assignments
================================================================================
component_type="${1}" item_name="${2?}"
--------------------------------------------------------------------------------
(program
(variable_assignments
(variable_assignment
(variable_name)
(string
(expansion
(variable_name))))
(variable_assignment
(variable_name)
(string
(expansion
(variable_name)
(word))))))
================================================================================
Arithmetic expansions
================================================================================