You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
426 B
26 lines
426 B
7 months ago
|
//! How to use `arg_enum!` with `StructOpt`.
|
||
|
|
||
|
use clap::arg_enum;
|
||
|
use structopt::StructOpt;
|
||
|
|
||
|
arg_enum! {
|
||
|
#[derive(Debug)]
|
||
|
enum Baz {
|
||
|
Foo,
|
||
|
Bar,
|
||
|
FooBar
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#[derive(StructOpt, Debug)]
|
||
|
struct Opt {
|
||
|
/// Important argument.
|
||
|
#[structopt(possible_values = &Baz::variants(), case_insensitive = true)]
|
||
|
i: Baz,
|
||
|
}
|
||
|
|
||
|
fn main() {
|
||
|
let opt = Opt::from_args();
|
||
|
println!("{:?}", opt);
|
||
|
}
|