use super::calendar::create_timetable; use clap::Parser; #[derive(Parser, Debug)] #[command(version, about, long_about = None)] pub struct Args { #[arg(short, long)] pub timezone: Vec, #[arg(short, long)] pub date: Option, pub time: String, } pub fn print_timezones(timezones: &Vec, time: &String, date: &String) { let max_len = timezones.iter().map(|t| t.len()).max().unwrap_or(0) as u32; for timezone in timezones { let name_padding = (0..(max_len - timezone.len() as u32)) .map(|_| " ".to_string()) .collect::>() .join(""); match create_timetable(time, date, timezone, 5) { Ok(timetable) => println!("{}:{}\t{}", timezone, name_padding, timetable.join("\t")), Err(error) => panic!("Failed: {}", error), } } }