pub trait Args: FromArgMatches + Sized {
fn augment_args(cmd: Command<'_>) -> Command<'_>;
fn augment_args_for_update(cmd: Command<'_>) -> Command<'_>;
}
Expand description
Parse a set of arguments into a user-defined container.
Implementing this trait lets a parent container delegate argument parsing behavior to Self
.
with:
#[clap(flatten)] args: ChildArgs
: Attribute can only be used with struct fields that implArgs
.Variant(ChildArgs)
: No attribute is used with enum variants that implArgs
.
See the derive reference for attributes and best practices.
NOTE: Deriving requires the [derive
feature flag][crate::_features]
Example
#[derive(clap::Parser)]
struct Args {
#[clap(flatten)]
logging: LogArgs,
}
#[derive(clap::Args)]
struct LogArgs {
#[clap(long, short = 'v', parse(from_occurrences))]
verbose: i8,
}
Required methods
fn augment_args(cmd: Command<'_>) -> Command<'_>
fn augment_args(cmd: Command<'_>) -> Command<'_>
Append to Command
so it can instantiate Self
.
See also CommandFactory
.
fn augment_args_for_update(cmd: Command<'_>) -> Command<'_>
fn augment_args_for_update(cmd: Command<'_>) -> Command<'_>
Append to Command
so it can update self
.
This is used to implement #[clap(flatten)]
See also CommandFactory
.