update evaluation
This commit is contained in:
@@ -214,7 +214,8 @@ parse_rules() {
|
|||||||
[[ "$line" =~ ^# ]] && continue
|
[[ "$line" =~ ^# ]] && continue
|
||||||
|
|
||||||
case "$line" in
|
case "$line" in
|
||||||
if:)
|
"- conditions:")
|
||||||
|
# finalize previous rule
|
||||||
finalize_rule "$current_conditions" "$current_variables"
|
finalize_rule "$current_conditions" "$current_variables"
|
||||||
|
|
||||||
current_conditions=""
|
current_conditions=""
|
||||||
@@ -222,34 +223,35 @@ parse_rules() {
|
|||||||
mode="conditions"
|
mode="conditions"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
set:)
|
"set:")
|
||||||
mode="variables"
|
mode="variables"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*)
|
-*)
|
||||||
case "$mode" in
|
if [[ "$mode" == "conditions" ]]; then
|
||||||
conditions)
|
line="${line#- }"
|
||||||
|
|
||||||
if [[ -n "$current_conditions" ]]; then
|
if [[ -n "$current_conditions" ]]; then
|
||||||
current_conditions+=$'\n'
|
current_conditions+=$'\n'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
current_conditions+="$line"
|
current_conditions+="$line"
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
variables)
|
*=*)
|
||||||
|
if [[ "$mode" == "variables" ]]; then
|
||||||
if [[ -n "$current_variables" ]]; then
|
if [[ -n "$current_variables" ]]; then
|
||||||
current_variables+=$'\n'
|
current_variables+=$'\n'
|
||||||
fi
|
fi
|
||||||
current_variables+="$line"
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
current_variables+="$line"
|
||||||
echo "Unexpected line outside of if:/set: block: $line"
|
fi
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
done <<< "${RULES:-}"
|
done <<< "${RULES:-}"
|
||||||
|
|
||||||
|
# process last rule
|
||||||
finalize_rule "$current_conditions" "$current_variables"
|
finalize_rule "$current_conditions" "$current_variables"
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user