Commit graph

1933 commits

Author SHA1 Message Date
Kevin K
8034fe70f2
chore: increase version 2017-03-18 17:06:43 -04:00
Homu
8edb1f9808 Auto merge of #905 - peppsac:fish_subcommand_help, r=kbknapp
imp: add fish subcommand help support

Adds the `-d help_string` parameter to fish completion is present.

Example output:
```
complete -c mm3d -n "__fish_using_command mm3d" -f -a "Ann" -d "matches points [...]"
```

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/kbknapp/clap-rs/905)
<!-- Reviewable:end -->
2017-03-18 03:15:57 +09:00
Pierre-Eric Pelloux-Prayer
f8f68cf825 imp: add fish subcommand help support 2017-03-17 17:46:24 +01:00
Homu
b08d7d13bf Auto merge of #906 - kbknapp:issue-903, r=kbknapp
Issue 903
2017-03-17 11:43:20 +09:00
Kevin K
684aa99ee0
chore: increase version 2017-03-16 21:50:26 -04:00
Kevin K
c84416f48d
tests: adds tests for reqire_equals(true) errors and help 2017-03-16 21:45:45 -04:00
Kevin K
c8eb0384d3
imp: options that use require_equals(true) now display the equals sign in help messages, usage strings, and errors"
Closes #903
2017-03-16 21:43:36 -04:00
Homu
16764bfa27 Auto merge of #904 - mitsuhiko:feature/term-meta-propagation, r=kbknapp
Propagate terminal widths to subcommands

This fixes #901
2017-03-16 23:15:59 +09:00
Armin Ronacher
e06689fc26 Propagate terminal widths to subcommands 2017-03-16 14:19:10 +01:00
Homu
1b2e7ad4e4 Auto merge of #898 - kbknapp:issues-896,895, r=kbknapp
Issues 896,895
2017-03-13 03:17:34 +09:00
Kevin K
e7c2eafb26
chore: increase version 2017-03-12 12:56:23 -04:00
Kevin K
ef037eaf22
tests: adds tests to check precedence of ArgRequiredElseHelp 2017-03-12 12:53:40 -04:00
Kevin K
74b751ff2e
fix(ArgRequiredElseHelp): fixes the precedence of this error to prioritize over other error messages
Closes #895
2017-03-12 12:52:09 -04:00
Kevin K
b049cecccc
tests: adds tests for passing assertions with new Arg::last setting 2017-03-12 12:45:59 -04:00
Kevin K
9a3bc98e9b
fix(Positionals): fixes some regression bugs resulting from old asserts in debug mode.
Closes #896
2017-03-12 12:43:10 -04:00
Homu
814b12644e Auto merge of #893 - kbknapp:issues-863,perf-imp2,883,882,871, r=kbknapp
Issues 863,perf imp2,883,882,871
2017-03-12 03:31:19 +09:00
Kevin K
96884aa1b2
refactor: implements PartialEq for some of the base structs 2017-03-11 12:38:24 -05:00
Kevin K
c53e273c7c
chore: updates the changelog and readme with .last(true) details 2017-03-11 12:14:54 -05:00
Kevin K
10f1ebce7f
chore: ups the codegen units for test builds 2017-03-11 12:14:54 -05:00
Kevin K
3a10353f4b
tests: adds tests for .last(true) args 2017-03-11 12:14:54 -05:00
Kevin K
f9668297a4
api(Arg::last): adds the ability to mark a positional argument as 'last' which means it should be used with -- syntax and can be accessed early
Marking a positional argument `.last(true)` will allow accessing this argument earlier if the `--` syntax is used (i.e. skipping other positional args)
and also change the usage string to one of the following:

* `$ prog [arg1] [-- <last_arg>]`
* `$ prog [arg1] -- <last_arg>` (if the arg marked `.last(true)` is also marked `.required(true)`)

Closes #888
2017-03-11 12:14:54 -05:00
Kevin K
989862d2cb
chore: fixes small rebase regression 2017-03-10 15:27:24 -05:00
Kevin K
e802a472de
docs(CHANGELOG.md): adds the details about ability to change the help message for the auto-generated help/version 2017-03-10 08:29:57 -05:00
Kevin K
9d4535e1c3
chore: clippy run 2017-03-10 08:24:30 -05:00
Kevin K
075036c28d
fix: fixes a regression 1.11.0 feature 2017-03-10 08:24:30 -05:00
Kevin K
1e4cce0291
tests: corrects the debug messages from the usage module 2017-03-10 08:24:30 -05:00
Kevin K
d2b4c2c61b
fix: fixes false positive clean parse when the suggestions feature is disabled and InferSubcommands is enabled 2017-03-10 08:24:30 -05:00
Kevin K
b841f3743f
fix: fixes a failing build with no-default-features 2017-03-10 08:24:30 -05:00
Kevin K
5c76350f77
tests: fixes failing hidden args test 2017-03-10 08:24:30 -05:00
Kevin K
d484da0d28
fix: fixes a misspelled import for Windows 2017-03-10 08:24:29 -05:00
Kevin K
06e07ad8e6
docs(README.md): removes the old updates from previous versions as it's getting very long and hard to read 2017-03-10 08:24:29 -05:00
Kevin K
a2e31b27b0
chore: increase version 2017-03-10 08:24:29 -05:00
Kevin K
33eb5a6db0
tests: fixes failing dual usage string help test 2017-03-10 08:24:29 -05:00
Kevin K
622b609c57
refactor: moves usage string generation code into it's own module 2017-03-10 08:24:29 -05:00
Kevin K
44ed8b663c
refactor: moves validation code into it's own module 2017-03-10 08:24:29 -05:00
Kevin K
642db9b042
tests: adds tests for new dual usage strings with certain subcommand settings 2017-03-10 08:24:29 -05:00
Kevin K
c8ab24bafa
imp: when AppSettings::SubcommandsNegateReqs and ArgsNegateSubcommands are used, a new more accurate double line usage string is shown
Closes #871
2017-03-10 08:24:29 -05:00
Kevin K
d63d404e5e
fix: doesn't print the argument sections in the help message if all args in that section are hidden 2017-03-10 08:24:28 -05:00
Kevin K
539ad6073f
fix: doesn't include the various [ARGS] [FLAGS] or [OPTIONS] if the only ones available are hidden
Closes #882
2017-03-10 08:24:28 -05:00
Kevin K
97e8db23b3
fix: now correctly shows subcommand as required in the usage string when AppSettings::SubcommandRequiredElseHelp is used
Close #883
2017-03-10 08:24:28 -05:00
Kevin K
91d8280322
chore: rustfmt run 2017-03-10 08:24:28 -05:00
Kevin K
6b58efa330
tests: adds some minor benches for adding args by ref or moving 2017-03-10 08:24:28 -05:00
Kevin K
6f638a53c1
perf: doesn't run arg_post_processing on multiple values anymore 2017-03-10 08:24:28 -05:00
Kevin K
150756b989
setting(InferSubcommands): adds a setting to allow one to infer shortened subcommands or aliases (i.e. for subcommmand "test", "t", "te", or "tes" would be allowed assuming no other ambiguities)
Closes #863
2017-03-10 08:22:31 -05:00
Joost Yervante Damad
8adf353e0b
fix(help): don't show ARGS when there are only hidden positional args
Also no need to check for Hidden inside for that already is filtered
on !Hidden.

Closes #882
2017-03-10 08:22:31 -05:00
Kevin K
432837624c
chore: tags release beta 2017-03-10 08:22:31 -05:00
Kevin K
24e3839220
perf: changes internal use of VecMap to Vec for matched values of Args
This makes a very big difference for CLIs that parse a large number of
values (think ripgrep over a large directory).

This commit improved the ripgrep parsing of ~2,000 values, simulating
giving ripgrep a bunch of files. Parsing when from ~1,200,000 ns to
~400,000 ns! This was conducted a i7-5600U 2.6GHz
2017-03-10 08:22:31 -05:00
Homu
0e1e6dced6 Auto merge of #894 - porglezomp:feature/customize-version-help, r=kbknapp
Allow customizing the --version and --help messages

Fixes #889

This currently doesn't support customizing them from YAML, so it still needs some work.
2017-03-10 22:21:51 +09:00
Caleb Jones
c5dac3fa43 Support loading help_message and version_message from the YAML 2017-03-10 01:54:50 -05:00
Caleb Jones
389c413b70 Allow customizing the --version and --help messages 2017-03-10 01:01:56 -05:00