1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
mod tests; pub fn has_flag(flag: &str, args: Vec<String>) -> bool { let prefix = if flag.starts_with("-") { "" } else { if flag.len() == 1 { "-" } else { "--" } }; let args = &args; let position = args.into_iter().position(|x| x == &format!("{}{}", prefix, flag)); let terminator_position = args.into_iter().position(|x| "--" == x); match position { Some(p) => match terminator_position { Some(tp) => p < tp, None => true, }, _ => false, } }