This change introduces a new type of separator for chaining commands on the BLUE
CLI. The idea is to be able to express fallback chains so if the main operation
fails there is a way to run an alternative chain of commands.
Here are some examples:
SEXP: (and (or build repl) dist)
CLI: $ blue build , repl -- dist
SEXP: (or (and configure build) (and help repl))
CLI: $ blue configure -- build , help -- repl
SEXP: (or (and configure build) (and clean build) report-bug repl)
CLI: $ blue configure -- build , clean -- build , report-bug , repl
- blue/ui.scm (load-blueprint-and-execute-commands): Handle fallback chaining.
(entrypoint%): Pass chain pipeline.
(chain-separator, fallback-separator): New variable.
(separator?): New procedure.
(parse-commands-arguments): Parse pipeline.
(parse-arguments): Pass chain pipeline.
Fix: #280