exit_with/lib.rs
1pub fn run() -> i32 {
2 let mut args = std::env::args().skip(1);
3 if let Some(arg) = args.next() {
4 let exit_code = arg.parse::<i32>().unwrap_or_default();
5 if let Some(arg) = args.next()
6 && !arg.is_empty()
7 {
8 if exit_code == 0 {
9 println!("{}", arg);
10 } else {
11 eprintln!("{}", arg);
12 }
13 }
14 for arg in args {
15 if !arg.is_empty() {
16 if exit_code == 0 {
17 eprintln!("{}", arg);
18 } else {
19 println!("{}", arg);
20 }
21 }
22 }
23 return exit_code;
24 }
25 0
26}