pub struct CommandMeta<'a> {
pub cmd: &'a Command<'a>,
pub about: Option<&'a str>,
pub long_about: Option<&'a str>,
pub hide: bool,
pub args_override_self: bool,
pub flags: &'a [FlagMeta<'a>],
pub args: &'a [ArgMeta<'a>],
pub subcommands: &'a [&'a CommandMeta<'a>],
pub groups: &'a [GroupMeta<'a>],
pub flatten_groups: &'a [FlattenGroup<'a>],
pub extra: &'a CommandExtra<'a>,
}Expand description
What a command knows about itself beyond how it parses.
Fields§
§cmd: &'a Command<'a>The parse table this describes. Names, aliases, and structure come from here rather than being repeated.
about: Option<&'a str>§long_about: Option<&'a str>§hide: boolWhether the command is hidden from help and completions.
args_override_self: boolWhether later single-valued occurrences replace earlier ones.
flags: &'a [FlagMeta<'a>]Metadata for cmd.flags, in the same order.
args: &'a [ArgMeta<'a>]Metadata for cmd.args, in the same order.
subcommands: &'a [&'a CommandMeta<'a>]Metadata for cmd.subcommands, in the same order.
groups: &'a [GroupMeta<'a>]Sets of this command’s flags that relate to one another as a set.
Cold like everything else here: a group is checked once the last token has been read, by code the derive generates, and a successful parse never reads this.
flatten_groups: &'a [FlattenGroup<'a>]Which runs of Self::flags came from a flattened Args type.
Only Spec::to_kdl reads this, and only to write a flagset once instead of the
same flags under every command that flattens the struct. It changes nothing about
parsing: the flags are in flags either way, which is why this is a description of
where they came from rather than a table anything binds against.
extra: &'a CommandExtra<'a>Everything a command rarely declares: deprecation, hidden aliases, spec-only
metadata, help-page prose and layout settings. Shared through NO_COMMAND_EXTRA by
every command that declares none of it, which includes nearly every flattened Args
type, so a table pays for these fields once rather than per command.
Implementations§
Source§impl CommandMeta<'_>
impl CommandMeta<'_>
Sourcepub const EMPTY: CommandMeta<'static>
pub const EMPTY: CommandMeta<'static>
Metadata for a command with nothing declared, for struct update syntax.
Trait Implementations§
Source§impl<'a> Clone for CommandMeta<'a>
impl<'a> Clone for CommandMeta<'a>
Source§fn clone(&self) -> CommandMeta<'a>
fn clone(&self) -> CommandMeta<'a>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more