#[macro_use] extern crate clap; use clap::App; fn main() { let yaml = load_yaml!("icktool.yaml"); let matches = App::from_yaml(yaml).get_matches(); if let Some(api) = matches.value_of("api") { println!("api: {}", api); } let code = match matches.subcommand_name() { Some("version") => version(), Some("status") => status(), None => none(), _ => unknown(), }; std::process::exit(code); } fn none() -> i32 { eprintln!("No subcommand was given"); 1 } fn unknown() -> i32 { eprintln!("Unknown command"); 1 } fn version() -> i32 { println!("status requested"); 0 } fn status() -> i32 { println!("status requested"); 0 }