clap/examples/arg_enum_basic.rs

27 lines
515 B
Rust
Raw Normal View History

2017-11-12 18:02:56 +00:00
#[macro_use]
extern crate clap;
use clap::{App, Arg};
#[derive(ArgEnum, Debug)]
enum ArgChoice {
Foo,
Bar,
Baz,
}
fn main() {
let matches = App::new(env!("CARGO_PKG_NAME"))
.arg(
Arg::with_name("arg")
2017-11-12 18:02:56 +00:00
.required(true)
.takes_value(true)
.possible_values(&ArgChoice::variants()),
)
.get_matches();
let t = value_t!(matches.value_of("arg"), ArgChoice).unwrap_or_else(|e| e.exit());
2017-11-12 18:02:56 +00:00
println!("{:?}", t);
}