clap_builder

Trait Subcommand

source
pub trait Subcommand: FromArgMatches + Sized {
    // Required methods
    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.

NOTE: Deriving requires the derive feature flag

Required Methods§

source

fn augment_subcommands(cmd: Command) -> Command

Append to Command so it can instantiate Self via FromArgMatches::from_arg_matches_mut

This is used to implement #[command(flatten)]

See also CommandFactory::command.

source

fn augment_subcommands_for_update(cmd: Command) -> Command

Append to Command so it can instantiate self via FromArgMatches::update_from_arg_matches_mut

This is used to implement #[command(flatten)]

See also CommandFactory::command_for_update.

source

fn has_subcommand(name: &str) -> bool

Test whether Self can parse a specific subcommand

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<T: Subcommand> Subcommand for Box<T>

Implementors§