#[non_exhaustive]
pub enum ArgSettings {
Show 22 variants Required, MultipleValues, MultipleOccurrences, ForbidEmptyValues, Global, Hidden, TakesValue, UseValueDelimiter, NextLineHelp, RequireDelimiter, HidePossibleValues, AllowHyphenValues, RequireEquals, Last, HideDefaultValue, IgnoreCase, HideEnv, HideEnvValues, HiddenShortHelp, HiddenLongHelp, AllowInvalidUtf8, Exclusive, // some variants omitted
}
Expand description

Various settings that apply to arguments and may be set, unset, and checked via getter/setter methods Arg::setting, Arg::unset_setting, and Arg::is_set. This is what the Arg methods which accept a bool use internally.

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.

Required

Deprecated, replaced with Arg::required and Arg::is_required_set

Derive: replace #[clap(setting = Required)] with #[clap(required = true)]

Builder: replace arg.setting(Required) with arg.required(true)

MultipleValues

Deprecated, replaced with Arg::multiple_values and Arg::is_multiple_values_set

Derive: replace #[clap(setting = MultipleValues)] with #[clap(multiple_values = true)]

Builder: replace arg.setting(MultipleValues) with arg.multiple_values(true)

MultipleOccurrences

Deprecated, replaced with Arg::action (Issue #3772)

ForbidEmptyValues

Deprecated, replaced with [Arg::value_parser(NonEmptyStringValueParser::new())]

Derive: replace #[clap(setting = ForbidEmptyValues)] with #[clap(value_parser = NonEmptyStringValueParser::new())]

Builder: replace arg.setting(Multiple) with arg.value_parser(NonEmptyStringValueParser::new())

Global

Deprecated, replaced with Arg::global and Arg::is_global_set

Derive: replace #[clap(setting = Global)] with #[clap(global = true)]

Builder: replace arg.setting(Global) with arg.global(true)

Hidden

Deprecated, replaced with Arg::hide and Arg::is_hide_set

Derive: replace #[clap(setting = Hidden)] with #[clap(hide = true)]

Builder: replace arg.setting(Hidden) with arg.hide(true)

TakesValue

Deprecated, replaced with Arg::takes_value and Arg::is_takes_value_set

Derive: this setting shouldn’t be needed

Builder: replace arg.setting(TakesValue) with arg.takes_value(true)

UseValueDelimiter

Deprecated, replaced with Arg::use_value_delimiter and Arg::is_use_value_delimiter_set

Derive: replace #[clap(setting = UseValueDelimiter)] with #[clap(use_value_delimiter = true)]

Builder: replace arg.setting(UseValueDelimiter) with arg.use_value_delimiter(true)

NextLineHelp

Deprecated, replaced with Arg::next_line_help and Arg::is_next_line_help_set

Derive: replace #[clap(setting = NextLineHelp)] with #[clap(next_line_help = true)]

Builder: replace arg.setting(NextLineHelp) with arg.next_line_help(true)

RequireDelimiter

Deprecated, replaced with Arg::require_value_delimiter and Arg::is_require_value_delimiter_set

Derive: replace #[clap(setting = RequireDelimiter)] with #[clap(require_value_delimiter = true)]

Builder: replace arg.setting(RequireDelimiter) with arg.require_value_delimiter(true)

HidePossibleValues

Deprecated, replaced with Arg::hide_possible_values and Arg::is_hide_possible_values_set

Derive: replace #[clap(setting = HidePossibleValues)] with #[clap(hide_possible_values = true)]

Builder: replace arg.setting(HidePossibleValues) with arg.hide_possible_values(true)

AllowHyphenValues

Deprecated, replaced with Arg::allow_hyphen_values and Arg::is_allow_hyphen_values_set

Derive: replace #[clap(setting = AllowHyphenValues)] with #[clap(allow_hyphen_values = true)]

Builder: replace arg.setting(AllowHyphenValues) with arg.allow_hyphen_values(true)

RequireEquals

Deprecated, replaced with Arg::require_equals and Arg::is_require_equals_set

Derive: replace #[clap(setting = RequireEquals)] with #[clap(require_equals = true)]

Builder: replace arg.setting(RequireEquals) with arg.require_equals(true)

Last

Deprecated, replaced with Arg::last and Arg::is_last_set

Derive: replace #[clap(setting = Last)] with #[clap(last = true)]

Builder: replace arg.setting(Last) with arg.last(true)

HideDefaultValue

Deprecated, replaced with Arg::hide_default_value and Arg::is_hide_default_value_set

Derive: replace #[clap(setting = HideDefaultValue)] with #[clap(hide_default_value = true)]

Builder: replace arg.setting(HideDefaultValue) with arg.hide_default_value(true)

IgnoreCase

Deprecated, replaced with Arg::ignore_case and Arg::is_ignore_case_set

Derive: replace #[clap(setting = IgnoreCase)] with #[clap(ignore_case = true)]

Builder: replace arg.setting(IgnoreCase) with arg.ignore_case(true)

HideEnv

Deprecated, replaced with Arg::hide_env and Arg::is_hide_env_set

Derive: replace #[clap(setting = HideEnv)] with #[clap(hide_env = true)]

Builder: replace arg.setting(HideEnv) with arg.hide_env(true)

HideEnvValues

Deprecated, replaced with Arg::hide_env_values and Arg::is_hide_env_values_set

Derive: replace #[clap(setting = HideEnvValues)] with #[clap(hide_env_values = true)]

Builder: replace arg.setting(HideEnvValues) with arg.hide_env_values(true)

HiddenShortHelp

Deprecated, replaced with Arg::hide_short_help and Arg::is_hide_short_help_set

Derive: replace #[clap(setting = HiddenShortHelp)] with #[clap(hide_short_help = true)]

Builder: replace arg.setting(HiddenShortHelp) with arg.hide_short_help(true)

HiddenLongHelp

Deprecated, replaced with Arg::hide_long_help and Arg::is_hide_long_help_set

Derive: replace #[clap(setting = HiddenLongHelp)] with #[clap(hide_long_help = true)]

Builder: replace arg.setting(HiddenLongHelp) with arg.hide_long_help(true)

AllowInvalidUtf8

Deprecated, replaced with Arg::value_parser

Derive: replace #[clap(setting = AllowInvalidUtf8)] with #[clap(action)] (which opts-in to the new clap v4 behavior which gets the type via value_parser!)

Builder: replace arg.setting(AllowInvalidUtf8) with arg.value_parser(value_parser!(T)) where T is the type of interest, like OsString or PathBuf, and matches.value_of_os with matches.get_one::<T> or matches.values_of_os with matches.get_many::<T>

Exclusive

Deprecated, replaced with Arg::exclusive and Arg::is_exclusive_set

Derive: replace #[clap(setting = Exclusive)] with #[clap(exclusive = true)]

Builder: replace arg.setting(Exclusive) with arg.exclusive(true)

Trait Implementations

The resulting type after applying the | operator.
Performs the | operation. Read more
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.