Kevin K
9cb5dceb3e
fix: fixes formatting bug which prevented compiling on windows
...
Closes #163
2015-07-18 14:31:09 -04:00
Kevin K
6d214b549a
fix: fixes a bug when parsing multiple {n} newlines inside help strings
2015-07-16 22:16:50 -04:00
Kevin K
42b6d1fc3c
fix: fixes a logic bug and allows setting Arg::number_of_values() < 2
...
Allows setting `Arg::number_of_values(qty)` where `qty` < 2. This allows
things such as `Arg::number_of_values(1)` in conjuction with
`Arg::multiple(true)` which would make invoking the program like this
`myprog --opt val --opt val` legal, but `myprog --opt val1 val2`
illegal.
Closes #161
2015-07-16 21:34:04 -04:00
Kevin K
f9800a2969
imp(Help Strings): properly aligns and handles newlines in long help strings
...
Long help strings can now be broken up with newlines that will be
properly aligned in help messages. Simply place a `{n}` wherever you'd
like the newline to appear.
Closes #145
2015-07-16 01:27:58 -04:00
Kevin K
52bcd892ea
feat: allows creating unified help messages, a la docopt or getopts
...
Allows creating help messages with a more unified look, similar to how
docopt and getopts are formatted. (i.e. flags and options are combined
into a single group)
Closes #158
2015-07-16 01:27:05 -04:00
Kevin K
336c476f63
feat: allows stating all subcommands should *not* have --version flags
...
Allows subcommands to disable the `--version` flag by using the
`App::versionless_subcommands(true)` method.
Closes #156
2015-07-16 01:26:11 -04:00
Kevin K
bc66d3c6de
feat: allows setting version number to auto-propagate through subcommands
...
The version number can now be auto-propgated down through subcommands
with the App::global_version(true) method
Closes #157
2015-07-16 01:25:14 -04:00
Severen Redwood
8889689dc6
docs: fix incorrect code example for App::subcommand_required
2015-07-15 21:54:07 -04:00
Kevin K
cc76ab8c2b
imp(Errors): writes errors to stderr
...
Closes #154
2015-07-11 11:23:48 -04:00
Kevin K
dc7e1fcea5
imp(Usage): re-orders optional arguments and required to natural standard
...
Also renamed is '[POSITIONAL]' => '[ARGS]' to use the more standard
vernacular
Closes #147
2015-07-09 09:51:57 -04:00
Kevin K
083f82d333
fix: allows empty values when using --long='' syntax
...
Closes #151
2015-07-08 14:57:28 -04:00
Kevin K
1528038fbb
chore: silence macro definition warnings
2015-07-07 20:06:15 -04:00
Kevin K
753125282b
feat: args can now be parsed from arbitrary locations, not just std::env::args()
2015-07-07 19:55:41 -04:00
Severen Redwood
3e8891c00b
Fix typos in the documentation for the clap::App
struct
2015-06-30 19:47:57 +12:00
Severen Redwood
2614a0fa8c
Fix typos in the documentation for the .help()
method
2015-06-30 19:21:30 +12:00
Kevin K
a5b8b3584b
test: fixes tests for 1.0 and deprecated functions
2015-06-29 22:21:47 -04:00
Kevin K
274484dfd0
imp: removes deprecated functions in prep for 1.0
2015-06-29 22:03:05 -04:00
Kevin K
d0da3bdd9d
feat: allows waiting for user input on error
...
In order to pause for user input on error use `.wait_on_error(true)` but
it's important to note that this is *not* recursive through subcommands.
This is useful on Windows when a user mistakenly opens an application by
double clicking it, instead of using the command line or if using a GUI
shortcut to run a program.
Closes #140
2015-06-29 21:59:26 -04:00
Kevin K
26d5ae3e33
feat(Help): allows one to fully override the auto-generated help message
...
Allows overriding the entire help message so that nothing is
auto-generated
Closes #141
2015-06-29 21:58:45 -04:00
Kevin K
ebf442ebeb
docs: updates docs to new version flag defaults
2015-06-16 20:46:11 -04:00
Kevin K
eb1d9320c5
feat(Help and Version): allows overriding h/v short and changes default ver short to -V
...
The new default short for version is `-V` (capital). This is a "breaking"
change at least for documentation.
If the old lowercase `-v` is desired you can manually override with
`App::version_short("v")`
The help short can also be overridden now too.
BREAKING CHANGE
2015-06-16 16:54:20 -04:00
Kevin K
1f377960a4
fix(Global Args): global arguments propogate fully now
...
Closes #137
2015-06-06 17:08:39 -04:00
Kevin K
a37842eec1
fix(Global Args): fixes a bug where globals only transfer to one subcommand
...
Closes #135
2015-05-31 00:45:07 -04:00
Kevin K
2191fe94bd
imp(Binary Names): allows users to override the system determined bin name
...
Allows users to use `.bin_name("name")` to override the system
determined name with one of their choosing.
Closes #134
2015-05-30 13:09:21 -04:00
Kevin K
29ca7b2f74
feat: can now specify that an app or subcommand should display help on no args or subcommands
...
Closes #133
2015-05-25 21:49:27 -04:00
Kevin K
743eefe8dd
docs: updates for deprecations and new features
2015-05-22 23:32:56 -04:00
Kevin K
d6c3ed54d2
imp(Colors): implements more structured colored output
...
Closes #129
2015-05-22 23:01:20 -04:00
Kevin K
2bcc6137a8
feat(Global Args): allows args that propagate down to child commands
...
Closes #131
2015-05-22 13:18:02 -04:00
Kevin K
28b7385552
depr(SubCommand/App): several methods and functions for stable release
...
SubCommand::new() -> SubCommand::with_name()
App::error_on_no_subcommand() -> App::subcommand_required()
2015-05-22 13:16:07 -04:00
Kevin K
52218cc1fd
fix(help): allows parent requirements to be ignored with help and version
...
Parent requirements are now ignored when the user requests help or
version switches
Closes #124
2015-05-20 11:17:30 -04:00
Kevin K
08ba3f25cf
fix(help): fixes a bug where requirements are included as program name in help and version
2015-05-17 20:22:40 -04:00
Kevin K
7554f238fd
feat(subcommands): allows optionally specifying that no subcommand is an error
...
Closes #126
2015-05-17 18:21:55 -04:00
Kevin K
dd8f21c7c1
imp(usage): usage strings now include parent command requirements
...
Closes #125
2015-05-17 18:20:32 -04:00
Kevin K
4a4229f500
feat(subcommands): subcommands can optionally negate parent requirements
...
Closes #123
2015-05-17 14:29:57 -04:00
Kevin K
ab4ec609cc
imp(args): allows consumer of clap to decide if empty values are allowed or not
...
Closes #122
2015-05-17 14:21:38 -04:00
Kevin K
bc12e78ead
fix(args): -
can now be parsed as a value for an argument
...
Closes #121
2015-05-17 09:45:16 -04:00
Kevin K
30fa87ba4e
feat(macros): arg_enum! and simple_enum! provide a Vec<&str> of variant names
...
You can now use ArgName::variants() to get a Vec<&'static str> of
vairant names (Nice for Arg::possible_values()). It's not as good as
implementing Iterator for the enum, but that can't be done without being
able to concat AST tokens in order to make an "EnumIter" type which
implements iterator and keeps track of when to yield None. But the
overall intent of this issue was to be able to iterate variant names,
which is now possible.
Closes #119
2015-05-15 16:42:00 -04:00
Kevin K
d1219f0d13
feat(macros): arg_enum! and simple_enum! auto-implement Display
...
enums created with simple_enum! and arg_enum! now auto-implement
std::fmt::Display where the variant only is displayed.
Closes #120
2015-05-15 15:40:06 -04:00
Kevin K
0c264a8ca5
fix(macros): makes macro errors consistent with others
...
Mainly this is newline fixes
Closes #118
2015-05-15 15:40:06 -04:00
Kevin K
d2b3b1faa0
fix(suggestions): --help and --version now get suggestions
...
Closes #116
2015-05-12 18:12:14 -04:00
Kevin K
55d155827e
fix(usage): groups unfold their members in usage strings
...
Closes #114
2015-05-10 14:43:34 -04:00
Kevin K
fd53cd1885
perf(usage): removes unneeded allocations
2015-05-10 14:27:00 -04:00
Kevin K
da78da3620
chore(Rust): removes use of + with Vec<T>
2015-05-09 11:49:57 -04:00
Kevin K
eb0e374ecf
fix(usage strings): positional arguments are presented in index order
...
Positional arguments are now presented in index order in suggested usage
strings which prevents out of order suggestions.
Closes #112
2015-05-08 11:37:45 -04:00
Kevin K
fc79017ece
fix(subcommands): stops parsing multiple values when subcommands are found
...
Closes #109
2015-05-06 12:36:03 -04:00
Kevin K
994474146e
im(suggestions): adds suggested arguments to usage strings
2015-05-06 12:36:03 -04:00
Kevin K
55f71117c6
refactor(errors): fix error messages
2015-05-06 12:36:03 -04:00
Kevin K
aab44cca63
im(color): reduces color in error messages
...
Closes #110
2015-05-06 12:35:52 -04:00
Kevin K
8745071c32
feat(Flags): adds sugestions functionality
2015-05-05 22:05:02 -04:00
Kevin K
960389de02
docs(README): adds details about optional and new features
2015-05-05 22:05:02 -04:00