echo_comment/
cli.rs

1use crate::{Mode, run_script};
2
3/// Run the CLI with the specified mode and binary name for usage messages
4pub fn run_cli(mode: Mode, binary_name: &str, description: &str) {
5    let env_args: Vec<String> = std::env::args().collect();
6
7    if env_args.len() < 2 {
8        eprintln!("Usage: {} <script.sh> [args...]", binary_name);
9        eprintln!("{}", description);
10        std::process::exit(1);
11    }
12
13    let script = &env_args[1];
14    let script_args: Vec<String> = env_args[2..].to_vec();
15
16    if let Err(e) = run_script(script, &script_args, mode) {
17        eprintln!("Error: {}", e);
18        std::process::exit(1);
19    }
20}