Enum ArgAction
enum ArgAction
Behavior of arguments when they are encountered while parsing
Examples
#
Variants
-
Set When encountered, store the associated value(s) in [
ArgMatches][crate::ArgMatches]NOTE: If the argument has previously been seen, it will result in a [
ArgumentConflict][crate::error::ErrorKind::ArgumentConflict] unless [Command::args_override_self(true)][crate::Command::args_override_self] is set.Examples
# use clap_builder as clap; # use Command; # use Arg; let cmd = new .arg; let matches = cmd.try_get_matches_from.unwrap; assert!; assert_eq!;-
Append When encountered, store the associated value(s) in [
ArgMatches][crate::ArgMatches]Examples
# use clap_builder as clap; # use Command; # use Arg; let cmd = new .arg; let matches = cmd.try_get_matches_from.unwrap; assert!; assert_eq!;-
SetTrue When encountered, act as if
"true"was encountered on the command-lineIf no [
default_value][super::Arg::default_value] is set, it will befalse.No value is allowed. To optionally accept a value, see [
Arg::default_missing_value][super::Arg::default_missing_value]NOTE: If the argument has previously been seen, it will result in a [
ArgumentConflict][crate::error::ErrorKind::ArgumentConflict] unless [Command::args_override_self(true)][crate::Command::args_override_self] is set.Examples
# use clap_builder as clap; # use Command; # use Arg; let cmd = new .arg; let matches = cmd.clone.try_get_matches_from.unwrap; assert!; assert_eq!; let matches = cmd.try_get_matches_from.unwrap; assert!; assert_eq!;You can use [
TypedValueParser::map][crate::builder::TypedValueParser::map] to have the flag control an application-specific type:# use clap_builder as clap; # use Command; # use Arg; # use TypedValueParser as _; # use BoolishValueParser; let cmd = new .arg; let matches = cmd.clone.try_get_matches_from.unwrap; assert!; assert_eq!; let matches = cmd.try_get_matches_from.unwrap; assert!; assert_eq!;-
SetFalse When encountered, act as if
"false"was encountered on the command-lineIf no [
default_value][super::Arg::default_value] is set, it will betrue.No value is allowed. To optionally accept a value, see [
Arg::default_missing_value][super::Arg::default_missing_value]NOTE: If the argument has previously been seen, it will result in a [
ArgumentConflict][crate::error::ErrorKind::ArgumentConflict] unless [Command::args_override_self(true)][crate::Command::args_override_self] is set.Examples
# use clap_builder as clap; # use Command; # use Arg; let cmd = new .arg; let matches = cmd.clone.try_get_matches_from.unwrap; assert!; assert_eq!; let matches = cmd.try_get_matches_from.unwrap; assert!; assert_eq!;-
Count When encountered, increment a
u8counter starting from0.If no [
default_value][super::Arg::default_value] is set, it will be0.No value is allowed. To optionally accept a value, see [
Arg::default_missing_value][super::Arg::default_missing_value]Examples
# use clap_builder as clap; # use Command; # use Arg; let cmd = new .arg; let matches = cmd.clone.try_get_matches_from.unwrap; assert!; assert_eq!; let matches = cmd.try_get_matches_from.unwrap; assert!; assert_eq!;-
Help When encountered, display [
Command::print_help][super::Command::print_help]Depending on the flag, [
Command::print_long_help][super::Command::print_long_help] may be shownExamples
#-
HelpShort When encountered, display [
Command::print_help][super::Command::print_help]Examples
#-
HelpLong When encountered, display [
Command::print_long_help][super::Command::print_long_help]Examples
#-
Version When encountered, display [
Command::version][super::Command::version]Depending on the flag, [
Command::long_version][super::Command::long_version] may be shownExamples
# use clap_builder as clap; # use Command; # use Arg; let cmd = new .version .arg; // Existing help still exists let err = cmd.clone.try_get_matches_from.unwrap_err; assert_eq!; // New help available let err = cmd.try_get_matches_from.unwrap_err; assert_eq!;
Implementations
impl ArgAction
fn takes_values(self: &Self) -> boolReturns whether this action accepts values on the command-line
[
default_values][super::Arg::default_values] and [env][super::Arg::env] may still be processed.
impl Clone for ArgAction
fn clone(self: &Self) -> ArgAction
impl Debug for ArgAction
fn fmt(self: &Self, f: &mut $crate::fmt::Formatter<'_>) -> $crate::fmt::Result
impl Freeze for ArgAction
impl IntoResettable for crate::builder::ArgAction
fn into_resettable(self: Self) -> Resettable<ArgAction>
impl RefUnwindSafe for ArgAction
impl Send for ArgAction
impl Sync for ArgAction
impl Unpin for ArgAction
impl UnwindSafe for ArgAction
impl<T> Any for ArgAction
fn type_id(self: &Self) -> TypeId
impl<T> Borrow for ArgAction
fn borrow(self: &Self) -> &T
impl<T> BorrowMut for ArgAction
fn borrow_mut(self: &mut Self) -> &mut T
impl<T> CloneToUninit for ArgAction
unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)
impl<T> From for ArgAction
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for ArgAction
fn to_owned(self: &Self) -> Tfn clone_into(self: &Self, target: &mut T)
impl<T, U> Into for ArgAction
fn into(self: Self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom for ArgAction
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for ArgAction
fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>