pub struct Docopt { /* private fields */ }
Expand description
The main Docopt type, which is constructed with a Docopt usage string.
This can be used to match command line arguments to produce a ArgvMap
.
Implementations
sourceimpl Docopt
impl Docopt
sourcepub fn new<S>(usage: S) -> Result<Docopt, Error> where
S: Deref<Target = str>,
pub fn new<S>(usage: S) -> Result<Docopt, Error> where
S: Deref<Target = str>,
Parse the Docopt usage string given.
The Docopt
value returned may be used immediately to parse command
line arguments with a default configuration.
If there was a problem parsing the usage string, a Usage
error
is returned.
sourcepub fn deserialize<'a, 'de: 'a, D>(&'a self) -> Result<D, Error> where
D: Deserialize<'de>,
pub fn deserialize<'a, 'de: 'a, D>(&'a self) -> Result<D, Error> where
D: Deserialize<'de>,
Parse and deserialize the given argv.
This is a convenience method for
parse().and_then(|vals| vals.deserialize())
.
For details on how decoding works, please see the documentation for
ArgvMap
.
sourcepub fn parse(&self) -> Result<ArgvMap, Error>
pub fn parse(&self) -> Result<ArgvMap, Error>
Parse command line arguments and try to match them against a usage pattern specified in the Docopt string.
If there is a match, then an ArgvMap
is returned, which maps
flags, commands and arguments to values.
If parsing the command line arguments fails, then an Argv
error is
returned. If parsing succeeds but there is no match, then a NoMatch
error is returned. Both of these errors are always returned inside a
WithProgramUsage
error.
If special handling of help
or version
is enabled (the former is
enabled by default), then Help
or Version
errors are returned
if --help
or --version
is present.
sourcepub fn argv<I, S>(self, argv: I) -> Docopt where
I: IntoIterator<Item = S>,
S: AsRef<str>,
pub fn argv<I, S>(self, argv: I) -> Docopt where
I: IntoIterator<Item = S>,
S: AsRef<str>,
Set the argv to be used for Docopt parsing.
By default, when no argv is set, and it is automatically taken from
std::env::args()
.
The argv
given must be the full set of argv
passed to the
program. e.g., ["cp", "src", "dest"]
is right while ["src", "dest"]
is wrong.
sourcepub fn options_first(self, yes: bool) -> Docopt
pub fn options_first(self, yes: bool) -> Docopt
Enables the “options first” Docopt behavior.
The options first behavior means that all flags must appear before position arguments. That is, after the first position argument is seen, all proceeding arguments are interpreted as positional arguments unconditionally.
sourcepub fn help(self, yes: bool) -> Docopt
pub fn help(self, yes: bool) -> Docopt
Enables automatic handling of --help
.
When this is enabled and --help
appears anywhere in the arguments,
then a Help
error will be returned. You may then use the exit
method on the error value to conveniently quit the program (which will
print the full usage string to stdout).
Note that for this to work, --help
must be a valid pattern.
When disabled, there is no special handling of --help
.
sourcepub fn version(self, version: Option<String>) -> Docopt
pub fn version(self, version: Option<String>) -> Docopt
Enables automatic handling of --version
.
When this is enabled and --version
appears anywhere in the arguments,
then a Version(s)
error will be returned, where s
is the string
given here. You may then use the exit
method on the error value to
convenient quit the program (which will print the version to stdout).
When disabled (a None
value), there is no special handling of
--version
.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Docopt
impl Send for Docopt
impl Sync for Docopt
impl Unpin for Docopt
impl UnwindSafe for Docopt
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more