mirror of
https://github.com/clap-rs/clap
synced 2025-03-04 15:27:16 +00:00
rebuilt docs
This commit is contained in:
parent
a85bc49185
commit
44830a0155
8 changed files with 86 additions and 85 deletions
|
@ -44,7 +44,7 @@
|
|||
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>clap</a>::<wbr><a class='struct' href=''>App</a><wbr></span><span class='out-of-band'><span id='render-detail'>
|
||||
<a id="collapse-all" href="#">[-]</a> <a id="expand-all" href="#">[+]</a>
|
||||
</span><a id='src-31' href='../src/clap/app.rs.html#38-64'>[src]</a></span></h1>
|
||||
<pre class='rust struct'>pub struct App {
|
||||
<pre class='rust struct'>pub struct App<'a, 'v, 'ab, 'u> {
|
||||
// some fields omitted
|
||||
}</pre><div class='docblock'><p>Used to create a representation of the program and all possible command line arguments
|
||||
for parsing at runtime.</p>
|
||||
|
@ -56,7 +56,7 @@ help and versioning information.</p>
|
|||
href="#example">Example</a></h1><pre id='rust-example-rendered' class='rust '>
|
||||
<span class='kw'>let</span> <span class='ident'>myprog</span> <span class='op'>=</span> <span class='ident'>App</span>::<span class='ident'>new</span>(<span class='string'>"myprog"</span>)
|
||||
.<span class='ident'>author</span>(<span class='string'>"Me, me@mail.com"</span>)
|
||||
.<span class='ident'>version</span>(<span class='string'>"1.0.2"</span>)
|
||||
.<span class='ident'>version</span>(<span class='string'>"1.0.2"</span>)
|
||||
.<span class='ident'>about</span>(<span class='string'>"Explains in brief what the program does"</span>)
|
||||
.<span class='ident'>arg</span>(
|
||||
<span class='ident'>Arg</span>::<span class='ident'>new</span>(<span class='string'>"in_file"</span>).<span class='ident'>index</span>(<span class='number'>1</span>)
|
||||
|
@ -66,7 +66,7 @@ help and versioning information.</p>
|
|||
|
||||
<span class='comment'>// Your pogram logic starts here...</span>
|
||||
</pre>
|
||||
</div><h2 id='methods'>Methods</h2><h3 class='impl'><a class='stability Unmarked' title='No stability level'></a><code>impl <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a></code></h3><div class='impl-items'><h4 id='method.new' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.new' class='fnname'>new</a>(n: &'static <a href='http://doc.rust-lang.org/nightly/std/primitive.str.html'>str</a>) -> <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a></code></h4>
|
||||
</div><h2 id='methods'>Methods</h2><h3 class='impl'><a class='stability Unmarked' title='No stability level'></a><code>impl<'a, 'v, 'ab, 'u> <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a><'a, 'v, 'ab, 'u></code></h3><div class='impl-items'><h4 id='method.new' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.new' class='fnname'>new</a><'n>(n: &'n <a href='http://doc.rust-lang.org/nightly/std/primitive.str.html'>str</a>) -> <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a><'a, 'v, 'ab, 'u></code></h4>
|
||||
<div class='docblock'><p>Creates a new instance of an application requiring a name (such as the binary). Will be displayed
|
||||
to the user when they print version or help and usage information.</p>
|
||||
|
||||
|
@ -74,28 +74,28 @@ to the user when they print version or help and usage information.</p>
|
|||
href="#example">Example</a></h1><pre id='rust-example-rendered' class='rust '>
|
||||
<span class='kw'>let</span> <span class='ident'>prog</span> <span class='op'>=</span> <span class='ident'>App</span>::<span class='ident'>new</span>(<span class='string'>"myprog"</span>)
|
||||
</pre>
|
||||
</div><h4 id='method.author' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.author' class='fnname'>author</a>(self, a: &'static <a href='http://doc.rust-lang.org/nightly/std/primitive.str.html'>str</a>) -> <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a></code></h4>
|
||||
</div><h4 id='method.author' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.author' class='fnname'>author</a>(self, a: &'a <a href='http://doc.rust-lang.org/nightly/std/primitive.str.html'>str</a>) -> <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a><'a, 'v, 'ab, 'u></code></h4>
|
||||
<div class='docblock'><p>Sets a string of author(s)</p>
|
||||
|
||||
<h1 id="example" class='section-header'><a
|
||||
href="#example">Example</a></h1><pre id='rust-example-rendered' class='rust '>
|
||||
.<span class='ident'>author</span>(<span class='string'>"Kevin <kbknapp@gmail.com>"</span>)
|
||||
</pre>
|
||||
</div><h4 id='method.about' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.about' class='fnname'>about</a>(self, a: &'static <a href='http://doc.rust-lang.org/nightly/std/primitive.str.html'>str</a>) -> <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a></code></h4>
|
||||
</div><h4 id='method.about' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.about' class='fnname'>about</a>(self, a: &'ab <a href='http://doc.rust-lang.org/nightly/std/primitive.str.html'>str</a>) -> <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a><'a, 'v, 'ab, 'u></code></h4>
|
||||
<div class='docblock'><p>Sets a string briefly describing what the program does</p>
|
||||
|
||||
<h1 id="example" class='section-header'><a
|
||||
href="#example">Example</a></h1><pre id='rust-example-rendered' class='rust '>
|
||||
.<span class='ident'>about</span>(<span class='string'>"Does really amazing things to great people"</span>)
|
||||
</pre>
|
||||
</div><h4 id='method.version' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.version' class='fnname'>version</a>(self, v: &'static <a href='http://doc.rust-lang.org/nightly/std/primitive.str.html'>str</a>) -> <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a></code></h4>
|
||||
</div><h4 id='method.version' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.version' class='fnname'>version</a>(self, v: &'v <a href='http://doc.rust-lang.org/nightly/std/primitive.str.html'>str</a>) -> <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a><'a, 'v, 'ab, 'u></code></h4>
|
||||
<div class='docblock'><p>Sets a string of the version number</p>
|
||||
|
||||
<h1 id="example" class='section-header'><a
|
||||
href="#example">Example</a></h1><pre id='rust-example-rendered' class='rust '>
|
||||
.<span class='ident'>version</span>(<span class='string'>"v0.1.24"</span>)
|
||||
</pre>
|
||||
</div><h4 id='method.usage' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.usage' class='fnname'>usage</a>(self, u: &'static <a href='http://doc.rust-lang.org/nightly/std/primitive.str.html'>str</a>) -> <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a></code></h4>
|
||||
</div><h4 id='method.usage' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.usage' class='fnname'>usage</a>(self, u: &'u <a href='http://doc.rust-lang.org/nightly/std/primitive.str.html'>str</a>) -> <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a><'a, 'v, 'ab, 'u></code></h4>
|
||||
<div class='docblock'><p>Sets a custom usage string to over-ride the one auto-generated by <code>clap</code></p>
|
||||
|
||||
<p><em>NOTE:</em> You do not need to specify the "USAGE: " portion, as that will
|
||||
|
@ -109,7 +109,7 @@ showing the usage.</p>
|
|||
href="#example">Example</a></h1><pre id='rust-example-rendered' class='rust '>
|
||||
.<span class='ident'>usage</span>(<span class='string'>"myapp [-clDas] <some_file>"</span>)
|
||||
</pre>
|
||||
</div><h4 id='method.arg' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.arg' class='fnname'>arg</a>(self, a: <a class='struct' href='../clap/struct.Arg.html' title='clap::Arg'>Arg</a>) -> <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a></code></h4>
|
||||
</div><h4 id='method.arg' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.arg' class='fnname'>arg</a>(self, a: <a class='struct' href='../clap/struct.Arg.html' title='clap::Arg'>Arg</a>) -> <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a><'a, 'v, 'ab, 'u></code></h4>
|
||||
<div class='docblock'><p>Adds an argument to the list of valid possibilties</p>
|
||||
|
||||
<h1 id="example" class='section-header'><a
|
||||
|
@ -119,7 +119,7 @@ showing the usage.</p>
|
|||
<span class='comment'>// Additional argument configuration goes here...</span>
|
||||
)
|
||||
</pre>
|
||||
</div><h4 id='method.args' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.args' class='fnname'>args</a>(self, args: <a class='struct' href='http://doc.rust-lang.org/nightly/collections/vec/struct.Vec.html' title='collections::vec::Vec'>Vec</a><<a class='struct' href='../clap/struct.Arg.html' title='clap::Arg'>Arg</a>>) -> <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a></code></h4>
|
||||
</div><h4 id='method.args' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.args' class='fnname'>args</a>(self, args: <a class='struct' href='http://doc.rust-lang.org/nightly/collections/vec/struct.Vec.html' title='collections::vec::Vec'>Vec</a><<a class='struct' href='../clap/struct.Arg.html' title='clap::Arg'>Arg</a>>) -> <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a><'a, 'v, 'ab, 'u></code></h4>
|
||||
<div class='docblock'><p>Adds multiple arguments to the list of valid possibilties</p>
|
||||
|
||||
<h1 id="example" class='section-header'><a
|
||||
|
@ -127,7 +127,7 @@ showing the usage.</p>
|
|||
.<span class='ident'>args</span>( <span class='macro'>vec</span><span class='macro'>!</span>[<span class='ident'>Arg</span>::<span class='ident'>new</span>(<span class='string'>"config"</span>).<span class='ident'>short</span>(<span class='string'>"c"</span>),
|
||||
<span class='ident'>Arg</span>::<span class='ident'>new</span>(<span class='string'>"debug"</span>).<span class='ident'>short</span>(<span class='string'>"d"</span>)])
|
||||
</pre>
|
||||
</div><h4 id='method.subcommand' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.subcommand' class='fnname'>subcommand</a>(self, subcmd: <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a>) -> <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a></code></h4>
|
||||
</div><h4 id='method.subcommand' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.subcommand' class='fnname'>subcommand</a>(self, subcmd: <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a><'a, 'v, 'ab, 'u>) -> <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a><'a, 'v, 'ab, 'u></code></h4>
|
||||
<div class='docblock'><p>Adds a subcommand to the list of valid possibilties. Subcommands
|
||||
are effectively sub apps, because they can contain their own arguments
|
||||
and subcommands. They also function just like apps, in that they get their
|
||||
|
@ -142,7 +142,7 @@ own auto generated help and version switches.</p>
|
|||
.<span class='ident'>help</span>(<span class='string'>"Configuration file to use"</span>)))
|
||||
<span class='comment'>// Additional subcommand configuration goes here, such as arguments...</span>
|
||||
</pre>
|
||||
</div><h4 id='method.subcommands' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.subcommands' class='fnname'>subcommands</a>(self, subcmds: <a class='struct' href='http://doc.rust-lang.org/nightly/collections/vec/struct.Vec.html' title='collections::vec::Vec'>Vec</a><<a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a>>) -> <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a></code></h4>
|
||||
</div><h4 id='method.subcommands' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.subcommands' class='fnname'>subcommands</a>(self, subcmds: <a class='struct' href='http://doc.rust-lang.org/nightly/collections/vec/struct.Vec.html' title='collections::vec::Vec'>Vec</a><<a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a><'a, 'v, 'ab, 'u>>) -> <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a><'a, 'v, 'ab, 'u></code></h4>
|
||||
<div class='docblock'><p>Adds multiple subcommands to the list of valid possibilties</p>
|
||||
|
||||
<h1 id="example" class='section-header'><a
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
<section id='main' class="content struct">
|
||||
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>clap</a>::<wbr><a class='struct' href=''>Arg</a><wbr></span><span class='out-of-band'><span id='render-detail'>
|
||||
<a id="collapse-all" href="#">[-]</a> <a id="expand-all" href="#">[+]</a>
|
||||
</span><a id='src-5674' href='../src/clap/args/arg.rs.html#21-53'>[src]</a></span></h1>
|
||||
</span><a id='src-5699' href='../src/clap/args/arg.rs.html#21-53'>[src]</a></span></h1>
|
||||
<pre class='rust struct'>pub struct Arg {
|
||||
pub name: &'static <a href='http://doc.rust-lang.org/nightly/std/primitive.str.html'>str</a>,
|
||||
pub short: <a class='enum' href='http://doc.rust-lang.org/nightly/core/option/enum.Option.html' title='core::option::Option'>Option</a><<a href='http://doc.rust-lang.org/nightly/std/primitive.char.html'>char</a>>,
|
||||
|
|
|
@ -43,9 +43,8 @@
|
|||
<section id='main' class="content struct">
|
||||
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>clap</a>::<wbr><a class='struct' href=''>ArgMatches</a><wbr></span><span class='out-of-band'><span id='render-detail'>
|
||||
<a id="collapse-all" href="#">[-]</a> <a id="expand-all" href="#">[+]</a>
|
||||
</span><a id='src-6119' href='../src/clap/args/argmatches.rs.html#62-68'>[src]</a></span></h1>
|
||||
</span><a id='src-6144' href='../src/clap/args/argmatches.rs.html#62-68'>[src]</a></span></h1>
|
||||
<pre class='rust struct'>pub struct ArgMatches {
|
||||
pub matches_of: &'static <a href='http://doc.rust-lang.org/nightly/std/primitive.str.html'>str</a>,
|
||||
pub flags: <a class='struct' href='http://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html' title='std::collections::hash::map::HashMap'>HashMap</a><&'static <a href='http://doc.rust-lang.org/nightly/std/primitive.str.html'>str</a>, FlagArg>,
|
||||
pub opts: <a class='struct' href='http://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html' title='std::collections::hash::map::HashMap'>HashMap</a><&'static <a href='http://doc.rust-lang.org/nightly/std/primitive.str.html'>str</a>, OptArg>,
|
||||
pub positionals: <a class='struct' href='http://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html' title='std::collections::hash::map::HashMap'>HashMap</a><&'static <a href='http://doc.rust-lang.org/nightly/std/primitive.str.html'>str</a>, PosArg>,
|
||||
|
@ -96,7 +95,7 @@ the methods in order to query information.</p>
|
|||
}
|
||||
</pre>
|
||||
</div><h2 class='fields'>Fields</h2>
|
||||
<table><tr><td id='structfield.matches_of'><a class='stability Unmarked' title='No stability level'></a><code>matches_of</code></td><td></td></tr><tr><td id='structfield.flags'><a class='stability Unmarked' title='No stability level'></a><code>flags</code></td><td></td></tr><tr><td id='structfield.opts'><a class='stability Unmarked' title='No stability level'></a><code>opts</code></td><td></td></tr><tr><td id='structfield.positionals'><a class='stability Unmarked' title='No stability level'></a><code>positionals</code></td><td></td></tr><tr><td id='structfield.subcommand'><a class='stability Unmarked' title='No stability level'></a><code>subcommand</code></td><td></td></tr></table><h2 id='methods'>Methods</h2><h3 class='impl'><a class='stability Unmarked' title='No stability level'></a><code>impl <a class='struct' href='../clap/struct.ArgMatches.html' title='clap::ArgMatches'>ArgMatches</a></code></h3><div class='impl-items'><h4 id='method.new' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.new' class='fnname'>new</a>(name: &'static <a href='http://doc.rust-lang.org/nightly/std/primitive.str.html'>str</a>) -> <a class='struct' href='../clap/struct.ArgMatches.html' title='clap::ArgMatches'>ArgMatches</a></code></h4>
|
||||
<table><tr><td id='structfield.flags'><a class='stability Unmarked' title='No stability level'></a><code>flags</code></td><td></td></tr><tr><td id='structfield.opts'><a class='stability Unmarked' title='No stability level'></a><code>opts</code></td><td></td></tr><tr><td id='structfield.positionals'><a class='stability Unmarked' title='No stability level'></a><code>positionals</code></td><td></td></tr><tr><td id='structfield.subcommand'><a class='stability Unmarked' title='No stability level'></a><code>subcommand</code></td><td></td></tr></table><h2 id='methods'>Methods</h2><h3 class='impl'><a class='stability Unmarked' title='No stability level'></a><code>impl <a class='struct' href='../clap/struct.ArgMatches.html' title='clap::ArgMatches'>ArgMatches</a></code></h3><div class='impl-items'><h4 id='method.new' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.new' class='fnname'>new</a>() -> <a class='struct' href='../clap/struct.ArgMatches.html' title='clap::ArgMatches'>ArgMatches</a></code></h4>
|
||||
<div class='docblock'><p>Creates a new instance of <code>ArgMatches</code>. This ins't called directly, but
|
||||
through the <code>.get_matches()</code> method of <code>App</code></p>
|
||||
|
||||
|
@ -169,7 +168,7 @@ allow multiple occurrences, it will return <code>1</code> no matter how many tim
|
|||
<span class='comment'>// Use matches as normal</span>
|
||||
}
|
||||
</pre>
|
||||
</div><h4 id='method.subcommand_name' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.subcommand_name' class='fnname'>subcommand_name</a>(&self) -> <a class='enum' href='http://doc.rust-lang.org/nightly/core/option/enum.Option.html' title='core::option::Option'>Option</a><&'static <a href='http://doc.rust-lang.org/nightly/std/primitive.str.html'>str</a>></code></h4>
|
||||
</div><h4 id='method.subcommand_name' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.subcommand_name' class='fnname'>subcommand_name</a>(&self) -> <a class='enum' href='http://doc.rust-lang.org/nightly/core/option/enum.Option.html' title='core::option::Option'>Option</a><&<a href='http://doc.rust-lang.org/nightly/std/primitive.str.html'>str</a>></code></h4>
|
||||
<div class='docblock'><p>If a subcommand was found, returns the name associated with it</p>
|
||||
|
||||
<h1 id="example" class='section-header'><a
|
||||
|
|
|
@ -43,9 +43,9 @@
|
|||
<section id='main' class="content struct">
|
||||
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>clap</a>::<wbr><a class='struct' href=''>SubCommand</a><wbr></span><span class='out-of-band'><span id='render-detail'>
|
||||
<a id="collapse-all" href="#">[-]</a> <a id="expand-all" href="#">[+]</a>
|
||||
</span><a id='src-6479' href='../src/clap/args/subcommand.rs.html#23-26'>[src]</a></span></h1>
|
||||
</span><a id='src-6496' href='../src/clap/args/subcommand.rs.html#23-26'>[src]</a></span></h1>
|
||||
<pre class='rust struct'>pub struct SubCommand {
|
||||
pub name: &'static <a href='http://doc.rust-lang.org/nightly/std/primitive.str.html'>str</a>,
|
||||
pub name: <a class='struct' href='http://doc.rust-lang.org/nightly/collections/string/struct.String.html' title='collections::string::String'>String</a>,
|
||||
pub matches: <a class='struct' href='../clap/struct.ArgMatches.html' title='clap::ArgMatches'>ArgMatches</a>,
|
||||
}</pre><div class='docblock'><p>The abstract representation of a command line subcommand used by the consumer of the library.</p>
|
||||
|
||||
|
@ -62,7 +62,7 @@ their own arguments and subcommands).</p>
|
|||
.<span class='ident'>index</span>(<span class='number'>1</span>))
|
||||
</pre>
|
||||
</div><h2 class='fields'>Fields</h2>
|
||||
<table><tr><td id='structfield.name'><a class='stability Unmarked' title='No stability level'></a><code>name</code></td><td></td></tr><tr><td id='structfield.matches'><a class='stability Unmarked' title='No stability level'></a><code>matches</code></td><td></td></tr></table><h2 id='methods'>Methods</h2><h3 class='impl'><a class='stability Unmarked' title='No stability level'></a><code>impl <a class='struct' href='../clap/struct.SubCommand.html' title='clap::SubCommand'>SubCommand</a></code></h3><div class='impl-items'><h4 id='method.new' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.new' class='fnname'>new</a>(name: &'static <a href='http://doc.rust-lang.org/nightly/std/primitive.str.html'>str</a>) -> <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a></code></h4>
|
||||
<table><tr><td id='structfield.name'><a class='stability Unmarked' title='No stability level'></a><code>name</code></td><td></td></tr><tr><td id='structfield.matches'><a class='stability Unmarked' title='No stability level'></a><code>matches</code></td><td></td></tr></table><h2 id='methods'>Methods</h2><h3 class='impl'><a class='stability Unmarked' title='No stability level'></a><code>impl <a class='struct' href='../clap/struct.SubCommand.html' title='clap::SubCommand'>SubCommand</a></code></h3><div class='impl-items'><h4 id='method.new' class='method'><a class='stability Unmarked' title='No stability level'></a><code>fn <a href='#method.new' class='fnname'>new</a><'a, 'v, 'ab, 'u>(name: &'a <a href='http://doc.rust-lang.org/nightly/std/primitive.str.html'>str</a>) -> <a class='struct' href='../clap/struct.App.html' title='clap::App'>App</a><'a, 'v, 'ab, 'u></code></h4>
|
||||
<div class='docblock'><p>Creates a new instance of a subcommand requiring a name. Will be displayed
|
||||
to the user when they print version or help and usage information.</p>
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -943,6 +943,7 @@
|
|||
<span id="901">901</span>
|
||||
<span id="902">902</span>
|
||||
<span id="903">903</span>
|
||||
<span id="904">904</span>
|
||||
</pre><pre class='rust '>
|
||||
<span class='kw'>extern</span> <span class='kw'>crate</span> <span class='ident'>libc</span>;
|
||||
|
||||
|
@ -971,7 +972,7 @@
|
|||
<span class='doccomment'>/// # use clap::{App, Arg};</span>
|
||||
<span class='doccomment'>/// let myprog = App::new("myprog")</span>
|
||||
<span class='doccomment'>/// .author("Me, me@mail.com")</span>
|
||||
<span class='doccomment'>/// .version("1.0.2")</span>
|
||||
<span class='doccomment'>/// .version("1.0.2")</span>
|
||||
<span class='doccomment'>/// .about("Explains in brief what the program does")</span>
|
||||
<span class='doccomment'>/// .arg(</span>
|
||||
<span class='doccomment'>/// Arg::new("in_file").index(1)</span>
|
||||
|
@ -981,19 +982,19 @@
|
|||
<span class='doccomment'>///</span>
|
||||
<span class='doccomment'>/// // Your pogram logic starts here...</span>
|
||||
<span class='doccomment'>/// ```</span>
|
||||
<span class='kw'>pub</span> <span class='kw'>struct</span> <span class='ident'>App</span> {
|
||||
<span class='kw'>pub</span> <span class='kw'>struct</span> <span class='ident'>App</span><span class='op'><</span><span class='lifetime'>'a</span>, <span class='lifetime'>'v</span>, <span class='lifetime'>'ab</span>, <span class='lifetime'>'u</span><span class='op'>></span> {
|
||||
<span class='comment'>// The name displayed to the user when showing version and help/usage information</span>
|
||||
<span class='ident'>name</span>: <span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span>,
|
||||
<span class='ident'>name</span>: <span class='ident'>String</span>,
|
||||
<span class='comment'>// A string of author(s) if desired. Displayed when showing help/usage information</span>
|
||||
<span class='ident'>author</span>: <span class='prelude-ty'>Option</span><span class='op'><</span><span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span><span class='op'>></span>,
|
||||
<span class='ident'>author</span>: <span class='prelude-ty'>Option</span><span class='op'><</span><span class='kw-2'>&</span><span class='lifetime'>'a</span> <span class='ident'>str</span><span class='op'>></span>,
|
||||
<span class='comment'>// The version displayed to the user</span>
|
||||
<span class='ident'>version</span>: <span class='prelude-ty'>Option</span><span class='op'><</span><span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span><span class='op'>></span>,
|
||||
<span class='ident'>version</span>: <span class='prelude-ty'>Option</span><span class='op'><</span><span class='kw-2'>&</span><span class='lifetime'>'v</span> <span class='ident'>str</span><span class='op'>></span>,
|
||||
<span class='comment'>// A brief explaination of the program that gets displayed to the user when shown help/usage information</span>
|
||||
<span class='ident'>about</span>: <span class='prelude-ty'>Option</span><span class='op'><</span><span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span><span class='op'>></span>,
|
||||
<span class='ident'>about</span>: <span class='prelude-ty'>Option</span><span class='op'><</span><span class='kw-2'>&</span><span class='lifetime'>'ab</span> <span class='ident'>str</span><span class='op'>></span>,
|
||||
<span class='ident'>flags</span>: <span class='ident'>HashMap</span><span class='op'><</span><span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span>, <span class='ident'>FlagBuilder</span><span class='op'>></span>,
|
||||
<span class='ident'>opts</span>: <span class='ident'>HashMap</span><span class='op'><</span><span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span>, <span class='ident'>OptBuilder</span><span class='op'>></span>,
|
||||
<span class='ident'>positionals_idx</span>: <span class='ident'>BTreeMap</span><span class='op'><</span><span class='ident'>u8</span>, <span class='ident'>PosBuilder</span><span class='op'>></span>,
|
||||
<span class='ident'>subcommands</span>: <span class='ident'>HashMap</span><span class='op'><</span><span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span>, <span class='ident'>Box</span><span class='op'><</span><span class='ident'>App</span><span class='op'>>></span>,
|
||||
<span class='ident'>subcommands</span>: <span class='ident'>HashMap</span><span class='op'><</span><span class='ident'>String</span>, <span class='ident'>Box</span><span class='op'><</span><span class='ident'>App</span><span class='op'><</span><span class='lifetime'>'a</span>, <span class='lifetime'>'v</span>, <span class='lifetime'>'ab</span>, <span class='lifetime'>'u</span><span class='op'>>></span><span class='op'>></span>,
|
||||
<span class='ident'>needs_long_help</span>: <span class='ident'>bool</span>,
|
||||
<span class='ident'>needs_long_version</span>: <span class='ident'>bool</span>,
|
||||
<span class='ident'>needs_short_help</span>: <span class='ident'>bool</span>,
|
||||
|
@ -1004,12 +1005,12 @@
|
|||
<span class='ident'>short_list</span>: <span class='ident'>HashSet</span><span class='op'><</span><span class='ident'>char</span><span class='op'>></span>,
|
||||
<span class='ident'>long_list</span>: <span class='ident'>HashSet</span><span class='op'><</span><span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span><span class='op'>></span>,
|
||||
<span class='ident'>blacklist</span>: <span class='ident'>HashSet</span><span class='op'><</span><span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span><span class='op'>></span>,
|
||||
<span class='ident'>usage_str</span>: <span class='prelude-ty'>Option</span><span class='op'><</span><span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span><span class='op'>></span>,
|
||||
<span class='ident'>usage_str</span>: <span class='prelude-ty'>Option</span><span class='op'><</span><span class='kw-2'>&</span><span class='lifetime'>'u</span> <span class='ident'>str</span><span class='op'>></span>,
|
||||
<span class='ident'>bin_name</span>: <span class='prelude-ty'>Option</span><span class='op'><</span><span class='ident'>String</span><span class='op'>></span>
|
||||
|
||||
}
|
||||
|
||||
<span class='kw'>impl</span> <span class='ident'>App</span> {
|
||||
<span class='kw'>impl</span><span class='op'><</span><span class='lifetime'>'a</span>, <span class='lifetime'>'v</span>, <span class='lifetime'>'ab</span>, <span class='lifetime'>'u</span><span class='op'>></span> <span class='ident'>App</span><span class='op'><</span><span class='lifetime'>'a</span>, <span class='lifetime'>'v</span>, <span class='lifetime'>'ab</span>, <span class='lifetime'>'u</span><span class='op'>></span>{
|
||||
<span class='doccomment'>/// Creates a new instance of an application requiring a name (such as the binary). Will be displayed</span>
|
||||
<span class='doccomment'>/// to the user when they print version or help and usage information.</span>
|
||||
<span class='doccomment'>///</span>
|
||||
|
@ -1020,9 +1021,9 @@
|
|||
<span class='doccomment'>/// let prog = App::new("myprog")</span>
|
||||
<span class='doccomment'>/// # .get_matches();</span>
|
||||
<span class='doccomment'>/// ```</span>
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>new</span>(<span class='ident'>n</span>: <span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span>) <span class='op'>-></span> <span class='ident'>App</span> {
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>new</span><span class='op'><</span><span class='lifetime'>'n</span><span class='op'>></span>(<span class='ident'>n</span>: <span class='kw-2'>&</span><span class='lifetime'>'n</span> <span class='ident'>str</span>) <span class='op'>-></span> <span class='ident'>App</span><span class='op'><</span><span class='lifetime'>'a</span>, <span class='lifetime'>'v</span>, <span class='lifetime'>'ab</span>, <span class='lifetime'>'u</span><span class='op'>></span> {
|
||||
<span class='ident'>App</span> {
|
||||
<span class='ident'>name</span>: <span class='ident'>n</span>,
|
||||
<span class='ident'>name</span>: <span class='ident'>n</span>.<span class='ident'>to_string</span>(),
|
||||
<span class='ident'>author</span>: <span class='prelude-val'>None</span>,
|
||||
<span class='ident'>about</span>: <span class='prelude-val'>None</span>,
|
||||
<span class='ident'>version</span>: <span class='prelude-val'>None</span>,
|
||||
|
@ -1055,7 +1056,7 @@
|
|||
<span class='doccomment'>/// .author("Kevin <kbknapp@gmail.com>")</span>
|
||||
<span class='doccomment'>/// # .get_matches();</span>
|
||||
<span class='doccomment'>/// ```</span>
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>author</span>(<span class='kw-2'>mut</span> <span class='self'>self</span>, <span class='ident'>a</span>: <span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span>) <span class='op'>-></span> <span class='ident'>App</span> {
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>author</span>(<span class='kw-2'>mut</span> <span class='self'>self</span>, <span class='ident'>a</span>: <span class='kw-2'>&</span><span class='lifetime'>'a</span> <span class='ident'>str</span>) <span class='op'>-></span> <span class='ident'>App</span><span class='op'><</span><span class='lifetime'>'a</span>, <span class='lifetime'>'v</span>, <span class='lifetime'>'ab</span>, <span class='lifetime'>'u</span><span class='op'>></span> {
|
||||
<span class='self'>self</span>.<span class='ident'>author</span> <span class='op'>=</span> <span class='prelude-val'>Some</span>(<span class='ident'>a</span>);
|
||||
<span class='self'>self</span>
|
||||
}
|
||||
|
@ -1070,7 +1071,7 @@
|
|||
<span class='doccomment'>/// .about("Does really amazing things to great people")</span>
|
||||
<span class='doccomment'>/// # .get_matches();</span>
|
||||
<span class='doccomment'>/// ```</span>
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>about</span>(<span class='kw-2'>mut</span> <span class='self'>self</span>, <span class='ident'>a</span>: <span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span>) <span class='op'>-></span> <span class='ident'>App</span> {
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>about</span>(<span class='kw-2'>mut</span> <span class='self'>self</span>, <span class='ident'>a</span>: <span class='kw-2'>&</span><span class='lifetime'>'ab</span> <span class='ident'>str</span>) <span class='op'>-></span> <span class='ident'>App</span><span class='op'><</span><span class='lifetime'>'a</span>, <span class='lifetime'>'v</span>, <span class='lifetime'>'ab</span>, <span class='lifetime'>'u</span> <span class='op'>></span> {
|
||||
<span class='self'>self</span>.<span class='ident'>about</span> <span class='op'>=</span> <span class='prelude-val'>Some</span>(<span class='ident'>a</span>);
|
||||
<span class='self'>self</span>
|
||||
}
|
||||
|
@ -1085,7 +1086,7 @@
|
|||
<span class='doccomment'>/// .version("v0.1.24")</span>
|
||||
<span class='doccomment'>/// # .get_matches();</span>
|
||||
<span class='doccomment'>/// ```</span>
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>version</span>(<span class='kw-2'>mut</span> <span class='self'>self</span>, <span class='ident'>v</span>: <span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span>) <span class='op'>-></span> <span class='ident'>App</span> {
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>version</span>(<span class='kw-2'>mut</span> <span class='self'>self</span>, <span class='ident'>v</span>: <span class='kw-2'>&</span><span class='lifetime'>'v</span> <span class='ident'>str</span>) <span class='op'>-></span> <span class='ident'>App</span><span class='op'><</span><span class='lifetime'>'a</span>, <span class='lifetime'>'v</span>, <span class='lifetime'>'ab</span>, <span class='lifetime'>'u</span><span class='op'>></span> {
|
||||
<span class='self'>self</span>.<span class='ident'>version</span> <span class='op'>=</span> <span class='prelude-val'>Some</span>(<span class='ident'>v</span>);
|
||||
<span class='self'>self</span>
|
||||
}
|
||||
|
@ -1107,7 +1108,7 @@
|
|||
<span class='doccomment'>/// .usage("myapp [-clDas] <some_file>")</span>
|
||||
<span class='doccomment'>/// # .get_matches();</span>
|
||||
<span class='doccomment'>/// ```</span>
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>usage</span>(<span class='kw-2'>mut</span> <span class='self'>self</span>, <span class='ident'>u</span>: <span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span>) <span class='op'>-></span> <span class='ident'>App</span> {
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>usage</span>(<span class='kw-2'>mut</span> <span class='self'>self</span>, <span class='ident'>u</span>: <span class='kw-2'>&</span><span class='lifetime'>'u</span> <span class='ident'>str</span>) <span class='op'>-></span> <span class='ident'>App</span><span class='op'><</span><span class='lifetime'>'a</span>, <span class='lifetime'>'v</span>, <span class='lifetime'>'ab</span>, <span class='lifetime'>'u</span><span class='op'>></span> {
|
||||
<span class='self'>self</span>.<span class='ident'>usage_str</span> <span class='op'>=</span> <span class='prelude-val'>Some</span>(<span class='ident'>u</span>);
|
||||
<span class='self'>self</span>
|
||||
}
|
||||
|
@ -1125,7 +1126,7 @@
|
|||
<span class='doccomment'>/// )</span>
|
||||
<span class='doccomment'>/// # .get_matches();</span>
|
||||
<span class='doccomment'>/// ```</span>
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>arg</span>(<span class='kw-2'>mut</span> <span class='self'>self</span>, <span class='ident'>a</span>: <span class='ident'>Arg</span>) <span class='op'>-></span> <span class='ident'>App</span> {
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>arg</span>(<span class='kw-2'>mut</span> <span class='self'>self</span>, <span class='ident'>a</span>: <span class='ident'>Arg</span>) <span class='op'>-></span> <span class='ident'>App</span><span class='op'><</span><span class='lifetime'>'a</span>, <span class='lifetime'>'v</span>, <span class='lifetime'>'ab</span>, <span class='lifetime'>'u</span><span class='op'>></span> {
|
||||
<span class='kw'>if</span> <span class='self'>self</span>.<span class='ident'>arg_list</span>.<span class='ident'>contains</span>(<span class='ident'>a</span>.<span class='ident'>name</span>) {
|
||||
<span class='macro'>panic</span><span class='macro'>!</span>(<span class='string'>"Argument name must be unique, \"{}\" is already in use"</span>, <span class='ident'>a</span>.<span class='ident'>name</span>);
|
||||
} <span class='kw'>else</span> {
|
||||
|
@ -1234,7 +1235,7 @@
|
|||
<span class='doccomment'>/// Arg::new("debug").short("d")])</span>
|
||||
<span class='doccomment'>/// # .get_matches();</span>
|
||||
<span class='doccomment'>/// ```</span>
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>args</span>(<span class='kw-2'>mut</span> <span class='self'>self</span>, <span class='ident'>args</span>: <span class='ident'>Vec</span><span class='op'><</span><span class='ident'>Arg</span><span class='op'>></span>) <span class='op'>-></span> <span class='ident'>App</span> {
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>args</span>(<span class='kw-2'>mut</span> <span class='self'>self</span>, <span class='ident'>args</span>: <span class='ident'>Vec</span><span class='op'><</span><span class='ident'>Arg</span><span class='op'>></span>) <span class='op'>-></span> <span class='ident'>App</span><span class='op'><</span><span class='lifetime'>'a</span>, <span class='lifetime'>'v</span>, <span class='lifetime'>'ab</span>, <span class='lifetime'>'u</span><span class='op'>></span> {
|
||||
<span class='kw'>for</span> <span class='ident'>arg</span> <span class='kw'>in</span> <span class='ident'>args</span>.<span class='ident'>into_iter</span>() {
|
||||
<span class='self'>self</span> <span class='op'>=</span> <span class='self'>self</span>.<span class='ident'>arg</span>(<span class='ident'>arg</span>);
|
||||
}
|
||||
|
@ -1259,9 +1260,9 @@
|
|||
<span class='doccomment'>/// // Additional subcommand configuration goes here, such as arguments...</span>
|
||||
<span class='doccomment'>/// # .get_matches();</span>
|
||||
<span class='doccomment'>/// ```</span>
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>subcommand</span>(<span class='kw-2'>mut</span> <span class='self'>self</span>, <span class='ident'>subcmd</span>: <span class='ident'>App</span>) <span class='op'>-></span> <span class='ident'>App</span> {
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>subcommand</span>(<span class='kw-2'>mut</span> <span class='self'>self</span>, <span class='ident'>subcmd</span>: <span class='ident'>App</span><span class='op'><</span><span class='lifetime'>'a</span>, <span class='lifetime'>'v</span>, <span class='lifetime'>'ab</span>, <span class='lifetime'>'u</span><span class='op'>></span>) <span class='op'>-></span> <span class='ident'>App</span><span class='op'><</span><span class='lifetime'>'a</span>, <span class='lifetime'>'v</span>, <span class='lifetime'>'ab</span>, <span class='lifetime'>'u</span><span class='op'>></span> {
|
||||
<span class='kw'>if</span> <span class='ident'>subcmd</span>.<span class='ident'>name</span> <span class='op'>==</span> <span class='string'>"help"</span> { <span class='self'>self</span>.<span class='ident'>needs_subcmd_help</span> <span class='op'>=</span> <span class='boolval'>false</span>; }
|
||||
<span class='self'>self</span>.<span class='ident'>subcommands</span>.<span class='ident'>insert</span>(<span class='ident'>subcmd</span>.<span class='ident'>name</span>, <span class='ident'>Box</span>::<span class='ident'>new</span>(<span class='ident'>subcmd</span>));
|
||||
<span class='self'>self</span>.<span class='ident'>subcommands</span>.<span class='ident'>insert</span>(<span class='ident'>subcmd</span>.<span class='ident'>name</span>.<span class='ident'>clone</span>(), <span class='ident'>Box</span>::<span class='ident'>new</span>(<span class='ident'>subcmd</span>));
|
||||
<span class='self'>self</span>
|
||||
}
|
||||
|
||||
|
@ -1278,7 +1279,7 @@
|
|||
<span class='doccomment'>/// SubCommand::new("debug").about("Controls debug functionality")])</span>
|
||||
<span class='doccomment'>/// # .get_matches();</span>
|
||||
<span class='doccomment'>/// ```</span>
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>subcommands</span>(<span class='kw-2'>mut</span> <span class='self'>self</span>, <span class='ident'>subcmds</span>: <span class='ident'>Vec</span><span class='op'><</span><span class='ident'>App</span><span class='op'>></span>) <span class='op'>-></span> <span class='ident'>App</span> {
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>subcommands</span>(<span class='kw-2'>mut</span> <span class='self'>self</span>, <span class='ident'>subcmds</span>: <span class='ident'>Vec</span><span class='op'><</span><span class='ident'>App</span><span class='op'><</span><span class='lifetime'>'a</span>, <span class='lifetime'>'v</span>, <span class='lifetime'>'ab</span>, <span class='lifetime'>'u</span><span class='op'>>></span>) <span class='op'>-></span> <span class='ident'>App</span><span class='op'><</span><span class='lifetime'>'a</span>, <span class='lifetime'>'v</span>, <span class='lifetime'>'ab</span>, <span class='lifetime'>'u</span><span class='op'>></span> {
|
||||
<span class='kw'>for</span> <span class='ident'>subcmd</span> <span class='kw'>in</span> <span class='ident'>subcmds</span>.<span class='ident'>into_iter</span>() {
|
||||
<span class='self'>self</span> <span class='op'>=</span> <span class='self'>self</span>.<span class='ident'>subcommand</span>(<span class='ident'>subcmd</span>);
|
||||
}
|
||||
|
@ -1303,7 +1304,7 @@
|
|||
<span class='kw'>let</span> <span class='ident'>opts</span> <span class='op'>=</span> <span class='op'>!</span> <span class='self'>self</span>.<span class='ident'>opts</span>.<span class='ident'>is_empty</span>();
|
||||
<span class='kw'>let</span> <span class='ident'>subcmds</span> <span class='op'>=</span> <span class='op'>!</span> <span class='self'>self</span>.<span class='ident'>subcommands</span>.<span class='ident'>is_empty</span>();
|
||||
|
||||
<span class='macro'>print</span><span class='macro'>!</span>(<span class='string'>"\t{} {} {} {} {}"</span>, <span class='kw'>if</span> <span class='kw'>let</span> <span class='prelude-val'>Some</span>(<span class='kw-2'>ref</span> <span class='ident'>name</span>) <span class='op'>=</span> <span class='self'>self</span>.<span class='ident'>bin_name</span> { <span class='kw-2'>&</span><span class='ident'>name</span>[..] } <span class='kw'>else</span> { <span class='self'>self</span>.<span class='ident'>name</span> },
|
||||
<span class='macro'>print</span><span class='macro'>!</span>(<span class='string'>"\t{} {} {} {} {}"</span>, <span class='kw'>if</span> <span class='kw'>let</span> <span class='prelude-val'>Some</span>(<span class='kw-2'>ref</span> <span class='ident'>name</span>) <span class='op'>=</span> <span class='self'>self</span>.<span class='ident'>bin_name</span> { <span class='ident'>name</span> } <span class='kw'>else</span> { <span class='kw-2'>&</span><span class='self'>self</span>.<span class='ident'>name</span> },
|
||||
<span class='kw'>if</span> <span class='ident'>flags</span> {<span class='string'>"[FLAGS]"</span>} <span class='kw'>else</span> {<span class='string'>""</span>},
|
||||
<span class='kw'>if</span> <span class='ident'>opts</span> {
|
||||
<span class='kw'>if</span> <span class='ident'>req_opts</span>.<span class='ident'>is_empty</span>() { <span class='string'>"[OPTIONS]"</span> } <span class='kw'>else</span> { <span class='kw-2'>&</span><span class='ident'>req_opts</span>[..] }
|
||||
|
@ -1395,7 +1396,7 @@
|
|||
}
|
||||
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>get_matches</span>(<span class='kw-2'>mut</span> <span class='self'>self</span>) <span class='op'>-></span> <span class='ident'>ArgMatches</span> {
|
||||
<span class='kw'>let</span> <span class='kw-2'>mut</span> <span class='ident'>matches</span> <span class='op'>=</span> <span class='ident'>ArgMatches</span>::<span class='ident'>new</span>(<span class='self'>self</span>.<span class='ident'>name</span>);
|
||||
<span class='kw'>let</span> <span class='kw-2'>mut</span> <span class='ident'>matches</span> <span class='op'>=</span> <span class='ident'>ArgMatches</span>::<span class='ident'>new</span>();
|
||||
|
||||
<span class='kw'>let</span> <span class='ident'>args</span> <span class='op'>=</span> <span class='ident'>env</span>::<span class='ident'>args</span>().<span class='ident'>collect</span>::<span class='op'><</span><span class='ident'>Vec</span><span class='op'><</span>_<span class='op'>>></span>();
|
||||
<span class='kw'>let</span> <span class='kw-2'>mut</span> <span class='ident'>it</span> <span class='op'>=</span> <span class='ident'>args</span>.<span class='ident'>into_iter</span>();
|
||||
|
@ -1417,7 +1418,7 @@
|
|||
<span class='self'>self</span>.<span class='ident'>create_help_and_version</span>();
|
||||
|
||||
<span class='kw'>let</span> <span class='kw-2'>mut</span> <span class='ident'>pos_only</span> <span class='op'>=</span> <span class='boolval'>false</span>;
|
||||
<span class='kw'>let</span> <span class='kw-2'>mut</span> <span class='ident'>subcmd_name</span>: <span class='prelude-ty'>Option</span><span class='op'><</span><span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>None</span>;
|
||||
<span class='kw'>let</span> <span class='kw-2'>mut</span> <span class='ident'>subcmd_name</span>: <span class='prelude-ty'>Option</span><span class='op'><</span><span class='ident'>String</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>None</span>;
|
||||
<span class='kw'>let</span> <span class='kw-2'>mut</span> <span class='ident'>needs_val_of</span>: <span class='prelude-ty'>Option</span><span class='op'><</span><span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>None</span>;
|
||||
<span class='kw'>let</span> <span class='kw-2'>mut</span> <span class='ident'>pos_counter</span> <span class='op'>=</span> <span class='number'>1</span>;
|
||||
<span class='kw'>while</span> <span class='kw'>let</span> <span class='prelude-val'>Some</span>(<span class='ident'>arg</span>) <span class='op'>=</span> <span class='ident'>it</span>.<span class='ident'>next</span>() {
|
||||
|
@ -1459,11 +1460,11 @@
|
|||
<span class='ident'>needs_val_of</span> <span class='op'>=</span> <span class='self'>self</span>.<span class='ident'>parse_short_arg</span>(<span class='ident'>matches</span>, <span class='kw-2'>&</span><span class='ident'>arg</span>);
|
||||
} <span class='kw'>else</span> {
|
||||
<span class='comment'>// Positional or Subcommand</span>
|
||||
<span class='kw'>if</span> <span class='kw'>let</span> <span class='prelude-val'>Some</span>(<span class='ident'>sca</span>) <span class='op'>=</span> <span class='self'>self</span>.<span class='ident'>subcommands</span>.<span class='ident'>get</span>(<span class='ident'>arg_slice</span>) {
|
||||
<span class='kw'>if</span> <span class='ident'>sca</span>.<span class='ident'>name</span> <span class='op'>==</span> <span class='string'>"help"</span> {
|
||||
<span class='kw'>if</span> <span class='self'>self</span>.<span class='ident'>subcommands</span>.<span class='ident'>contains_key</span>(<span class='kw-2'>&</span><span class='ident'>arg</span>) {
|
||||
<span class='kw'>if</span> <span class='ident'>arg_slice</span> <span class='op'>==</span> <span class='string'>"help"</span> {
|
||||
<span class='self'>self</span>.<span class='ident'>print_help</span>();
|
||||
}
|
||||
<span class='ident'>subcmd_name</span> <span class='op'>=</span> <span class='prelude-val'>Some</span>(<span class='ident'>sca</span>.<span class='ident'>name</span>);
|
||||
<span class='ident'>subcmd_name</span> <span class='op'>=</span> <span class='prelude-val'>Some</span>(<span class='ident'>arg</span>.<span class='ident'>clone</span>());
|
||||
<span class='kw'>break</span>;
|
||||
}
|
||||
|
||||
|
@ -1524,11 +1525,11 @@
|
|||
<span class='self'>self</span>.<span class='ident'>validate_blacklist</span>(<span class='kw-2'>&</span><span class='ident'>matches</span>);
|
||||
|
||||
<span class='kw'>if</span> <span class='kw'>let</span> <span class='prelude-val'>Some</span>(<span class='ident'>sc_name</span>) <span class='op'>=</span> <span class='ident'>subcmd_name</span> {
|
||||
<span class='kw'>if</span> <span class='kw'>let</span> <span class='prelude-val'>Some</span>(<span class='kw-2'>ref</span> <span class='kw-2'>mut</span> <span class='ident'>sc</span>) <span class='op'>=</span> <span class='self'>self</span>.<span class='ident'>subcommands</span>.<span class='ident'>get_mut</span>(<span class='ident'>sc_name</span>) {
|
||||
<span class='kw'>let</span> <span class='kw-2'>mut</span> <span class='ident'>new_matches</span> <span class='op'>=</span> <span class='ident'>ArgMatches</span>::<span class='ident'>new</span>(<span class='ident'>sc_name</span>);
|
||||
<span class='kw'>if</span> <span class='kw'>let</span> <span class='prelude-val'>Some</span>(<span class='kw-2'>ref</span> <span class='kw-2'>mut</span> <span class='ident'>sc</span>) <span class='op'>=</span> <span class='self'>self</span>.<span class='ident'>subcommands</span>.<span class='ident'>get_mut</span>(<span class='kw-2'>&</span><span class='ident'>sc_name</span>) {
|
||||
<span class='kw'>let</span> <span class='kw-2'>mut</span> <span class='ident'>new_matches</span> <span class='op'>=</span> <span class='ident'>ArgMatches</span>::<span class='ident'>new</span>();
|
||||
<span class='ident'>sc</span>.<span class='ident'>get_matches_from</span>(<span class='kw-2'>&</span><span class='kw-2'>mut</span> <span class='ident'>new_matches</span>, <span class='ident'>it</span>);
|
||||
<span class='ident'>matches</span>.<span class='ident'>subcommand</span> <span class='op'>=</span> <span class='prelude-val'>Some</span>(<span class='ident'>Box</span>::<span class='ident'>new</span>(<span class='ident'>SubCommand</span>{
|
||||
<span class='ident'>name</span>: <span class='ident'>sc_name</span>,
|
||||
<span class='ident'>name</span>: <span class='ident'>sc</span>.<span class='ident'>name</span>.<span class='ident'>clone</span>(),
|
||||
<span class='ident'>matches</span>: <span class='ident'>new_matches</span>}));
|
||||
}
|
||||
}
|
||||
|
@ -1558,7 +1559,7 @@
|
|||
});
|
||||
}
|
||||
<span class='kw'>if</span> <span class='self'>self</span>.<span class='ident'>needs_subcmd_help</span> <span class='op'>&&</span> <span class='op'>!</span><span class='self'>self</span>.<span class='ident'>subcommands</span>.<span class='ident'>is_empty</span>() {
|
||||
<span class='self'>self</span>.<span class='ident'>subcommands</span>.<span class='ident'>insert</span>(<span class='string'>"help"</span>, <span class='ident'>Box</span>::<span class='ident'>new</span>(<span class='ident'>App</span>::<span class='ident'>new</span>(<span class='string'>"help"</span>).<span class='ident'>about</span>(<span class='string'>"Prints this message"</span>)));
|
||||
<span class='self'>self</span>.<span class='ident'>subcommands</span>.<span class='ident'>insert</span>(<span class='string'>"help"</span>.<span class='ident'>to_string</span>(), <span class='ident'>Box</span>::<span class='ident'>new</span>(<span class='ident'>App</span>::<span class='ident'>new</span>(<span class='string'>"help"</span>).<span class='ident'>about</span>(<span class='string'>"Prints this message"</span>)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1598,23 +1599,24 @@
|
|||
<span class='boolval'>true</span>, <span class='boolval'>true</span>);
|
||||
}
|
||||
|
||||
<span class='kw'>if</span> <span class='ident'>matches</span>.<span class='ident'>opts</span>.<span class='ident'>contains_key</span>(<span class='ident'>v</span>.<span class='ident'>name</span>) <span class='op'>&&</span> <span class='op'>!</span><span class='ident'>v</span>.<span class='ident'>multiple</span> {
|
||||
<span class='self'>self</span>.<span class='ident'>report_error</span>(<span class='macro'>format</span><span class='macro'>!</span>(<span class='string'>"Argument --{} was supplied more than once, but does not support multiple values"</span>, <span class='ident'>arg</span>), <span class='boolval'>true</span>, <span class='boolval'>true</span>);
|
||||
}
|
||||
|
||||
<span class='comment'>// Ensure this isn't an option being added multiple times if it doesn't suppor it</span>
|
||||
<span class='kw'>if</span> <span class='ident'>v</span>.<span class='ident'>multiple</span> <span class='op'>&&</span> <span class='ident'>arg_val</span>.<span class='ident'>is_some</span>() {
|
||||
<span class='kw'>if</span> <span class='kw'>let</span> <span class='prelude-val'>Some</span>(<span class='kw-2'>ref</span> <span class='kw-2'>mut</span> <span class='ident'>o</span>) <span class='op'>=</span> <span class='ident'>matches</span>.<span class='ident'>opts</span>.<span class='ident'>get_mut</span>(<span class='ident'>v</span>.<span class='ident'>name</span>) {
|
||||
<span class='ident'>o</span>.<span class='ident'>occurrences</span> <span class='op'>+=</span> <span class='number'>1</span>;
|
||||
<span class='ident'>o</span>.<span class='ident'>values</span>.<span class='ident'>push</span>(<span class='ident'>arg_val</span>.<span class='ident'>clone</span>().<span class='ident'>unwrap</span>());
|
||||
<span class='kw'>return</span> <span class='prelude-val'>None</span>;
|
||||
<span class='kw'>if</span> <span class='ident'>matches</span>.<span class='ident'>opts</span>.<span class='ident'>contains_key</span>(<span class='ident'>v</span>.<span class='ident'>name</span>) {
|
||||
<span class='kw'>if</span> <span class='op'>!</span><span class='ident'>v</span>.<span class='ident'>multiple</span> {
|
||||
<span class='self'>self</span>.<span class='ident'>report_error</span>(<span class='macro'>format</span><span class='macro'>!</span>(<span class='string'>"Argument --{} was supplied more than once, but does not support multiple values"</span>, <span class='ident'>arg</span>), <span class='boolval'>true</span>, <span class='boolval'>true</span>);
|
||||
}
|
||||
<span class='kw'>if</span> <span class='ident'>arg_val</span>.<span class='ident'>is_some</span>() {
|
||||
<span class='kw'>if</span> <span class='kw'>let</span> <span class='prelude-val'>Some</span>(<span class='kw-2'>ref</span> <span class='kw-2'>mut</span> <span class='ident'>o</span>) <span class='op'>=</span> <span class='ident'>matches</span>.<span class='ident'>opts</span>.<span class='ident'>get_mut</span>(<span class='ident'>v</span>.<span class='ident'>name</span>) {
|
||||
<span class='ident'>o</span>.<span class='ident'>occurrences</span> <span class='op'>+=</span> <span class='number'>1</span>;
|
||||
<span class='ident'>o</span>.<span class='ident'>values</span>.<span class='ident'>push</span>(<span class='ident'>arg_val</span>.<span class='ident'>clone</span>().<span class='ident'>unwrap</span>());
|
||||
}
|
||||
}
|
||||
} <span class='kw'>else</span> {
|
||||
<span class='ident'>matches</span>.<span class='ident'>opts</span>.<span class='ident'>insert</span>(<span class='ident'>v</span>.<span class='ident'>name</span>, <span class='ident'>OptArg</span>{
|
||||
<span class='ident'>name</span>: <span class='ident'>v</span>.<span class='ident'>name</span>,
|
||||
<span class='ident'>occurrences</span>: <span class='number'>1</span>,
|
||||
<span class='ident'>values</span>: <span class='kw'>if</span> <span class='ident'>arg_val</span>.<span class='ident'>is_some</span>() { <span class='macro'>vec</span><span class='macro'>!</span>[<span class='ident'>arg_val</span>.<span class='ident'>clone</span>().<span class='ident'>unwrap</span>()]} <span class='kw'>else</span> {<span class='macro'>vec</span><span class='macro'>!</span>[]}
|
||||
});
|
||||
}
|
||||
<span class='ident'>matches</span>.<span class='ident'>opts</span>.<span class='ident'>insert</span>(<span class='ident'>v</span>.<span class='ident'>name</span>, <span class='ident'>OptArg</span>{
|
||||
<span class='ident'>name</span>: <span class='ident'>v</span>.<span class='ident'>name</span>,
|
||||
<span class='ident'>occurrences</span>: <span class='number'>1</span>,
|
||||
<span class='ident'>values</span>: <span class='kw'>if</span> <span class='ident'>arg_val</span>.<span class='ident'>is_some</span>() { <span class='macro'>vec</span><span class='macro'>!</span>[<span class='ident'>arg_val</span>.<span class='ident'>clone</span>().<span class='ident'>unwrap</span>()]} <span class='kw'>else</span> {<span class='macro'>vec</span><span class='macro'>!</span>[]}
|
||||
});
|
||||
|
||||
<span class='kw'>if</span> <span class='kw'>let</span> <span class='prelude-val'>Some</span>(<span class='kw-2'>ref</span> <span class='ident'>bl</span>) <span class='op'>=</span> <span class='ident'>v</span>.<span class='ident'>blacklist</span> {
|
||||
<span class='kw'>for</span> <span class='ident'>name</span> <span class='kw'>in</span> <span class='ident'>bl</span> {
|
||||
<span class='self'>self</span>.<span class='ident'>blacklist</span>.<span class='ident'>insert</span>(<span class='ident'>name</span>);
|
||||
|
@ -1640,7 +1642,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
<span class='kw'>for</span> <span class='ident'>v</span> <span class='kw'>in</span> <span class='self'>self</span>.<span class='ident'>flags</span>.<span class='ident'>values</span>().<span class='ident'>filter</span>(<span class='op'>|</span><span class='kw-2'>&</span><span class='ident'>v</span><span class='op'>|</span> <span class='ident'>v</span>.<span class='ident'>long</span>.<span class='ident'>is_some</span>()).<span class='ident'>filter</span>(<span class='op'>|</span><span class='kw-2'>&</span><span class='ident'>v</span><span class='op'>|</span> <span class='ident'>v</span>.<span class='ident'>long</span>.<span class='ident'>unwrap</span>() <span class='op'>==</span> <span class='ident'>arg</span>) {
|
||||
<span class='kw'>if</span> <span class='kw'>let</span> <span class='prelude-val'>Some</span>(<span class='ident'>v</span>) <span class='op'>=</span> <span class='self'>self</span>.<span class='ident'>flags</span>.<span class='ident'>values</span>().<span class='ident'>filter</span>(<span class='op'>|</span><span class='kw-2'>&</span><span class='ident'>v</span><span class='op'>|</span> <span class='ident'>v</span>.<span class='ident'>long</span>.<span class='ident'>is_some</span>()).<span class='ident'>filter</span>(<span class='op'>|</span><span class='kw-2'>&</span><span class='ident'>v</span><span class='op'>|</span> <span class='ident'>v</span>.<span class='ident'>long</span>.<span class='ident'>unwrap</span>() <span class='op'>==</span> <span class='ident'>arg</span>).<span class='ident'>nth</span>(<span class='number'>0</span>) {
|
||||
<span class='comment'>// Ensure this flag isn't on the mutually excludes list</span>
|
||||
<span class='kw'>if</span> <span class='self'>self</span>.<span class='ident'>blacklist</span>.<span class='ident'>contains</span>(<span class='ident'>v</span>.<span class='ident'>name</span>) {
|
||||
<span class='self'>self</span>.<span class='ident'>report_error</span>(<span class='macro'>format</span><span class='macro'>!</span>(<span class='string'>"The argument --{} is mutually exclusive with one or more other arguments"</span>, <span class='ident'>arg</span>),
|
||||
|
@ -1702,7 +1704,7 @@
|
|||
<span class='kw'>for</span> <span class='ident'>c</span> <span class='kw'>in</span> <span class='ident'>arg</span>.<span class='ident'>chars</span>() {
|
||||
<span class='self'>self</span>.<span class='ident'>check_for_help_and_version</span>(<span class='ident'>c</span>);
|
||||
<span class='kw'>if</span> <span class='op'>!</span><span class='self'>self</span>.<span class='ident'>parse_single_short_flag</span>(<span class='ident'>matches</span>, <span class='ident'>c</span>) {
|
||||
<span class='self'>self</span>.<span class='ident'>report_error</span>(<span class='macro'>format</span><span class='macro'>!</span>(<span class='string'>"Argument -{} isn't valid"</span>,<span class='ident'>c</span>), <span class='boolval'>true</span>, <span class='boolval'>true</span>);
|
||||
<span class='self'>self</span>.<span class='ident'>report_error</span>(<span class='macro'>format</span><span class='macro'>!</span>(<span class='string'>"Argument -{} isn't valid"</span>,<span class='ident'>arg</span>), <span class='boolval'>true</span>, <span class='boolval'>true</span>);
|
||||
}
|
||||
}
|
||||
<span class='kw'>return</span> <span class='prelude-val'>None</span>;
|
||||
|
@ -1718,24 +1720,24 @@
|
|||
|
||||
<span class='comment'>// Check for matching short in options, and return the name</span>
|
||||
<span class='comment'>// (only ones with shorts, of course)</span>
|
||||
<span class='kw'>for</span> <span class='ident'>v</span> <span class='kw'>in</span> <span class='self'>self</span>.<span class='ident'>opts</span>.<span class='ident'>values</span>().<span class='ident'>filter</span>(<span class='op'>|</span><span class='kw-2'>&</span><span class='ident'>v</span><span class='op'>|</span> <span class='ident'>v</span>.<span class='ident'>short</span>.<span class='ident'>is_some</span>()) {
|
||||
<span class='kw'>if</span> <span class='ident'>v</span>.<span class='ident'>short</span>.<span class='ident'>unwrap</span>() <span class='op'>!=</span> <span class='ident'>arg_c</span> { <span class='kw'>continue</span>; }
|
||||
|
||||
<span class='kw'>if</span> <span class='kw'>let</span> <span class='prelude-val'>Some</span>(<span class='ident'>v</span>) <span class='op'>=</span> <span class='self'>self</span>.<span class='ident'>opts</span>.<span class='ident'>values</span>().<span class='ident'>filter</span>(<span class='op'>|</span><span class='kw-2'>&</span><span class='ident'>v</span><span class='op'>|</span> <span class='ident'>v</span>.<span class='ident'>short</span>.<span class='ident'>is_some</span>()).<span class='ident'>filter</span>(<span class='op'>|</span><span class='kw-2'>&</span><span class='ident'>v</span><span class='op'>|</span> <span class='ident'>v</span>.<span class='ident'>short</span>.<span class='ident'>unwrap</span>() <span class='op'>==</span> <span class='ident'>arg_c</span>).<span class='ident'>nth</span>(<span class='number'>0</span>) {
|
||||
<span class='comment'>// Ensure this option isn't on the master mutually excludes list</span>
|
||||
<span class='kw'>if</span> <span class='self'>self</span>.<span class='ident'>blacklist</span>.<span class='ident'>contains</span>(<span class='ident'>v</span>.<span class='ident'>name</span>) {
|
||||
<span class='self'>self</span>.<span class='ident'>report_error</span>(<span class='macro'>format</span><span class='macro'>!</span>(<span class='string'>"The argument --{} is mutually exclusive with one or more other arguments"</span>, <span class='ident'>arg</span>),
|
||||
<span class='boolval'>true</span>, <span class='boolval'>true</span>);
|
||||
}
|
||||
|
||||
<span class='kw'>if</span> <span class='ident'>matches</span>.<span class='ident'>opts</span>.<span class='ident'>contains_key</span>(<span class='ident'>v</span>.<span class='ident'>name</span>) <span class='op'>&&</span> <span class='op'>!</span><span class='ident'>v</span>.<span class='ident'>multiple</span> {
|
||||
<span class='self'>self</span>.<span class='ident'>report_error</span>(<span class='macro'>format</span><span class='macro'>!</span>(<span class='string'>"Argument --{} was supplied more than once, but does not support multiple values"</span>, <span class='ident'>arg</span>), <span class='boolval'>true</span>, <span class='boolval'>true</span>);
|
||||
<span class='kw'>if</span> <span class='ident'>matches</span>.<span class='ident'>opts</span>.<span class='ident'>contains_key</span>(<span class='ident'>v</span>.<span class='ident'>name</span>) {
|
||||
<span class='kw'>if</span> <span class='op'>!</span><span class='ident'>v</span>.<span class='ident'>multiple</span> {
|
||||
<span class='self'>self</span>.<span class='ident'>report_error</span>(<span class='macro'>format</span><span class='macro'>!</span>(<span class='string'>"Argument -{} was supplied more than once, but does not support multiple values"</span>, <span class='ident'>arg</span>), <span class='boolval'>true</span>, <span class='boolval'>true</span>);
|
||||
}
|
||||
} <span class='kw'>else</span> {
|
||||
<span class='ident'>matches</span>.<span class='ident'>opts</span>.<span class='ident'>insert</span>(<span class='ident'>v</span>.<span class='ident'>name</span>, <span class='ident'>OptArg</span>{
|
||||
<span class='ident'>name</span>: <span class='ident'>v</span>.<span class='ident'>name</span>,
|
||||
<span class='ident'>occurrences</span>: <span class='number'>1</span>,
|
||||
<span class='ident'>values</span>: <span class='macro'>vec</span><span class='macro'>!</span>[]
|
||||
});
|
||||
}
|
||||
|
||||
<span class='ident'>matches</span>.<span class='ident'>opts</span>.<span class='ident'>insert</span>(<span class='ident'>v</span>.<span class='ident'>name</span>, <span class='ident'>OptArg</span>{
|
||||
<span class='ident'>name</span>: <span class='ident'>v</span>.<span class='ident'>name</span>,
|
||||
<span class='ident'>occurrences</span>: <span class='number'>1</span>,
|
||||
<span class='ident'>values</span>: <span class='macro'>vec</span><span class='macro'>!</span>[]
|
||||
});
|
||||
<span class='kw'>if</span> <span class='kw'>let</span> <span class='prelude-val'>Some</span>(<span class='kw-2'>ref</span> <span class='ident'>bl</span>) <span class='op'>=</span> <span class='ident'>v</span>.<span class='ident'>blacklist</span> {
|
||||
<span class='kw'>for</span> <span class='ident'>name</span> <span class='kw'>in</span> <span class='ident'>bl</span> {
|
||||
<span class='self'>self</span>.<span class='ident'>blacklist</span>.<span class='ident'>insert</span>(<span class='ident'>name</span>);
|
||||
|
|
|
@ -342,7 +342,7 @@
|
|||
<span class='doccomment'>/// }</span>
|
||||
<span class='doccomment'>/// }</span>
|
||||
<span class='kw'>pub</span> <span class='kw'>struct</span> <span class='ident'>ArgMatches</span> {
|
||||
<span class='kw'>pub</span> <span class='ident'>matches_of</span>: <span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span>,
|
||||
<span class='comment'>// pub matches_of: &'static str,</span>
|
||||
<span class='kw'>pub</span> <span class='ident'>flags</span>: <span class='ident'>HashMap</span><span class='op'><</span><span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span>, <span class='ident'>FlagArg</span><span class='op'>></span>,
|
||||
<span class='kw'>pub</span> <span class='ident'>opts</span>: <span class='ident'>HashMap</span><span class='op'><</span><span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span>, <span class='ident'>OptArg</span><span class='op'>></span>,
|
||||
<span class='kw'>pub</span> <span class='ident'>positionals</span>: <span class='ident'>HashMap</span><span class='op'><</span><span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span>, <span class='ident'>PosArg</span><span class='op'>></span>,
|
||||
|
@ -359,9 +359,9 @@
|
|||
<span class='doccomment'>/// # use clap::{App, Arg};</span>
|
||||
<span class='doccomment'>/// let matches = App::new("myprog").get_matches();</span>
|
||||
<span class='doccomment'>/// ```</span>
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>new</span>(<span class='ident'>name</span>: <span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span>) <span class='op'>-></span> <span class='ident'>ArgMatches</span> {
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>new</span>() <span class='op'>-></span> <span class='ident'>ArgMatches</span> {
|
||||
<span class='ident'>ArgMatches</span> {
|
||||
<span class='ident'>matches_of</span>: <span class='ident'>name</span>,
|
||||
<span class='comment'>// matches_of: name,</span>
|
||||
<span class='ident'>flags</span>: <span class='ident'>HashMap</span>::<span class='ident'>new</span>(),
|
||||
<span class='ident'>opts</span>: <span class='ident'>HashMap</span>::<span class='ident'>new</span>(),
|
||||
<span class='ident'>positionals</span>: <span class='ident'>HashMap</span>::<span class='ident'>new</span>(),
|
||||
|
@ -512,9 +512,9 @@
|
|||
<span class='doccomment'>/// _ => {}, // Either no subcommand or one not tested for...</span>
|
||||
<span class='doccomment'>/// }</span>
|
||||
<span class='doccomment'>/// ```</span>
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>subcommand_name</span>(<span class='kw-2'>&</span><span class='self'>self</span>) <span class='op'>-></span> <span class='prelude-ty'>Option</span><span class='op'><</span><span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span><span class='op'>></span> {
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>subcommand_name</span>(<span class='kw-2'>&</span><span class='self'>self</span>) <span class='op'>-></span> <span class='prelude-ty'>Option</span><span class='op'><</span><span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> {
|
||||
<span class='kw'>if</span> <span class='kw'>let</span> <span class='prelude-val'>Some</span>( <span class='kw-2'>ref</span> <span class='ident'>sc</span> ) <span class='op'>=</span> <span class='self'>self</span>.<span class='ident'>subcommand</span> {
|
||||
<span class='kw'>return</span> <span class='prelude-val'>Some</span>(<span class='ident'>sc</span>.<span class='ident'>name</span>);
|
||||
<span class='kw'>return</span> <span class='prelude-val'>Some</span>(<span class='kw-2'>&</span><span class='ident'>sc</span>.<span class='ident'>name</span>[..]);
|
||||
}
|
||||
<span class='prelude-val'>None</span>
|
||||
}
|
||||
|
|
|
@ -107,7 +107,7 @@
|
|||
<span class='doccomment'>/// .index(1))</span>
|
||||
<span class='doccomment'>/// # ).get_matches();</span>
|
||||
<span class='kw'>pub</span> <span class='kw'>struct</span> <span class='ident'>SubCommand</span> {
|
||||
<span class='kw'>pub</span> <span class='ident'>name</span>: <span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span>,
|
||||
<span class='kw'>pub</span> <span class='ident'>name</span>: <span class='ident'>String</span>,
|
||||
<span class='kw'>pub</span> <span class='ident'>matches</span>: <span class='ident'>ArgMatches</span>
|
||||
}
|
||||
|
||||
|
@ -123,7 +123,7 @@
|
|||
<span class='doccomment'>/// SubCommand::new("config")</span>
|
||||
<span class='doccomment'>/// # ).get_matches();</span>
|
||||
<span class='doccomment'>/// ```</span>
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>new</span>(<span class='ident'>name</span>: <span class='kw-2'>&</span><span class='lifetime'>'static</span> <span class='ident'>str</span>) <span class='op'>-></span> <span class='ident'>App</span> {
|
||||
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>new</span><span class='op'><</span><span class='lifetime'>'a</span>, <span class='lifetime'>'v</span>, <span class='lifetime'>'ab</span>, <span class='lifetime'>'u</span><span class='op'>></span>(<span class='ident'>name</span>: <span class='kw-2'>&</span><span class='lifetime'>'a</span> <span class='ident'>str</span>) <span class='op'>-></span> <span class='ident'>App</span><span class='op'><</span><span class='lifetime'>'a</span>, <span class='lifetime'>'v</span>, <span class='lifetime'>'ab</span>, <span class='lifetime'>'u</span><span class='op'>></span> {
|
||||
<span class='ident'>App</span>::<span class='ident'>new</span>(<span class='ident'>name</span>)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue