Commit graph

1345 commits

Author SHA1 Message Date
Kevin K
0c6c4ad743 Merge pull request #504 from kbknapp/v2.5.1
chore: increase version
2016-05-11 15:53:15 -04:00
Kevin K
d681a5b32c chore: increase version 2016-05-11 15:52:21 -04:00
Homu
11270d68d5 Auto merge of #503 - hoodie:master, r=kbknapp
test: adds failing alias doc test and example

Hey there,
I tried out the new aliasing feature, and they don't seem to play well with `.arg()`.
This produces a lifetime errors:

```bash
examples/20_aliases.rs:9:59: 9:74 error: borrowed value does not live long enough
examples/20_aliases.rs:9                                                 .aliases(&["list", "dir"])
                                                                                   ^~~~~~~~~~~~~~~
```
2016-05-12 04:31:34 +09:00
Hendrik Sollich
ac42f6cf0d Fix: SubCommand::aliases lifetime errors 2016-05-11 21:08:25 +02:00
Hendrik Sollich
6ba910e89b test: adds failing doc test 2016-05-11 20:16:56 +02:00
Kevin K
57c8777062 Merge pull request #502 from kbknapp/v2.5.0
V2.5.0
2016-05-10 19:26:44 -04:00
Kevin K
d4cafcc0fc chore: increase version 2016-05-10 17:15:06 -04:00
Kevin K
41a482cf5d imp(SubCommand Aliases): adds feature to yaml configs too 2016-05-10 17:15:06 -04:00
Homu
1de71c0058 Auto merge of #501 - kbknapp:issue-469, r=kbknapp
Issue 469
2016-05-11 05:48:14 +09:00
Kevin K
fd8e211895 tests(Subcommand Aliases): adds tests for new aliases 2016-05-10 15:26:43 -04:00
Kevin K
66b4dea65c feat(SubCommands): adds support for subcommand aliases
Allows adding a subcommand alias, which function as "hidden" subcommands that automatically
dispatch as if this subcommand was used. This is more efficient, and easier than creating
multiple hidden subcommands as one only needs to check for the existing of this command,
and not all vairants.

Example:

```
let m = App::new("myprog")
            .subcommand(SubCommand::with_name("test")
                .alias("do-stuff"))
            .get_matches_from(vec!["myprog", "do-stuff"]);
assert_eq!(m.subcommand_name(), Some("test"));
```

Example using multiple aliases:

```
let m = App::new("myprog")
            .subcommand(SubCommand::with_name("test")
                .aliases(&["do-stuff", "do-tests", "tests"]))
            .get_matches_from(vec!["myprog", "do-tests"]);
assert_eq!(m.subcommand_name(), Some("test"));
```

Closes #469
2016-05-10 15:21:19 -04:00
Homu
b027c659cd Auto merge of #500 - kbknapp:v2.4.1, r=kbknapp
chore: increase version
2016-05-10 16:18:32 +09:00
Kevin K
b42ca0b5ab chore(Tests): had to remove external clap-test crate...sad face 2016-05-09 22:46:09 -04:00
Kevin K
6c7b2da856 chore: increase ghost version 2016-05-09 21:10:30 -04:00
Kevin K
59152ed500 chore: updates clap-test to solve chicken and egg api issue 2016-05-09 21:09:41 -04:00
Kevin K
74c8a7f428 chore: moved clap-test to it's own repo 2016-05-09 21:06:31 -04:00
Kevin K
3ab0bf8826 chore: increase version 2016-05-09 20:50:32 -04:00
Homu
c8c20a046e Auto merge of #499 - kbknapp:issue-498, r=kbknapp
Issue 498

~~DO NOT MERGE~~
2016-05-10 08:58:30 +09:00
Kevin K
417dbc3057 test: adds test for new group deduping 2016-05-09 19:14:11 -04:00
Kevin K
3ca0947c16 fix(Usage Strings): now properly dedups args that are also in groups
For example, if an arg is part of a required group, it will only appear
in the group usage string, and not in both the group as well as the arg
by itself.

Imagine a group containing two args, `arg1` and `--arg2`

OLD:
    `myprog <arg1> <arg1|--arg2>`

NEW:
    `myprog <arg1|--arg2>`

Closes #498
2016-05-09 19:14:11 -04:00
Kevin K
f574fb8a7c fix(Usage Strings): removes duplicate groups from usage strings 2016-05-09 19:14:11 -04:00
Kevin K
deac597fc6 chore: updates dep graph 2016-05-09 19:14:11 -04:00
Kevin K
852e58156c tests: removes old python tests and replaces with rust tests
Closes #166
2016-05-09 19:14:11 -04:00
Kevin K
a0a56318d0 tests(Groups): adds tests for positional arg formatting in groups 2016-05-08 21:33:56 -04:00
Kevin K
fef11154fb imp(Groups): formats positional args in groups in a better way 2016-05-08 21:33:27 -04:00
Kevin K
250ed41f10 tests(Help): changes formatting for positional arguments 2016-05-08 20:38:13 -04:00
Kevin K
03dfe5ceff imp(Help): moves positionals to standard <> formatting 2016-05-08 20:37:51 -04:00
Homu
cff94579c1 Auto merge of #497 - kbknapp:rustfmt, r=kbknapp
style: rustfmt run
2016-05-07 08:01:09 +09:00
Kevin K
2efd81ebbc chore: clippy update and run 2016-05-06 17:59:52 -04:00
Kevin K
ffde90f2ba style: rustfmt run 2016-05-06 17:52:23 -04:00
Homu
b5841d207a Auto merge of #496 - kbknapp:issue-494, r=kbknapp
Issue 494
2016-05-06 11:58:04 +09:00
Kevin K
1628964a25 tests(Help): changes default help string to new version 2016-05-05 21:51:12 -04:00
Kevin K
5b7fe8e416 imp(Help): default help subcommand string has been shortened
Closes #494
2016-05-05 21:49:51 -04:00
Kevin K
dae2d93bdd Merge pull request #493 from kbknapp/v2.4.0
V2.4.0
2016-05-03 21:09:48 -04:00
Kevin K
5b0120088a fix(Required Args): fixes issue where missing required args are sometimes duplicatd in error messages
Closes #492
2016-05-03 16:31:55 -04:00
Kevin K
89db52a965 chore: increase version 2016-05-03 16:31:55 -04:00
Kevin K
d8e4dbc961 feat(Help): adds support for displaying info before help message
Can now use the `App::before_help` method to add additional information
that will be displayed prior to the help message. Common uses are
copyright, or license information.
2016-05-03 16:31:55 -04:00
Kevin K
9fdad2e970 tests: adds tests for required_unless settings 2016-05-03 16:31:54 -04:00
Kevin K
7c89fc55ff docs(required_unless): adds docs and examples for required_unless 2016-05-03 16:31:54 -04:00
Kevin K
6987f37e71 feat(Required): adds allowing args that are required unless certain args are present
Adds three new methods of `Arg` which allow for specifying three new
types of rules.

* `Arg::required_unless`

Allows saying a particular arg is only required if a specific other arg
*isn't* present.

* `Arg::required_unless_all`

Allows saying a particular arg is only required so long as *all* the
following args aren't present

* `Arg::required_unless_one`

Allows saying a particular arg is required unless at least one of the
following args is present.
2016-05-03 16:31:54 -04:00
Kevin K
84381b577e Merge pull request #490 from nvzqz/master
chore: Fix typos in README.md
2016-05-02 22:01:07 -04:00
Kevin K
cb708093a7 docs: hides formatting from docs 2016-05-02 18:04:10 -04:00
Kevin K
4fe133d9ce chore: removes unused imports 2016-05-02 18:04:10 -04:00
Nikolai Vazquez
e6cb68709d chore: Fix typos in README.md 2016-04-21 00:51:09 -04:00
Homu
94b33c5aea Auto merge of #488 - flying-sheep:patch-1, r=kbknapp
Revert accidental pasting

There was an URL accidentally pasted at the wrong position in 8a95dace62
2016-04-19 10:09:19 +09:00
Philipp A
bd13ab02d7 Revert accdental pasting
There was an URL accidentally pasted at the wrong position in 8a95dace62
2016-04-18 12:53:02 +02:00
Homu
25d5cbc238 Auto merge of #487 - kbknapp:issue-483, r=kbknapp
Issue 483
2016-04-18 13:49:46 +09:00
Kevin K
770397bcb2 feat(HELP): implements optional colored help messages
To enable, ensure `clap` is compiled with `color` cargo feature.

Then in code use `AppSettings::ColoredHelp`

Closes #483
2016-04-18 00:05:43 -07:00
Kevin K
c4ffd2a9ce chore: updates contributors 2016-04-18 00:05:43 -07:00
Kevin K
ee41482608 chore: increase version 2016-04-18 00:05:43 -07:00