|
|
|
|
|
by linkdd
916 days ago
|
|
`clap` does have magic for enums: use clap::{Parser, ValueEnum};
#[derive(ValueEnum, Debug, Clone)]
pub enum Foo {
Bar,
Baz,
}
#[derive(Parser, Debug)]
#[command(author, version, about, long_about = None)]
pub struct Args {
/// description
#[arg(short = 'f', long = "foo", value_enum, default_value = "bar")]
foo: Foo,
}
The output of `--help` will look like: -f, --foo <FOO> description [default: bar] [possible values: bar, baz]
This is with clap >= 4.4 with the derive feature. |
|