Erick Tryzelaar
2664703587
Fix most warnings
...
This patch:
* Removes unused `App::contains_long`
* Removes `std::ascii::AsciiExt` (deprecated in 1.26)
* Replaces `trim_left_matches` with `trim_start_matches` (added in 1.30)
* Adds `dyn` (added in 1.27)
* Removes unused `mkeymap::KeyType::{is_short,is_long}`
* Cleans up unused imports
2019-06-19 15:47:50 -07:00
Kevin K
fcbae1574a
style: rustfmt run
2019-04-05 20:21:33 -04:00
Kevin K
4cc85990fd
refactor: removed strings as an internal ID for arguments, groups, and
...
subcommands
This commit changes the internal ID to a u64 which will allow for
greater optimizations down the road. In addition, it lays the ground
work for allowing users to use things like enum variants as argument
keys instead of strings.
The only downside is each key needs to be hashed (the implementation
used is an FNV hasher for performance). However, the performance gains
in faster iteration, comparison, etc. should easily outweigh the single
hash of each argument.
Another benefit of if this commit is the removal of several lifetime
parameters, as it stands Arg and App now only have a single lifetime
parameter, and ArgMatches and ArgGroup have no lifetime parameter.
2019-04-05 20:21:22 -04:00
Kevin K
2a480451d3
refactor: clippy run
2018-11-14 14:01:48 -05:00
Kevin K
20c72525d2
style: cargo fmt run
2018-11-14 12:05:06 -05:00
Kevin K
0de9e07412
Merge branch 'v3-master' into map
2018-11-13 22:07:16 -05:00
Kevin K
3550066c88
refactor: cleans out deprecated code in prep for final beta.1 push
2018-11-08 20:34:13 -05:00
Kevin K
471376fdc7
imp: no longer automatically forces user to handle help just by overriding help arg
2018-10-20 22:27:31 -04:00
Kevin K
20126e1f62
refactor: fixes test failures from removing deprecations
2018-10-20 21:54:29 -04:00
Kevin K
a7e87d619c
fix(env tests): fixes the env tests to allow multi-threaded test runs
2018-10-19 23:31:38 -04:00
Kevin K
03333800fe
refactor: remove code going to other crates and deprecations
2018-10-19 23:31:06 -04:00
Kevin K
99bd101ea7
tests: fixes did_you_mean tests
2018-08-27 21:44:09 -04:00
Kevin K
69bdbd07f1
tests: fixes intermitent failures using env vars
2018-08-27 20:55:17 -04:00
Kevin K
400fafade2
tests: fixes help tests
2018-08-27 20:25:37 -04:00
Alena Yuryeva
a5346484e8
WIP
2018-08-19 17:46:59 +03:00
Alena Yuryeva
deb9fc91f6
Fixed opts & version tests
2018-08-11 21:11:11 +03:00
Kevin K
eaa0700e7e
style: rustfmt run
2018-08-01 23:13:51 -04:00
Kevin K
53a7d72523
chore: removes warnings and commented out code
2018-08-01 23:13:32 -04:00
Kevin K
49defad11b
fix: fixes help output tests
2018-08-01 22:09:09 -04:00
Kevin K
a2cd63cc9e
fix: fixes group tests on v3-master
2018-08-01 21:43:55 -04:00
Kevin K
5a06a8270a
fix(Requirements): fixing requirements and conflicts for issue 1158
...
Fixes requirements and conflicts on the v3 branch
Closes #1158
2018-07-31 23:32:11 -04:00
Kevin K
a9cbf3e5b9
depr(ArgMatches::usage): deprecates ArgMatches::usage in favor of App::generage_usage
2018-07-24 16:46:50 -04:00
Kevin K
94872e00a5
refactor(Arg): changes Arg::short to accept a char instead of &str
...
Closes #1303
2018-07-23 15:10:12 -04:00
Kevin K
3d3d4b1e9a
feat(Completions): adds completion support for Elvish.
2018-06-26 21:15:48 -04:00
Alan K
eb68480b3b
tests(yaml): Added future test for 2 space yaml
2018-06-22 13:50:44 +02:00
Kevin K
24d5fb3202
test: Added regression tests for Issue 897
2018-06-12 10:01:42 -04:00
Corentin Henry
4f602b7e86
replace Arg::from_usage by Arg::from
2018-04-21 11:59:19 -07:00
Alex Burka
c5d79d854e
test validator with custom return type
2018-04-04 20:45:22 -04:00
Kevin K
8973f229b0
feat(Help): adds the ability for custom help sections
...
Args can now be added to custom help sections. This breaks up the builder pattern a little by adding help section declarations inline, but it's the most intuitive method and doesn't require strange nesting that feels awkward.
```rust
app::new("foo")
.arg(Arg::with_name("arg1")) // under normal headers
.help_heading("SPECIAL")
.arg(Arg::with_name("arg2")) // under SPECIAL: heading
```
Closes #805
2018-04-03 23:32:59 -04:00
Christian Legnitto
36815fec59
imp(macros): Support shorthand syntax for ArgGroups
...
Fixes https://github.com/kbknapp/clap-rs/issues/1231 .
2018-04-03 23:03:21 -04:00
Kevin K
41e29417b5
fix: fixes hiding args from short or long help in v3 context
...
Fixes the implementation of the hiding of arguments form the short or long help on v3
2018-04-03 23:01:45 -04:00
Kevin K
82e8a47f24
api(Arg): adds abilit to hide an arg from the short or long help message
...
Add logic to filter based on hidden long/short.
There is still an issue with the logic in parser.rs use_long_help. This
causes invalid evaluation of whether to show/hide based on long or short help
Complete check for use_long_help, add tests
2018-04-03 20:00:36 -04:00
Kevin K
8f1c0cfbbd
tests: fixes failing tests from new API additions
2018-03-21 19:41:58 -04:00
Aleksey Kladov
dfbae74e6d
fix(Suggestions): disables suggestions when AllowExternalSubcommand is set
2018-03-21 00:01:23 -04:00
Kevin K
f65e2e4bf5
fix(Indices): fixes Indices to work on v3
2018-03-20 23:03:09 -04:00
Kevin K
89b74d5b31
fixup! tests: adds tests for querying indices
2018-03-20 22:25:58 -04:00
Kevin K
ed8bcc7632
tests: adds tests for querying indices
2018-03-20 22:25:10 -04:00
Kevin K
7b544e00d9
tests(AllowMissingPositional): adds tests for new 'skipping to last positional' with '--'
2018-03-20 20:57:14 -04:00
Kevin K
91e275c609
Use short help as tooltip in PowerShell completion
...
Also fixed some small issues with subcommand detection.
2018-03-19 17:12:10 -04:00
Kevin K
bd5143d1f8
fish: Fix completion of >1 options
2018-03-19 17:12:06 -04:00
Will Murphy
742aec292c
Print ARGS after usage in help
...
For version 3, we want the args section to immediately follow
the usage section in the default help message.
One change that I am unhappy with is needing to make "write_arg"
in app/help.rs accept an extra param that makes it suppress the
extra line. This is to prevent an extra blank line from appearing
between args and options in the default help, and seems necessary,
but there might be a better way.
2018-03-11 20:33:13 -04:00
Will Murphy
3401e6a3ec
clean up whitespace
2018-03-01 06:55:24 -05:00
Will Murphy
5ea7eab427
Port 1161 fix to v3
...
Copy the fix from https://github.com/kbknapp/clap-rs/pull/1162 into
the v3 parser, and add a test to protect against regressions in the
expected behavior of example 22.
2018-03-01 06:52:30 -05:00
Kevin K
cdfdbfffb5
tests(Bash Completions): updates the bash completions to the new file completion fallback
2018-02-13 15:42:48 -05:00
Kevin K
08dfdc877b
style: changes values->possible values in help messages as well as errors
2018-02-12 14:52:29 -05:00
etopiei
973022184e
Tests pass now
2018-02-12 14:39:55 -05:00
Kevin K
dc098e19a2
tests(AllArgsOverrideSelf): adds tests for AllArgsOverrideSelf
2018-02-10 15:43:39 -05:00
Kevin K
237c2bdff4
tests(Self Overrides): adds tests for args that override themselves
2018-02-09 23:35:14 -05:00
Kevin K
97fd3f1328
tests: partially updates tests to new arg.setting calls
2018-02-03 15:06:58 -05:00
Kevin K
4c54c2a696
tests: silence some warnings
2018-01-25 23:03:13 -05:00