Commit graph

1685 commits

Author SHA1 Message Date
Kevin K
1ced2a7433
feat(Positional Args): allows specifying the second to last positional argument as multiple(true)
Now one can build CLIs that support things like `mv <files>... <target>`

There are a few requirements and caveats;

 * The final positional argument (and all positional arguments prior) *must* be required
 * Only one positional argument may be `multiple(true)`
 * Only the second to last, or last positional argument may be `multiple(true)`

Closes #725
2016-11-01 16:25:54 -04:00
Kevin K
1d6f8fd7de
chore(Completion Error): changes error message to reflect not only BASH is supported 2016-11-01 16:25:47 -04:00
Homu
ccfc5ed6c3 Auto merge of #726 - matthiasbeyer:app-get-name, r=kbknapp
Add App::app_name() getter

This is a proposal... I would like to have this for [imag](https://github.com/matthiasbeyer/imag) ([this PR](https://github.com/matthiasbeyer/imag/pull/826)).

If this is not a good idea for some reason, I will rewrite my abstractions,... but this would be the easy way for me, so I propose this! 😄
2016-11-02 05:19:48 +09:00
Matthias Beyer
bc2075d088 Add App::app_name() getter 2016-11-01 20:11:26 +01:00
Homu
813489dd9b Auto merge of #720 - kbknapp:issues-714,718, r=kbknapp
Issues 714,718
2016-10-31 21:11:30 +09:00
Kevin K
518f57744a
chore: increase version 2016-10-31 00:41:14 -04:00
Kevin K
3d37001d1d
imp(Error Output): conflicting errors are now symetrical, meaning more consistent and less confusing
Prior to this commit, conflicting error messages and the suggeseted usage would depend on whether
you defined the conflict on both arguments, or just one, and the order in which you specified the
conflicting arguments at runtime.

Now they are symetrical, meaning the suggestions from the error message are consistent, and it no
longer matters if you specify the conflict in one, or both arguments.

Closes #718
2016-10-31 00:35:23 -04:00
Kevin K
44f6b1edbf
tests: updates conflict tests to new more precise output 2016-10-31 00:35:13 -04:00
Kevin K
5c70e1a01b
fix(ZSH Completions): fixes bug that caused panic on subcommands with aliases
ZSH completions now fully support subcommands with aliases. Only visible aliases will be displayed
in the completions.

Closes #714
2016-10-30 19:18:13 -04:00
Homu
174a5779ec Auto merge of #719 - Nemo157:patch-1, r=kbknapp
docs: Fix typo in example `13a_enum_values_automatic`
2016-10-31 07:24:43 +09:00
Wim
c22fbc0735 docs: Fix typo in example 13a_enum_values_automatic 2016-10-30 20:03:05 +01:00
Kevin K
6c11ccf443 fix(debug): fixes the debug feature (#716) 2016-10-29 11:10:14 -04:00
Kevin K
21fba9e6cd docs(README.md): fixes failing yaml example (#715)
Close #708
2016-10-29 10:59:41 -04:00
Homu
8190a1c9d9 Auto merge of #711 - kbknapp:v2.16.3, r=kbknapp
chore: increase version
2016-10-29 02:28:00 +09:00
Kevin K
dbe60fc779
chore: increase version 2016-10-27 22:03:46 -04:00
Homu
4f0780fbaa Auto merge of #710 - myCrates:fix/yaml-example, r=kbknapp
fix(yaml-example): inconsistent args

change yaml example to be consistent with its configuration

fix #707, #708
2016-10-28 10:55:31 +09:00
mvaude
847f719921 fix(yaml-example): inconsistent args
change yaml example to be consistent with its configuration

fix #707, #708
2016-10-27 15:12:12 +02:00
Homu
0f8764cbe8 Auto merge of #709 - Nemo157:derive_order_pr, r=kbknapp
Derive display order after propagation

Don't attempt to change the display order of flags/options until any app settings have been propagated down from a parent `App` in case `DeriveDisplayOrder` and/or `UnifiedHelpMessage` are propagated.

Adds tests that try to stress the combinations of `DeriveDisplayOrder` and `UnifiedHelpMessage` along with propagating them to subcommands and explicitly setting a display order.
2016-10-27 13:17:41 +09:00
Wim Looman
9cb6facf50 fix: Derive display order after propagation
Don't attempt to change the display order of flags/options until any app
settings have been propagated down from a parent App in case DeriveDisplayOrder
and/or UnifiedHelpMessage are propagated.

Fixes #706
2016-10-26 20:47:24 +02:00
Wim Looman
f5b577c4fe tests: Add tests related to #706
Try and stress the combinations of DeriveDisplayOrder and UnifiedHelpMessage
along with propagating them to subcommands and explicitly setting a display
order.

The new tests

  derive_order_subcommand_propagate
  unified_help_and_derive_order_subcommand_propagate
  unified_help_and_derive_order_subcommand_propagate_with_explicit_display_order

are currently failing because of bug #706.
2016-10-26 20:47:19 +02:00
Homu
01994467d5 Auto merge of #705 - kbknapp:issue-704, r=kbknapp
Issue 704
2016-10-26 00:12:13 +09:00
Kevin K
2663ba7743
chore: increase version 2016-10-25 10:37:57 -04:00
Kevin K
780b4a1828
fix(Fish Completions): fixes a bug where single quotes are not escaped
Closes #704
2016-10-25 10:34:46 -04:00
Homu
9b32a5aa26 Auto merge of #703 - kbknapp:issue-702, r=kbknapp
Issue 702
2016-10-24 23:50:19 +09:00
Kevin K
0e2ea1c88b
chore: increase version 2016-10-24 05:59:07 -04:00
Kevin K
e9efa8ed6f
chore: clippy run 2016-10-24 05:56:32 -04:00
Kevin K
b94f897daf
tests(Help Message): adds tests to guard aginst multiple values throwing off alignment 2016-10-24 05:56:21 -04:00
Kevin K
ebddac791f
fix(Help Message): fixes a regression bug where args with multiple(true) threw off alignment
Closes #702
2016-10-24 05:55:48 -04:00
Homu
cf26cd83aa Auto merge of #701 - kbknapp:zsh-completions, r=kbknapp
Zsh completions
2016-10-24 13:27:02 +09:00
Kevin K
0bf82e5448
chore: increase version 2016-10-23 19:36:51 -04:00
Kevin K
3e36b0bac4
feat(Completions): adds ZSH completion support
ZSH is now supported in the exact same way as BASH and FISH completion scripts.

Closes #699
2016-10-23 19:32:52 -04:00
Kevin K
291bcccd6b
refactor: makes some minor changes to the private API for better ergonomics 2016-10-23 19:32:42 -04:00
Kevin K
ee6e987acd
refactor(Completions): moves completing functions into their own modules 2016-10-23 19:31:24 -04:00
Homu
408d2ee4e6 Auto merge of #700 - kbknapp:v2.15.0, r=kbknapp
chore: increase version
2016-10-22 07:17:40 +09:00
Homu
8735e3511d Auto merge of #698 - kbknapp:issue-696, r=kbknapp
Issue 696 - Add AppSettings::AllowNegativeNumbers
2016-10-22 05:21:38 +09:00
Kevin K
e1ad987be3
chore: increase version 2016-10-21 13:28:24 -04:00
Homu
cc0718dfc9 Auto merge of #697 - kbknapp:issue-688, r=kbknapp
fix: fixes a bug that made determining when to auto-wrap long help me…

…ssages inconsistent

Closes #688
2016-10-21 23:07:24 +09:00
Kevin K
993622364e
tests(AllowNegativeNumber): fixes failing doc test 2016-10-21 09:54:34 -04:00
Kevin K
2d2ec03995
chore: clippy run 2016-10-21 09:52:16 -04:00
Kevin K
e443f2d6c1
tests(AllowNegativeNumbers): adds some new tests for AllowNegativeNumbers and AllowLeadingHyphen 2016-10-21 09:42:25 -04:00
Kevin K
7d6f760a91
style: rustfmt run 2016-10-21 09:41:59 -04:00
Kevin K
f056eb9e4e
refactor: moves some code out of the large main function into it's own 2016-10-21 09:41:45 -04:00
Kevin K
ab06454677
feat(AppSettings): adds new setting AllowNegativeNumbers
One can now use `AppSettings::AllowNegativeNumbers` which functions similar to `AllowLeadingHyphen`
with the exception that only unknown numbers are allowed have a preceding hyphen character.

See the documentation for details and examples.

Closes #696
2016-10-21 09:39:17 -04:00
Kevin K
57026578f0
chore: adds visual studio code project files to ignore list 2016-10-21 09:38:18 -04:00
Kevin K
9ed4d4d795
docs(app/settings.rs): moves variants to roughly alphabetical order 2016-10-21 06:59:58 -04:00
Kevin K
fbfa019241
chore: update version 2016-10-20 19:47:51 -04:00
Kevin K
637d25dde3
tests: adds tests to guard against issue-688 2016-10-20 19:39:21 -04:00
Kevin K
440a21cfdc
tests: updates tests to new space counts in help messages 2016-10-20 19:39:21 -04:00
Kevin K
03d2b2ac80
tests: updates tests to new version of arg.to_string() 2016-10-20 19:39:21 -04:00
Kevin K
a79d0f132c
tests(app/help.rs): adds some additional debugging code, and standardizes a few calls 2016-10-20 19:39:21 -04:00