diff --git a/crates/aura-cli/src/main.rs b/crates/aura-cli/src/main.rs index 6cb2430..82ae0a1 100644 --- a/crates/aura-cli/src/main.rs +++ b/crates/aura-cli/src/main.rs @@ -1474,7 +1474,7 @@ fn is_blueprint_file(arg: &Option) -> Option<&str> { /// mirroring the old `parse_blueprint_run_args` window guard (`--from`/`--to` /// require `--real`; empty symbol rejected). Refuses in place (stderr + exit 2). fn run_data_from(real: Option<&str>, from: Option, to: Option) -> RunData { - let usage = "Usage: aura run [--params ] [--seed ] [--real [--from ] [--to ]]"; + let usage = "Usage: aura run [--params ] [--seed ] [--real [--from ] [--to ]] [--tap …]"; match real { Some(s) if !s.is_empty() => RunData::Real { symbol: s.to_string(), from, to }, Some(_) => { @@ -1799,13 +1799,13 @@ fn tap_plan_from_args(args: &[String]) -> Result { fn dispatch_run(a: RunCmd, env: &aura_runner::project::Env) { match is_blueprint_file(&a.blueprint) { Some(path) => { - // The loaded-blueprint grammar takes only --params/--seed/--real/--from/--to; + // The loaded-blueprint grammar takes only --params/--seed/--real/--from/--to/--tap; // the built-in-only flags are rejected here (exit 2), never silently dropped — // mirroring the sweep/mc blueprint branches, which reject their non-branch flags // exhaustively (refuse-don't-guess). clap's optional `[blueprint]` positional // makes these structurally parseable, so the guard is re-asserted at dispatch. if a.trace.is_some() { - eprintln!("aura: Usage: aura run [--params ] [--seed ] [--real [--from ] [--to ]]"); + eprintln!("aura: Usage: aura run [--params ] [--seed ] [--real [--from ] [--to ]] [--tap …]"); std::process::exit(2); } let doc = std::fs::read_to_string(path).unwrap_or_else(|e| { @@ -1893,7 +1893,8 @@ fn dispatch_run(a: RunCmd, env: &aura_runner::project::Env) { None => { eprintln!( "aura: Usage: aura run [--params ] \ - [--seed ] [--real [--from ] [--to ]]" + [--seed ] [--real [--from ] [--to ]] \ + [--tap …]" ); std::process::exit(2); }