]>
Commit | Line | Data |
---|---|---|
f20569fa XL |
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 | ||
22 | fn main() { | |
23 | let opt = Opt::from_args(); | |
24 | println!("{:?}", opt); | |
25 | } |