pub trait StructOpt {
fn clap<'a, 'b>() -> App<'a, 'b>;
fn from_clap(matches: &ArgMatches<'_>) -> Self;
fn from_args() -> Self
where
Self: Sized,
{ ... }
fn from_args_safe() -> Result<Self, Error>
where
Self: Sized,
{ ... }
fn from_iter<I>(iter: I) -> Self
where
Self: Sized,
I: IntoIterator,
I::Item: Into<OsString> + Clone,
{ ... }
fn from_iter_safe<I>(iter: I) -> Result<Self, Error>
where
Self: Sized,
I: IntoIterator,
I::Item: Into<OsString> + Clone,
{ ... }
}
Expand description
A struct that is converted from command line arguments.
Required methods
fn from_clap(matches: &ArgMatches<'_>) -> Self
fn from_clap(matches: &ArgMatches<'_>) -> Self
Builds the struct from clap::ArgMatches
. It’s guaranteed to succeed
if matches
originates from an App
generated by StructOpt::clap
called on
the same type, otherwise it must panic.
Provided methods
Builds the struct from the command line arguments (std::env::args_os
).
Calls clap::Error::exit
on failure, printing the error message and aborting the program.
fn from_args_safe() -> Result<Self, Error> where
Self: Sized,
fn from_args_safe() -> Result<Self, Error> where
Self: Sized,
Builds the struct from the command line arguments (std::env::args_os
).
Unlike StructOpt::from_args
, returns clap::Error
on failure instead of aborting the program,
so calling .exit
is up to you.
Gets the struct from any iterator such as a Vec
of your making.
Print the error message and quit the program in case of failure.
NOTE: The first argument will be parsed as the binary name unless
clap::AppSettings::NoBinaryName
has been used.
fn from_iter_safe<I>(iter: I) -> Result<Self, Error> where
Self: Sized,
I: IntoIterator,
I::Item: Into<OsString> + Clone,
fn from_iter_safe<I>(iter: I) -> Result<Self, Error> where
Self: Sized,
I: IntoIterator,
I::Item: Into<OsString> + Clone,
Gets the struct from any iterator such as a Vec
of your making.
Returns a clap::Error
in case of failure. This does not exit in the
case of --help
or --version
, to achieve the same behavior as
from_iter()
you must call .exit()
on the error value.
NOTE: The first argument will be parsed as the binary name unless
clap::AppSettings::NoBinaryName
has been used.