use std::process::exit; use std::env; pub fn schematics_main(run: &dyn Fn (bool) -> Result<(), ()>) { let args: Vec = env::args().collect(); let dry_run = match args.len() { 1 => false, 2 => if args[1] == "--dry-run" { true } else { panic!() }, _ => panic!() }; exit(match run(dry_run) { Ok(_) => 0, Err(_) => 1 }); }