1 //! How to use `arg_enum!` with `StructOpt`.
2 
3 use clap::arg_enum;
4 use structopt::StructOpt;
5 
6 arg_enum! {
7     #[derive(Debug)]
8     enum Baz {
9         Foo,
10         Bar,
11         FooBar
12     }
13 }
14 
15 #[derive(StructOpt, Debug)]
16 struct Opt {
17     /// Important argument.
18     #[structopt(possible_values = &Baz::variants(), case_insensitive = true)]
19     i: Baz,
20 }
21 
main()22 fn main() {
23     let opt = Opt::from_args();
24     println!("{:?}", opt);
25 }
26