Gregor Pfeifer
7781fd8813
refactor: Rename Arg::conflicts_with_everything to Arg::exclusive ( #1583 ) ( #1624 )
...
https://github.com/clap-rs/clap/pull/1624#issuecomment-571372359
2020-02-04 18:02:47 +03:00
rleungx
4082d1e85c
exactly match a subcommand when using the infersubcommands
2020-02-04 09:41:05 +01:00
Pavan Kumar Sunkara
2a6005657e
Apply suggestions from code review
...
Co-Authored-By: CreepySkeleton <creepy-skeleton@yandex.ru>
2020-02-01 06:55:47 +01:00
Pavan Kumar Sunkara
dd75cee72c
fix: Clippy should pass
2020-02-01 06:48:50 +01:00
Daniel Eades
d23df44e84
refactor: remove deprecated 'Error::description' method
2020-01-31 18:37:56 +01:00
Pavan Kumar Sunkara
8e4a189ab0
fmt: Use standardized rustfmt rules
2020-01-31 18:37:56 +01:00
Luca Bruno
f3683a9792
output: get rid of an unsafe block ( #1636 )
...
* parse: fix build in debug mode
This fixes a build failure in debug mode, as the value to be printed
does not implement Display.
* output: get rid of an unsafe block
This get rid of an unsafe block which is not necessary, and only used
when building in debug mode.
2020-01-17 19:05:18 +05:30
danieleades
af45420027
style: format code with rustfmt ( #1632 )
...
> incidentally, how do we feel about adding a rustfmt check to the CI(s)?
yes we should be doing that. you can send another pr that adds the check to the Ci
2020-01-11 23:45:46 +05:30
Gregor Pfeifer
6180d42c00
feat: Add Arg::conflicts_with_everything
method #1583 ( #1624 )
...
* feat: Add `Arg::conflicts_with_everything` method #1583
* fix: Typo in src/build/arg/mod.rs
Co-Authored-By: Dylan DPC <dylan.dpc@gmail.com>
Co-authored-by: Dylan DPC <dylan.dpc@gmail.com>
2020-01-06 00:16:28 +05:30
dylan_DPC
1c79bb5b28
fix subcommand is private bug
2020-01-01 23:28:06 +05:30
Mara Bos
2a2969aee4
Don't write --version output directly to stdout. ( #1602 )
...
Fixes #1390 .
2019-11-26 18:39:12 +01:00
Dylan DPC
dd6c8e08ad
use 2018 edition and minor refactors
2019-11-11 12:54:55 +01:00
Stéphane Campinas
4d69942db7
fix(Error): remove Copy trait bound by formatting both plain and colored error cause at the same time
2019-11-02 21:36:16 +01:00
Stéphane Campinas
991b839069
refactor(Error): add cause field to group_conflict error
2019-11-02 21:36:16 +01:00
Stéphane Campinas
15ad5954b0
feat(Error): add a cause field to the Error struct
...
The cause field is the actual error described in the message field,
however without extra information like usage.
Close #861
2019-11-02 21:36:11 +01:00
Thiago Arrais
c3b7c01f54
Provide default_values mimicking default_value
2019-10-29 21:48:10 -04:00
Za Wilcox
fed3a8fc29
where -> were
2019-10-29 21:47:51 -04:00
Oleksii Filonenko
1e39967044
Fix some clippy lints
...
- Manually fix some problems
- Run 'cargo fix --clippy'
Commits taken from similar PRs open at that time:
- Replace indexmap remove with swap_remove
Resolves #1562 and closes #1563
- Use cognitive_complexity for clippy lint
Resolves #1564 and closes #1565
- Replace deprecated trim_left_matches with trim_start_matches
Closes #1539
Co-authored-by: Antoine Martin <antoine97.martin@gmail.com>
Co-authored-by: Brian Foley <bpfoley@users.noreply.github.com>
2019-10-29 21:46:25 -04:00
Dylan DPC
eb6276c772
Merge pull request #1514 from rharriso/pattern-arg-suggestion
...
Pattern arg suggestion
2019-07-04 15:33:53 +02:00
Ross Harrison
ebfe225af3
refactor(Parser,Errors): refactor(Parser,Errors): Update unknown_argument function to take option
...
Update unknown_argument function to take option
2019-07-01 11:25:46 -05:00
Ross Harrison
8d953cab08
feat(Errors): Add Pattern suggestion to Unknown Arg Error Message
2019-07-01 11:01:11 -05:00
Jeremy Stucki
9e10c45505
Use map instead of 'if let'
2019-06-21 09:54:19 +02:00
Jeremy Stucki
5ff2bb4dcf
Use map instead of match on Option
2019-06-21 09:02:33 +02:00
Erick Tryzelaar
cacc23473c
Remove v2 depecated features.
...
This patch:
* Removes the `ArgSettings::Global` variant, and replaces all
users of it to `Arg::global(...)`. The variant itself is lifted up
into a field on Arg. This was deprecated in clap 2.32.0.
* Removes AppFlags::PropagateGlobalValuesDown. This was deprecated in
clap 2.27.0.
* Removes `Arg::empty_values`. This was deprecated in clap 2.30.0.
* Removes `ArgMatches::usage`. This was deprecated in clap 2.32.0.
2019-06-19 17:04:29 -07:00
Erick Tryzelaar
4a20c6aaef
Fix compiling with "--features yaml"
2019-06-19 16:32:52 -07:00
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
Erick Tryzelaar
2e2616b59e
Fix compiling on windows
...
This fixes compilation errors when building clap targetting windows with:
```
% rustup run nightly cargo check --target x86_64-pc-windows-msvc
```
2019-06-19 15:47:50 -07:00
Kevin K
46e81ca0b9
perf: only propagates to a single subcommand instead of all subcommands
2019-04-05 20:21:36 -04:00
Kevin K
958437661a
chore: clippy fixes
2019-04-05 20:21:34 -04:00
Kevin K
fcbae1574a
style: rustfmt run
2019-04-05 20:21:33 -04:00
Kevin K
573b0a9e88
chore: upgrades to 2018 edition of Rust
2019-04-05 20:21:30 -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
9399174416
perf: trims down some macro usage
2018-11-14 21:04:15 -05:00
Kevin K
eafee3c5c1
style: cargo fmt run
2018-11-14 14:01:48 -05: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
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
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
3c433636fd
tests: fixes posix_compatible test
2018-08-20 20:35:57 -04:00
Kevin K
6c5d4c5896
tests: fixes the app_settings tests
2018-08-20 20:23:52 -04:00
Alena Yuryeva
a5346484e8
WIP
2018-08-19 17:46:59 +03:00
Alena Yuryeva
632f745578
Fixed positionals tests
2018-08-11 21:48:50 +03:00
Alena Yuryeva
deb9fc91f6
Fixed opts & version tests
2018-08-11 21:11:11 +03:00
Alena Yuryeva
c501773ed3
Tests on flags passing
2018-08-11 20:34:40 +03:00
Kevin K
f4e19a3193
Merge branch 'map' of github.com:clap-rs/clap into map
2018-08-04 19:22:52 -04:00
Kevin K
4ff03096fb
fix: fixes rebase errors
2018-08-04 19:14:13 -04:00
Alena Yuryeva
87c88d6054
Arg-specific API for MKeyMap
2018-08-04 18:37:35 -04:00
Kevin K
a75b67838e
refactor(Suggestions): changes from string slice to owned string for return values
...
The return value is only used in the error case, and only a single
String allocation, therefore the complexities introduced by using string
slices isn't worth it. clap primarily only needs to be as fast as
possible in the happy path, the error path can afford additional
allocations.
2018-08-04 18:34:54 -04:00
Alena Yuryeva
272170e333
WIP
2018-08-04 18:32:08 -04:00
Alena Yuryeva
f230cfedc3
WIP
2018-08-04 18:26:33 -04:00
Alena Yuryeva
7e5a6935b9
WIP. Big reformat
2018-08-04 18:22:10 -04:00
Alena Yuryeva
3efcf3ae03
WIP changing macros into MKeyMap calls
2018-08-04 18:13:33 -04: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
a769639f8b
chore: prepares for the move to clap-rs org
2018-08-01 23:06:12 -04:00
Kevin K
9d2d9f7a6c
fix: fixes some suggestions tests
2018-08-01 22:23:36 -04:00
Kevin K
e1371ad15c
fix: fixes group conflicts tests
2018-08-01 21:56:03 -04:00
Kevin K
a2cd63cc9e
fix: fixes group tests on v3-master
2018-08-01 21:43:55 -04:00
Alena Yuryeva
eb01627463
Arg-specific API for MKeyMap
2018-08-01 20:33:55 +05: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
be23ec9701
refactor(Suggestions): changes from string slice to owned string for return values
...
The return value is only used in the error case, and only a single
String allocation, therefore the complexities introduced by using string
slices isn't worth it. clap primarily only needs to be as fast as
possible in the happy path, the error path can afford additional
allocations.
2018-07-29 16:16:45 -04:00
Alena Yuryeva
cc9518b9d4
WIP
2018-07-29 23:20:17 +05:00
Alena Yuryeva
c7131e3ed4
WIP
2018-07-26 20:26:12 +05:00
Alena Yuryeva
e1fb98a0c1
WIP. Big reformat
2018-07-26 20:23:58 +05:00
Alena Yuryeva
98d37c133e
WIP changing macros into MKeyMap calls
2018-07-26 20:18:47 +05:00
Kevin K
c22bc3e1fc
depr(SubCommand::with_name): deprecates SubCommand facade to prefer App::new
2018-07-24 16:57:18 -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
09de35f208
Fix some broken doc links and formatting.
2018-06-30 19:33:34 -04:00
Tobias Bucher
159169ae94
fix(OsValues): Add ExactSizeIterator
implementation
...
It seems like an oversight that this was omitted.
2018-06-26 21:12:06 -04:00
Kevin K
e5def030d3
refactor(Modules): moves the modules around into a more logical order to make contribution easier
2018-06-12 11:44:40 -04:00