Trait gumdrop::Options [−][src]
pub trait Options: Sized { fn parse<S: AsRef<str>>(parser: &mut Parser<S>) -> Result<Self, Error>; fn parse_command<S: AsRef<str>>(
name: &str,
parser: &mut Parser<S>
) -> Result<Self, Error>; fn usage() -> &'static str; fn command_usage(command: &str) -> Option<&'static str>; fn command_list() -> Option<&'static str>; fn command_name(&self) -> Option<&'static str> { ... } fn help_requested(&self) -> bool { ... } fn parse_args<S: AsRef<str>>(
args: &[S],
style: ParsingStyle
) -> Result<Self, Error> { ... } fn parse_args_or_exit(style: ParsingStyle) -> Self { ... } fn parse_args_default_or_exit() -> Self { ... } fn parse_args_default<S: AsRef<str>>(args: &[S]) -> Result<Self, Error> { ... } }
Implements a set of options parsed from command line arguments.
An implementation of this trait can be generated with #[derive(Options)]
.
Required Methods
fn parse<S: AsRef<str>>(parser: &mut Parser<S>) -> Result<Self, Error>
Parses arguments until the given parser is exhausted or until an error is encountered.
fn parse_command<S: AsRef<str>>(
name: &str,
parser: &mut Parser<S>
) -> Result<Self, Error>
name: &str,
parser: &mut Parser<S>
) -> Result<Self, Error>
Parses options for the named command.
fn usage() -> &'static str
Returns a string showing usage and help for each supported option.
Option descriptions are separated by newlines. The returned string should not end with a newline.
fn command_usage(command: &str) -> Option<&'static str>
Returns a usage string for the named command.
If the named command does not exist, None
is returned.
Command descriptions are separated by newlines. The returned string should not end with a newline.
fn command_list() -> Option<&'static str>
Returns a string listing available commands and help text.
Commands are separated by newlines. The string should not end with a newline.
For enum
types with derive(Options)
, this is the same as usage
.
For struct
types containing a field marked #[options(command)]
,
usage
is called on the command type.
Provided Methods
fn command_name(&self) -> Option<&'static str>
Returns the name of a parsed command, if present.
This is implemented by derive(Options)
in one of two ways:
- For
struct
types, if the type contains a field marked#[options(command)]
, this method is called on that value. Otherwise,None
is returned. - For
enum
types, the name corresponding to the variant is returned.
fn help_requested(&self) -> bool
Returns whether the user supplied a "help" option to request usage information about the program or any contained subcommands.
The default implementation returns false
.
fn parse_args<S: AsRef<str>>(
args: &[S],
style: ParsingStyle
) -> Result<Self, Error>
args: &[S],
style: ParsingStyle
) -> Result<Self, Error>
Parses arguments received from the command line.
The first argument (the program name) should be omitted.
fn parse_args_or_exit(style: ParsingStyle) -> Self
Parses arguments from the environment.
If an error is encountered, the error is printed to stderr
and the
process will exit with status code 2
.
If the user supplies a help option, option usage will be printed to
stdout
and the process will exit with status code 0
.
Otherwise, the parsed options are returned.
fn parse_args_default_or_exit() -> Self
Parses arguments from the environment, using the default parsing style.
If an error is encountered, the error is printed to stderr
and the
process will exit with status code 2
.
If the user supplies a help option, option usage will be printed to
stdout
and the process will exit with status code 0
.
Otherwise, the parsed options are returned.
fn parse_args_default<S: AsRef<str>>(args: &[S]) -> Result<Self, Error>
Parses arguments received from the command line, using the default parsing style.
The first argument (the program name) should be omitted.