Trait clap::Subcommand 
source · [−]pub trait Subcommand: FromArgMatches + Sized {
    fn augment_subcommands(cmd: Command) -> Command;
    fn augment_subcommands_for_update(cmd: Command) -> Command;
    fn has_subcommand(name: &str) -> bool;
}Expand description
Parse a sub-command into a user-defined enum.
Implementing this trait lets a parent container delegate subcommand behavior to Self.
with:
- #[command(subcommand)] field: SubCmd: Attribute can be used with either struct fields or enum variants that impl- Subcommand.
- #[command(flatten)] Variant(SubCmd): Attribute can only be used with enum variants that impl- Subcommand.
See the derive reference for attributes and best practices.
NOTE: Deriving requires the [derive feature flag][crate::_features]
Example
#[derive(clap::Parser)]
struct Args {
   #[command(subcommand)]
   action: Action,
}
#[derive(clap::Subcommand)]
enum Action {
   Add,
   Remove,
}Required Methods
fn augment_subcommands(cmd: Command) -> Command
fn augment_subcommands(cmd: Command) -> Command
Append to Command so it can instantiate Self.
See also CommandFactory.
fn augment_subcommands_for_update(cmd: Command) -> Command
fn augment_subcommands_for_update(cmd: Command) -> Command
Append to Command so it can update self.
This is used to implement #[command(flatten)]
See also CommandFactory.
fn has_subcommand(name: &str) -> bool
fn has_subcommand(name: &str) -> bool
Test whether Self can parse a specific subcommand
