Pavan Kumar Sunkara
e5e20b389e
Forbid multiple_occurrences for positional args
2021-06-16 08:27:04 +01:00
Pavan Kumar Sunkara
3f94d17c71
Removed Arg::multiple
2021-06-16 07:17:11 +01:00
Peter Kolloch
171dcbe424
setting: IgnoreErrors - Reaction to review comments
...
https://github.com/clap-rs/clap/pull/2480
2021-06-14 10:26:23 +02:00
Peter Kolloch
c50d338962
setting: IgnoreErrors - Allow parsing despite missing option values
...
Implemented as AppSetting::Ignore errors as suggested by
@CreepySkeleton in
https://github.com/clap-rs/clap/issues/1880#issuecomment-637779787 .
This is not a complete implementation but it works already in
surprisingly many situations.
https://github.com/clap-rs/clap/issues/1880
2021-06-14 10:26:18 +02:00
Terts Diepraam
834f600a6f
infer long arguments
2021-06-05 13:18:06 +02:00
Pavan Kumar Sunkara
82e42cd07e
Ignore extra fields in YAML only when specified
2021-06-01 21:59:44 +01:00
rami3l
fbd338ce26
fix: flag_subcommands
unexpected behavior after long arg ( #2501 )
...
* fix(wip): add necessary debugging prints for analysis
* fix(wip): implement the fix, take 1
* docs: add docstring for `Parser::flag_subcmd_at` and `Parser::flag_subcmd_skip`
* test: make `flag_subcommand_short_after_long_arg` test more realistic
2021-05-27 05:14:50 +05:30
Pavan Kumar Sunkara
6a395d3208
ArgMacthes::is_present should not deal with subcommands at all, fixes #2494
2021-05-26 00:40:38 +01:00
Ajeet D'Souza
5809ae6060
feat: Add AppSettings::DisableEnv ( #2493 )
...
* Add DisableEnv flag
* Apply formatting
* Add tests
2021-05-21 00:47:47 +05:30
Ajeet D'Souza
460459c771
fix(usage): Move positional args to end of usage string ( #2492 )
...
* Move positional args to end of USAGE
* Remove -- from usage string
2021-05-21 00:29:21 +05:30
Pavan Kumar Sunkara
abe2373cca
Merge pull request #2026 from zkat/master
...
feat(derive): Add support from inheriting global options in subcommands
2021-05-20 13:52:24 +01:00
Felipe Sere
03d4989ef9
Replicate the derive test for from_global
2021-05-18 22:21:18 +01:00
Eldritch Cheese
fa991754d3
imp(validator): Case-insensitive required_if_eq when arg is case-insensitive
2021-05-15 09:45:24 -07:00
Donough Liu
2a921d4cda
Fix clippy warnings.
2021-05-07 19:05:18 +00:00
liudingming
a995e5a204
Add yaml multiple_* tests
2021-05-07 14:34:03 +08:00
sharnoff
47aaca1e5d
change 'tests/macros.rs' to not import clap_app!
...
This should help to guard against future errors where `clap_app!` refers
to itself without the required "$crate::" prefix
2021-04-27 11:21:54 -07:00
Reagan McFarland
b184dc001b
setting: SubcommandHelpShowsLongForm implemented
...
Refactoring and better test cases
Refactored SubcommandHelpShowsLongForm to
UseLongFormatForHelpSubcommand.
Tests and docuemntation examples use about and long_about instead of
(before/after)_help.
Removed commented out tests
Linting: Fix trailing new line
Updated change log, refactored tests and doc str
Reordered items in the Changelog
New test added and old tests removed that were redundant
Doc string for AppSettings::UseLongFormatForHelpSubcommand fixed
2021-04-11 14:31:40 -04:00
Pavan Kumar Sunkara
52814b893c
Merge pull request #2415 from cbzehner/ignore-extra-fields-on-arg
...
Ignore extra fields in Arg yaml definitions
2021-03-14 14:00:30 +05:30
Chris Zehner
407e629523
Ignore extra fields in Arg yaml definitions
2021-03-13 19:46:38 -06:00
Pavan Kumar Sunkara
f029047c03
Rename NoEmptyValues to ForbidEmptyValues
2021-03-13 12:05:34 +05:30
Pavan Kumar Sunkara
49954c28ad
Remove unstable feature flag
2021-03-13 11:40:56 +05:30
ldm0
a1d4bd8488
Allow empty value by default, introduce NoEquals Error
2021-03-10 17:39:50 +00:00
Pavan Kumar Sunkara
30d784ffd1
Merge pull request #2400 from ldm0/unset-default
...
Support unsetting/removing the default if an option/flag is set
2021-03-10 18:13:52 +05:30
ldm0
448ff95fb0
ldm0's patch
2021-03-09 19:06:44 +00:00
Steven Engler
6626365359
feat(build/arg/mod.rs): default_vals_if supports an Option as the default
2021-03-09 18:15:20 +00:00
ldm0
2b0f0d3e1a
Implement NoEquals error
2021-03-09 17:56:57 +00:00
ldm0
886b873709
Demangle interlinking flags
2021-03-09 13:45:11 +00:00
Omar El Halabi
701a4610b3
feat: Implement Arg::required_if_eq_all
2021-02-28 14:52:34 +02:00
Logan SQUIREL
52e74fa305
Fix App::version/long_version test
2021-02-27 16:31:32 +01:00
Logan SQUIREL
3c049b4e22
Fix compatibility with help2man output (see #1432 )
...
Change default help template:
- The new template introduce new lines before and after
author/about sections.
- Add help template placeholders:
- about-section
- author-section
- Documentation of new placeholders in clap::App::help_template
- Update all unit tests by incorporating new lines
2021-02-27 16:20:52 +01:00
ldm0
3873b647d1
Add tests for 2229
2021-02-16 03:58:58 +00:00
ldm0
28b58af63b
Change to num_vals, min_vals, max_vals interacts with Multi*
2021-02-16 03:45:20 +00:00
Pavan Kumar Sunkara
6634444c3c
Remove Arg::settings to be consistent with App
2021-02-12 10:42:38 +00:00
Pavan Kumar Sunkara
2b5a23597a
Better help message support for hidden and heading stuff
2021-02-08 05:22:27 +00:00
Pavan Kumar Sunkara
3758bba5e2
Remove help_about in favor of mut_arg
2021-02-07 17:22:56 +00:00
Pavan Kumar Sunkara
423e2dde00
Remove version_about in favor of mut_arg
2021-02-07 16:14:07 +00:00
Pavan Kumar Sunkara
1bd902370a
Add tests for mut_arg on help and version
2021-02-07 15:54:24 +00:00
Pavan Kumar Sunkara
93a737a4fa
Merge pull request #2333 from clap-rs/build_help_and_version_at_start
...
Build help and version args at the beginning
2021-02-07 15:53:45 +00:00
Pavan Kumar Sunkara
c9cb22905c
Build help and version args at the beginning
2021-02-07 14:46:38 +00:00
ldm0
560aa536df
Change tests prefix
2021-02-07 05:59:29 +00:00
ldm0
fb3033834b
Change the way parser do self override
2021-02-07 04:46:56 +00:00
Donough Liu
58b9f35771
Add tests, fix grouped_values_of()
...
Fix clippy
type complexity fix
2021-02-07 04:46:56 +00:00
ldm0
1000c9fb03
Fix eagerly trimming dash in parse_long_flag
2021-02-06 11:26:20 +00:00
Pavan Kumar Sunkara
8d5a021e1e
Merge pull request #2309 from ldm0/parser0
...
Dehack, Revert #1856
2021-01-30 14:52:02 +00:00
ldm0
5ee6e07858
Fix usage of positional grouped arguments uses arg name rather than val_name
2021-01-24 19:02:43 +00:00
Donough Liu
0df169bbdc
Fix incorrect error message.
...
Comment out regressed logic
Fix clippy
2021-01-23 14:51:40 +00:00
Donough Liu
9477a5ffdb
Correct tests, reveal real problem
2021-01-23 14:51:40 +00:00
Pavan Kumar Sunkara
d7f6748887
Merge pull request #2306 from ldm0/unset_setting
...
Fix unset_setting()
2021-01-23 13:37:57 +00:00
Bowen Ding
3907e11621
Make @group accept multiple attributes ( #2248 )
...
* Make @group accept multiple attributes.
* New syntax: remove parenthese and "=>".
* Fix example
* Make Clippy happy
* Make clippy happy again
2021-01-23 13:12:40 +00:00
ldm0
68a0ef930a
Fix copied code
2021-01-23 06:41:11 +00:00
Pavan Kumar Sunkara
c156571f14
Merge pull request #2302 from AriusX7/visible-aliases
...
Allow visible alias(es) for args from YAML files
2021-01-20 18:07:06 +00:00
Donough Liu
d5e3c6b0b9
Add regression test for issue 2279
2021-01-21 01:09:20 +08:00
AriusX7
448c102f4f
fix: allow visible alias(es) in yaml files
2021-01-20 02:17:17 +05:30
Donough Liu
fa9be84b18
Propagate global arg in subcommand to subsubcommand
2020-12-12 22:20:16 +08:00
Donough Liu
5f5474d803
Fix only one arg printed in multiple required_unless missing situation
2020-12-12 12:57:17 +08:00
Donough Liu
d7e2fd6294
Add regression test for issue 1794
2020-12-09 01:13:05 +08:00
Pavan Kumar Sunkara
b89163afb6
Update MSRV to 1.46
2020-11-28 11:58:28 +00:00
arthmis
a97e24630d
chore: changing unrequired to non-required
2020-11-27 15:37:26 -05:00
arthmis
4e6a371851
chore: changing awkward grammar for positional argument error message
2020-11-27 15:12:28 -05:00
ldm0
347cd228a0
Add tests
...
Fix tests
2020-11-08 19:06:32 +00:00
Donough Liu
5e4b4f4196
Remove invalid suggestion on using subcommand after positional argument
2020-11-07 20:32:28 +08:00
Donough Liu
f17b29acbb
Make Arg::env()
and Arg::env_os()
takes_value(false)
by default
2020-11-06 21:51:39 +01:00
bors[bot]
97b4fb639f
Merge #2165
...
2165: Help & Version settings r=pksunkara a=pksunkara
Co-authored-by: Pavan Kumar Sunkara <pavan.sss1991@gmail.com>
2020-10-28 06:27:49 +00:00
Pavan Kumar Sunkara
5dd9584119
Improve the logic for help & version building & parsing
2020-10-26 12:13:03 +01:00
Donough Liu
a19bfa1c35
Consistently wrap help and subcommand messages(with refactoring)
2020-10-25 22:43:01 +01:00
Pavan Kumar Sunkara
e8a06e79cd
Rename setting VersionlessSubcommands => DisableVersionForSubcommands
2020-10-24 16:04:49 +02:00
Pavan Kumar Sunkara
d6e2246aab
Rename setting DisableVersion => DisableVersionFlag
2020-10-24 16:03:12 +02:00
Pavan Kumar Sunkara
45f0ee8b55
Rename setting DisableHelpFlags => DisableHelpFlag
2020-10-24 16:03:12 +02:00
CastilloDel
88ac1f1803
Add assertions for required and default simultaneously
...
Add the suggested changes
Fix test issue_1050_num_vals_and_defaults
It used a required which isn't needed for the purpose of the test.
Add tests for the default+required assertions
Add test for positional args with long or short
2020-10-24 12:10:07 +01:00
Jacob Mischka
b3e638ad44
Add option to hide autogenerated env section from help text
2020-10-17 16:48:35 -05:00
David Hewitt
94f6889116
Don't use default value when option is passed
2020-10-14 20:00:40 +01:00
bors[bot]
5a1a209965
Merge #2161
...
2161: Fix parser skipping options without heading set r=pksunkara a=CertainLach
Co-authored-by: Yaroslav Bolyukin <iam@lach.pw>
2020-10-11 08:55:33 +00:00
Donough Liu
7f627fceee
Change MissingArgumentOrSubcommand to DisplayHelpOnMissingArgumentOrSubcommand and don't use stderr
2020-10-11 15:42:47 +08:00
bors[bot]
4f90f3e4bb
Merge #2166
...
2166: Sort options base on option's short and long representation r=ldm0 a=ldm0
Co-authored-by: Donough Liu <ldm2993593805@163.com>
2020-10-10 18:54:49 +00:00
Donough Liu
15c77150a9
Sort options base on option's short and long representation
2020-10-11 02:08:10 +08:00
Marti Raudsepp
cda89a2af1
Fix typos and grammar
...
Some more fixes in addition to 594c535ba2
* Some I noticed manually.
* Some were found by Topy (https://github.com/intgr/topy ), either new
rules from Typo or new code in clap.
* `etc.` and `e.g.` rules were disabled during the last run.
2020-10-10 16:22:05 +03:00
Donough Liu
c9a407aa54
Fix: Don't mention unused subcommands (Partly cherry pick ef92e2b
)
...
Add `\t` for consistency
2020-10-10 03:34:28 +08:00
bors[bot]
4ff4879400
Merge #2154
...
2154: Fix the error logic and error message for suggesting `--` before a flag r=pksunkara a=ldm0
Co-authored-by: Donough Liu <ldm2993593805@163.com>
2020-10-09 19:05:13 +00:00
Yaroslav Bolyukin
659d688543
test: add failing test for #2022
...
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
2020-10-09 23:45:07 +05:00
Donough Liu
9766aa11b1
Remove redundant(wrong) error processing
...
Argument prefixed by `-` will never inferred as a subcommand
Suggest using subcommand when supplied after `--`
Cargo fmt, adding test for wrongly using subcommand after `--`
Fix test
Fix clippy
2020-10-10 00:06:50 +08:00
Donough Liu
5815246fd9
Fix the error logic and error message for suggesting -- before a flag
...
Fix tests
Add test for issue #1284
Apply nitpicks
2020-10-10 00:04:22 +08:00
bors[bot]
91633741e9
Merge #2143
...
2143: api(App): Adds help_about method to App. r=pksunkara a=pretzelhammer
Co-authored-by: pretzelhammer <7769424+pretzelhammer@users.noreply.github.com>
2020-09-26 06:55:58 +00:00
pretzelhammer
523729d3fc
api(App): Adds version_about method to App.
...
Version about text is now customizable and propagates to subcommands. Closes #1640 .
2020-09-25 09:06:35 -04:00
Felix Van der Jeugt
d5c7c7d8bd
Fix clippy errors
2020-09-25 10:38:35 +02:00
pretzelhammer
33caf49793
api(App): Adds help_about method to App.
...
Help about text is now customizable and propagates to subcommands. Closes #2080 .
2020-09-24 17:53:02 -04:00
Felix Van der Jeugt
a083953d3a
Suggest corrections with double quotes
2020-09-24 17:58:35 +02:00
Felix Van der Jeugt
74cfcb4412
Add test for escaped values in help messages
2020-09-23 10:45:14 +02:00
Pavan Kumar Sunkara
9e381f92a9
Rename required_unless_eq_* to required_unless_present_*
2020-08-29 11:48:35 +02:00
bors[bot]
e4b5407296
Merge #1976 #2073
...
1976: Refactor r=pksunkara a=CreepySkeleton
2073: Add new "regex" feature r=CreepySkeleton a=bkaestner
Co-authored-by: CreepySkeleton <creepy-skeleton@yandex.ru>
Co-authored-by: Benjamin Kästner <benjamin.kaestner@gmail.com>
2020-08-28 17:14:31 +00:00
CreepySkeleton
5020333037
Refactor coloring
2020-08-28 19:21:05 +03:00
Benjamin Kästner
8cb9a7d486
Add new "regex" feature
...
This commit introduces a new feature called `"regex"`. It adds a new
function `validator_regex` to `Arg` and was inspired by the discussion
in #1968 . The name `validator_regex` was chosen instead of
`regex_validator` to make sure that the developer keeps in mind that
there may only be a single `Validator` on an `Arg`.
The feature can be used with YAML files, however there is no proper
pattern in `clap_app!` (yet).
2020-08-26 17:54:54 +02:00
bors[bot]
8c47449bb5
Merge #2109
...
2109: fix: detect if space should be added before spec_vals r=CreepySkeleton a=knidarkness
Co-authored-by: knidarkness <knidarkness@gmail.com>
Co-authored-by: Sergey Dubovyk <knidarkness@gmail.com>
2020-08-25 13:35:22 +00:00
knidarkness
530b179776
fix: detect if space should be added before spec_vals
2020-08-25 10:41:08 +03:00
Matt Kantor
44ee8284c5
Exclude tests/examples.rs while checking coverage.
2020-08-24 10:23:49 -07:00
Matt Kantor
882f553c6a
Test that --help works for all examples.
2020-08-23 11:23:43 -07:00
Danil Kondratiev
5b07c8a780
fix spaces in long help tests
2020-08-20 17:28:40 +03:00
Matt Kantor
247d823314
Do not capture args meant for libtest from integration tests.
...
Using `App::get_matches` from the integration tests meant that any
CLI arguments passed to libtest would also be captured by clap, often
causing the tests to fail.
For example, running `cargo test --test help -- --nocapture` would
result in several failed tests, even though `cargo test --test help`
worked fine. This was very surprising/confusing.
This commit makes the tests no longer implicitly rely on the value of
`env::args_os()`, which means developers can now provide arguments to
libtest without failures.
2020-08-18 11:50:48 -07:00
bors[bot]
025ec3c28b
Merge #2078
...
2078: Unify naming cheme r=pksunkara a=CreepySkeleton
Co-authored-by: CreepySkeleton <creepy-skeleton@yandex.ru>
2020-08-17 20:35:05 +00:00
tomjw64
27771ceeb7
Show arguments in conflict message in reverse order of input
2020-08-16 03:47:19 -05:00
CreepySkeleton
ce3171ace5
Arg::required_unless_all => required_unless_eq_all
2020-08-15 20:38:57 +03:00