mirror of
https://github.com/clap-rs/clap
synced 2024-12-14 14:52:33 +00:00
Arg::required_ifs => required_if_eq_any
This commit is contained in:
parent
6b6b6035ed
commit
8b85c4ecea
2 changed files with 11 additions and 11 deletions
|
@ -1371,14 +1371,14 @@ impl<'help> Arg<'help> {
|
||||||
/// ```rust
|
/// ```rust
|
||||||
/// # use clap::Arg;
|
/// # use clap::Arg;
|
||||||
/// Arg::new("config")
|
/// Arg::new("config")
|
||||||
/// .required_ifs(&[
|
/// .required_if_eq_any(&[
|
||||||
/// ("extra", "val"),
|
/// ("extra", "val"),
|
||||||
/// ("option", "spec")
|
/// ("option", "spec")
|
||||||
/// ])
|
/// ])
|
||||||
/// # ;
|
/// # ;
|
||||||
/// ```
|
/// ```
|
||||||
///
|
///
|
||||||
/// Setting [`Arg::required_ifs(&[(arg, val)])`] makes this arg required if any of the `arg`s
|
/// Setting [`Arg::required_if_eq_any(&[(arg, val)])`] makes this arg required if any of the `arg`s
|
||||||
/// are used at runtime and it's corresponding value is equal to `val`. If the `arg`'s value is
|
/// are used at runtime and it's corresponding value is equal to `val`. If the `arg`'s value is
|
||||||
/// anything other than `val`, this argument isn't required.
|
/// anything other than `val`, this argument isn't required.
|
||||||
///
|
///
|
||||||
|
@ -1386,7 +1386,7 @@ impl<'help> Arg<'help> {
|
||||||
/// # use clap::{App, Arg};
|
/// # use clap::{App, Arg};
|
||||||
/// let res = App::new("prog")
|
/// let res = App::new("prog")
|
||||||
/// .arg(Arg::new("cfg")
|
/// .arg(Arg::new("cfg")
|
||||||
/// .required_ifs(&[
|
/// .required_if_eq_any(&[
|
||||||
/// ("extra", "val"),
|
/// ("extra", "val"),
|
||||||
/// ("option", "spec")
|
/// ("option", "spec")
|
||||||
/// ])
|
/// ])
|
||||||
|
@ -1405,14 +1405,14 @@ impl<'help> Arg<'help> {
|
||||||
/// assert!(res.is_ok()); // We didn't use --option=spec, or --extra=val so "cfg" isn't required
|
/// assert!(res.is_ok()); // We didn't use --option=spec, or --extra=val so "cfg" isn't required
|
||||||
/// ```
|
/// ```
|
||||||
///
|
///
|
||||||
/// Setting [`Arg::required_ifs(&[(arg, val)])`] and having any of the `arg`s used with its
|
/// Setting [`Arg::required_if_eq_any(&[(arg, val)])`] and having any of the `arg`s used with it's
|
||||||
/// value of `val` but *not* using this arg is an error.
|
/// value of `val` but *not* using this arg is an error.
|
||||||
///
|
///
|
||||||
/// ```rust
|
/// ```rust
|
||||||
/// # use clap::{App, Arg, ErrorKind};
|
/// # use clap::{App, Arg, ErrorKind};
|
||||||
/// let res = App::new("prog")
|
/// let res = App::new("prog")
|
||||||
/// .arg(Arg::new("cfg")
|
/// .arg(Arg::new("cfg")
|
||||||
/// .required_ifs(&[
|
/// .required_if_eq_any(&[
|
||||||
/// ("extra", "val"),
|
/// ("extra", "val"),
|
||||||
/// ("option", "spec")
|
/// ("option", "spec")
|
||||||
/// ])
|
/// ])
|
||||||
|
@ -1434,7 +1434,7 @@ impl<'help> Arg<'help> {
|
||||||
/// [`Arg::requires(name)`]: ./struct.Arg.html#method.requires
|
/// [`Arg::requires(name)`]: ./struct.Arg.html#method.requires
|
||||||
/// [Conflicting]: ./struct.Arg.html#method.conflicts_with
|
/// [Conflicting]: ./struct.Arg.html#method.conflicts_with
|
||||||
/// [required]: ./struct.Arg.html#method.required
|
/// [required]: ./struct.Arg.html#method.required
|
||||||
pub fn required_ifs<T: Key>(mut self, ifs: &[(T, &'help str)]) -> Self {
|
pub fn required_if_eq_any<T: Key>(mut self, ifs: &[(T, &'help str)]) -> Self {
|
||||||
self.r_ifs
|
self.r_ifs
|
||||||
.extend(ifs.iter().map(|(id, val)| (Id::from_ref(id), *val)));
|
.extend(ifs.iter().map(|(id, val)| (Id::from_ref(id), *val)));
|
||||||
self
|
self
|
||||||
|
@ -4287,7 +4287,7 @@ impl<'help> From<&'help Yaml> for Arg<'help> {
|
||||||
"long_help" => yaml_to_str!(a, v, long_about),
|
"long_help" => yaml_to_str!(a, v, long_about),
|
||||||
"required" => yaml_to_bool!(a, v, required),
|
"required" => yaml_to_bool!(a, v, required),
|
||||||
"required_if" => yaml_tuple2!(a, v, required_if),
|
"required_if" => yaml_tuple2!(a, v, required_if),
|
||||||
"required_ifs" => yaml_tuple2!(a, v, required_if),
|
"required_if_eq_any" => yaml_tuple2!(a, v, required_if),
|
||||||
"takes_value" => yaml_to_bool!(a, v, takes_value),
|
"takes_value" => yaml_to_bool!(a, v, takes_value),
|
||||||
"index" => yaml_to_u64!(a, v, index),
|
"index" => yaml_to_u64!(a, v, index),
|
||||||
"global" => yaml_to_bool!(a, v, global),
|
"global" => yaml_to_bool!(a, v, global),
|
||||||
|
|
|
@ -610,7 +610,7 @@ fn required_ifs_val_present_pass() {
|
||||||
let res = App::new("ri")
|
let res = App::new("ri")
|
||||||
.arg(
|
.arg(
|
||||||
Arg::new("cfg")
|
Arg::new("cfg")
|
||||||
.required_ifs(&[("extra", "val"), ("option", "spec")])
|
.required_if_eq_any(&[("extra", "val"), ("option", "spec")])
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.long("config"),
|
.long("config"),
|
||||||
)
|
)
|
||||||
|
@ -626,7 +626,7 @@ fn required_ifs_val_present_fail() {
|
||||||
let res = App::new("ri")
|
let res = App::new("ri")
|
||||||
.arg(
|
.arg(
|
||||||
Arg::new("cfg")
|
Arg::new("cfg")
|
||||||
.required_ifs(&[("extra", "val"), ("option", "spec")])
|
.required_if_eq_any(&[("extra", "val"), ("option", "spec")])
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.long("config"),
|
.long("config"),
|
||||||
)
|
)
|
||||||
|
@ -643,7 +643,7 @@ fn required_ifs_wrong_val() {
|
||||||
let res = App::new("ri")
|
let res = App::new("ri")
|
||||||
.arg(
|
.arg(
|
||||||
Arg::new("cfg")
|
Arg::new("cfg")
|
||||||
.required_ifs(&[("extra", "val"), ("option", "spec")])
|
.required_if_eq_any(&[("extra", "val"), ("option", "spec")])
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.long("config"),
|
.long("config"),
|
||||||
)
|
)
|
||||||
|
@ -659,7 +659,7 @@ fn required_ifs_wrong_val_mult_fail() {
|
||||||
let res = App::new("ri")
|
let res = App::new("ri")
|
||||||
.arg(
|
.arg(
|
||||||
Arg::new("cfg")
|
Arg::new("cfg")
|
||||||
.required_ifs(&[("extra", "val"), ("option", "spec")])
|
.required_if_eq_any(&[("extra", "val"), ("option", "spec")])
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.long("config"),
|
.long("config"),
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue