From 7e9cc43f89c6769c9e910c45096749d0512d6f08 Mon Sep 17 00:00:00 2001 From: David Claeys Date: Wed, 5 Aug 2026 14:26:38 +0200 Subject: [PATCH] update evaluation --- conditional-variables/evaluate.sh | 42 ++++++++++++++++--------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/conditional-variables/evaluate.sh b/conditional-variables/evaluate.sh index 11fe070..95030c9 100644 --- a/conditional-variables/evaluate.sh +++ b/conditional-variables/evaluate.sh @@ -214,7 +214,8 @@ parse_rules() { [[ "$line" =~ ^# ]] && continue case "$line" in - if:) + "- conditions:") + # finalize previous rule finalize_rule "$current_conditions" "$current_variables" current_conditions="" @@ -222,34 +223,35 @@ parse_rules() { mode="conditions" ;; - set:) + "set:") mode="variables" ;; - *) - case "$mode" in - conditions) - if [[ -n "$current_conditions" ]]; then - current_conditions+=$'\n' - fi - current_conditions+="$line" - ;; + -*) + if [[ "$mode" == "conditions" ]]; then + line="${line#- }" - variables) - if [[ -n "$current_variables" ]]; then - current_variables+=$'\n' - fi - current_variables+="$line" - ;; + if [[ -n "$current_conditions" ]]; then + current_conditions+=$'\n' + fi - *) - echo "Unexpected line outside of if:/set: block: $line" - ;; - esac + current_conditions+="$line" + fi + ;; + + *=*) + if [[ "$mode" == "variables" ]]; then + if [[ -n "$current_variables" ]]; then + current_variables+=$'\n' + fi + + current_variables+="$line" + fi ;; esac done <<< "${RULES:-}" + # process last rule finalize_rule "$current_conditions" "$current_variables" } \ No newline at end of file