Commit graph

783 commits

Author SHA1 Message Date
Kevin K
b389743672 docs(clap): improve examples and documentation as well as include new from_usage() features 2015-04-13 22:18:50 -04:00
Kevin K
91d2904599 fix(from_usage): trim all whitespace before parsing 2015-04-13 18:05:12 -04:00
Kevin K
3710cd6916 fix(tests): fix failing doc tests 2015-04-13 15:03:22 -04:00
Kevin K
d5d48bcf46 feat(app): add support for building args from usage strings 2015-04-13 14:32:27 -04:00
Kevin K
ab409a8f1d feat(args): add ability to create basic arguments from a usage string 2015-04-13 13:31:14 -04:00
Kevin K
3d960e8be0 docs(clap): clean up docs and add better explainations 2015-04-10 19:21:34 -04:00
Kevin K
dcbadc6275 perf(usage): remove compiler warnings and dedup some code 2015-04-10 11:50:08 -04:00
Kevin K
3636afc401 feat(usage): add ability to get usage string for subcommands too
You can now get the usage even for sub-commands by calling the
usage() method.

Breaking Change
ArgMatches::usage() now returns a slice (no longer an Option<&str>)
This is to improve ergonomics, as there should always be at least a
default usage statement, there should never be None
2015-04-10 10:49:12 -04:00
Kevin K
5137278942 fix(usage): remove unneeded space 2015-04-09 21:43:26 -04:00
Kevin K
ba817b9d81 fix(usage): remove warning about unused variables 2015-04-09 19:53:13 -04:00
Kevin K
e2488e50e4 tests(subcommand help): change to new usage generation known good 2015-04-09 18:39:29 -04:00
Kevin K
02462150ca feat(ArgMatches): add method to get default usage string 2015-04-09 18:18:51 -04:00
Kevin K
64e539280e feat(SubCommands): add method to get name and subcommand matches together 2015-04-09 17:07:28 -04:00
Kevin K
042577d254 refactor(app.rs): remove unneeded hashmap use statement 2015-04-05 20:25:03 -04:00
Kevin K
f4b2bf5767 feat(help): sort arguments by name so as to not display a random order 2015-04-05 20:20:46 -04:00
Kevin K
90e72cffde fix(flags): fix bug not allowing users to specify -v or -h 2015-04-04 16:13:51 -04:00
Kevin K
572bc31f08 style(app.rs): clean up misc items 2015-04-04 09:25:49 -04:00
Kevin K
ca17fa494b fix(help): fix spacing when option argument has not long version 2015-04-03 11:50:09 -04:00
Kevin K
9abdb438e3 fix(clap): remove unstable features for Rust 1.0 2015-04-03 11:02:46 -04:00
Kevin K
18dbcf3702 fix(args): improve error messages for arguments with mutual exclusions
Closes #51
2015-04-02 22:34:36 -04:00
Kevin K
c14c3f31fd fix(positional args): all previous positional args become required when
a latter one is required

Closes #50
2015-04-02 22:18:36 -04:00
Kevin K
e869100423 fix(help): fix formatting for option arguments with no long 2015-04-02 14:45:08 -04:00
Kevin K
a0a2a40fed fix(flags): add assertion to catch flags with specific value sets
Closes #52
2015-04-01 20:16:45 -04:00
Kevin K
82ad6ad775 fix(option args): fix bug in getting the wrong number of occurrences for options 2015-04-01 20:14:49 -04:00
Kevin K
6ceb88a594 fix(args): fix bug in arguments who are required and mutually exclusive
When arguments are required-by-default and also mutually exclusive with
other arguments and the user chooses the mutually eclusive argument, the
requirements must be updated as well.
2015-04-01 13:22:53 -04:00
Kevin K
28691b52f6 fix(help): fix formatting of help and usage 2015-04-01 13:22:53 -04:00
Kevin K
6ec1011563 fix(help): fix formatting of help for flags and options
When options or flags have varying lengths of names and "long" version
the formatting gets corrupted because of the use of tabs. This commit
fixes those issues.
2015-04-01 13:22:53 -04:00
Kevin K
297ddba770 feat(help): add '...' to indicate multiple values supported 2015-04-01 13:22:53 -04:00
Kevin K
b7fa72d40f feat(positionals): add assertions for positional args with multiple vals 2015-04-01 13:22:42 -04:00
Kevin K
8078400941 feat(positionals): add support for multiple values
Add support for #44 (multiple values for positional arguments) when the
positional argument is the last one (i.e. highest index)
2015-04-01 13:02:58 -04:00
Kevin K
da549dcb6c fix(apps): allow use of hyphens in application and subcommand names 2015-04-01 13:01:00 -04:00
Kevin K
0a09eb365c fix(args): determine if the only arguments allowed are also required 2015-04-01 12:57:26 -04:00
Kevin K
270eb88925 feat(args): add support for a specific set of allowed values on options
or positional arguments
2015-04-01 12:56:34 -04:00
Kevin K
1b7316d4a8 fix(usage): display required args in usage, even if only required by others 2015-04-01 12:50:35 -04:00
Kevin K
4ee023442a feat(subcommands): properly list subcommands in help and usage
SubCommands should be listed as parent-subcommand in help, but parent
subcommand in usage
2015-04-01 12:47:55 -04:00
Kevin K
9af52e93ce fix(option): fix bug with option occurrence values 2015-04-01 12:39:23 -04:00
Kevin K
9e8c1fb940 feat(arg): allow lifetimes other than 'static in arguments 2015-04-01 12:36:41 -04:00
Kevin K
564b1db183 removed unneeded ref in print_help() for options 2015-03-26 11:48:36 -04:00
Kevin K
de64e3d79f Removed extra tab when printing help 2015-03-26 11:25:54 -04:00
Kevin K
0cce6b8715 Adding tests 2015-03-25 17:02:21 -04:00
Kevin K
b4caf8a21b Removed unneeded Box<> 2015-03-25 13:48:01 -04:00
Kevin K
d906701b0e testing to_owned() 2015-03-24 16:21:10 -04:00
Kevin K
b047104d9a version bump and rebuilt docs 2015-03-24 14:35:47 -04:00
Kevin K
c7f22728f1 Added test application 2015-03-24 12:16:59 -04:00
Kevin K
6286d4b008 Closes #28 - Changed App name, version, about, author, and usage to allow lifetimes other than 'static 2015-03-23 22:34:01 -04:00
Kevin K
aed37da635 Bug fixes with multiple options 2015-03-22 22:48:46 -04:00
Kevin K
46bcf02a2f Bug fixes 2015-03-22 22:26:07 -04:00
Kevin K
66dab46760 Fixed doc error 2015-03-22 22:13:10 -04:00
Kevin K
eff1ef4ff1 Fixed makefile bug 2015-03-22 22:03:28 -04:00
Kevin K
0f7bc363ce Moved tests to tests/ directory and crate 2015-03-22 21:57:02 -04:00