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
CreepySkeleton
b12102c832
Arg::required_unless -> required_unless_present
2020-08-15 20:38:56 +03:00
CreepySkeleton
233af6e7a1
Arg::required_if => required_if_eq
2020-08-15 20:38:55 +03:00
CreepySkeleton
8b85c4ecea
Arg::required_ifs => required_if_eq_any
2020-08-15 20:38:12 +03:00
CreepySkeleton
6b6b6035ed
Arg::required_unless_one => required_unless_eq_any
2020-08-15 20:38:11 +03:00
tomjw64
826db05319
Add test for three argument conflict output
2020-08-15 04:43:12 -05:00
tomjw64
4372aa0fa6
Enable assertions on conflict_output_with_required
2020-08-15 04:16:23 -05:00
tomjw64
b3e523912f
Add new tests for usage including required args
2020-08-15 03:20:48 -05:00
tomjw64
fbb7a0f6e4
Re-enable conflict_output and conflict_output_rev
2020-08-15 03:16:47 -05:00
bors[bot]
26aa746c3a
Merge #2067
...
2067: Use a template to produce the default help message r=pksunkara a=mkantor
Co-authored-by: Matt Kantor <the.matt.kantor@gmail.com>
2020-08-14 23:42:38 +00:00
Matt Kantor
de6a5af1b2
Add a (failing) test for no args + after help.
2020-08-14 13:58:56 -07:00
Benjamin Kästner
15c441708b
Fix YAML null value in fixture
...
The YAML null value is called `null` in YAML, not `Null`. yaml-rust
handles those values according to spec, so we should use the correct
capitalization.
See https://yaml.org/spec/1.2/spec.html#id2803362 for more
information.
2020-08-14 18:28:43 +02:00
Benjamin Kästner
8a2e9804d7
Provide tests for Arg::default_value_if
...
While reading the code for the yaml translation, I've noticed that
there is a bug in the macro `yaml_opt_str` as well as a wrong `null`
value in the test fixture.
These tests add the expected behaviour on the given fixture, e.g.
prog
and
prog <WRONG>
where `<WRONG>` is **not** `other` should yield `None` for
`"positional2"`, whereas
prog other
should yield "something" and
prog --flag ARBITRARY_VALUE
should yield "some". The first two tests
- default_value_if_not_triggered
- default_value_if_not_triggered_by_argument
fail, as the second positional arguments *gets set*, although its
conditions aren't fulfilled.
2020-08-14 18:28:12 +02:00
bors[bot]
2df656c98d
Merge #1998
...
1998: Relax some restrictions on validators r=pksunkara a=CreepySkeleton
Co-authored-by: CreepySkeleton <creepy-skeleton@yandex.ru>
2020-08-12 14:35:39 +00:00
CreepySkeleton
6169bb8e79
Fix buggy tests
2020-08-12 06:12:44 +03:00
CreepySkeleton
32414fbdff
Fix and rearrange debug asserts
2020-08-12 06:12:42 +03:00
CreepySkeleton
619658e17a
Add test
2020-08-12 02:39:59 +03:00
Matt Kantor
f7e2fbf150
Print an empty line after multi-line argument help.
...
Fixes #1642 .
2020-08-11 15:30:30 -07:00
Matt Kantor
bf34c04060
Add a test for --help with long argument help.
2020-08-11 15:30:30 -07:00
bors[bot]
da92a32d10
Merge #2048
...
2048: Change the ret tyte of Argmatches::subcommand r=pksunkara a=CreepySkeleton
Co-authored-by: CreepySkeleton <creepy-skeleton@yandex.ru>
2020-08-11 00:20:35 +00:00
Marti Raudsepp
64ee0f8009
Add hinting of arg value types for zsh/fish completion
...
Adds new method/attribute `Arg::value_hint`, taking a `ValueHint` enum
as argument. The hint can denote accepted values, for example: paths,
usernames, hostnames, commands, etc.
This initial implementation supports hints for the zsh and fish
completion generators, support for other shells can be added later.
2020-08-06 22:17:31 +03:00
CreepySkeleton
e9759a241b
Adjust examples and tests
2020-08-05 17:07:13 +03:00
bors[bot]
dda961b715
Merge #2027
...
2027: style: rename ErrorKind::{VersionDisplayed, HelpDisplayed} to present tense r=CreepySkeleton a=siyopao
Co-authored-by: Craig Pastro <siyopao@gmail.com>
2020-07-26 07:36:52 +00:00
João Marcos
24760bc261
style: replacing yml with yaml for consistency
2020-07-20 20:58:34 -03:00
Craig Pastro
866f2edbed
style: rename ErrorKind::{VersionDisplayed, HelpDisplayed} to present tense
2020-07-20 10:27:07 +09:00
Blaxar Waldarax
748aea39f3
feat: Added {before/after}_help_long to App struct, closed #1903
2020-07-19 13:59:53 +02:00
bors[bot]
1dd3fcb954
Merge #2019
...
2019: tests(validators): Add tests for `clap_app!` macro and `FromStr` trait validator r=pksunkara a=nickelc
Co-authored-by: Constantin Nickel <constantin.nickel@gmail.com>
2020-07-19 10:28:03 +00:00
Marti Raudsepp
594c535ba2
Fix various typos in docs & code
...
Most errors detected and fixed with Topy (https://github.com/intgr/topy ),
all verified by hand.
2020-07-19 03:10:28 +03:00
Constantin Nickel
066d745653
tests(validators): Add tests for clap_app!
macro and FromStr
trait
2020-07-18 17:47:11 +02:00
bors[bot]
ff6beebd6e
Merge #1974
...
1974: Flag subcommands r=CreepySkeleton a=NickHackman
Co-authored-by: NickHackman <snickhackman@gmail.com>
Co-authored-by: Nick Hackman <31719071+NickHackman@users.noreply.github.com>
2020-07-18 14:06:50 +00:00
Constantin Nickel
fbfbf8df99
feat(macros): Add @global_setting $setting
to set global settings
2020-07-13 15:13:04 +02:00
NickHackman
432be5bc30
tests: conflicts with flag sc and arg aliases
...
Tests to check for conflicts between flag subcommands long and short and
their aliases and args both long and short and their aliases. Tests to
handle self conflicts, where a flag subcommand short or long with have a
corresponding alias with the same value.
2020-07-11 15:00:40 -04:00
NickHackman
5118cec1b1
fix: long_flag_aliases instead of using alias
...
Previously long_flag alias checks were against normal aliases instead of
specifically designated long_flag aliases, this is more clear and explicit.
2020-07-10 09:27:14 -04:00
bors[bot]
d8fccdb0ea
Merge #1986
...
1986: Custom subcommand placeholders r=pksunkara a=kitlith
Co-authored-by: Kitlith <kitlith@kitl.pw>
2020-07-10 12:51:30 +00:00
Nick Hackman
27441329f9
Merge branch 'master' into flag-subcommands
2020-07-09 21:31:13 -04:00
NickHackman
1127ca6e13
feat: Usage displays short, long, and normal scs
...
Displayed in the form of
pacman {query, --query, -Q} [OPTIONS]
2020-07-08 21:37:56 -04:00
NickHackman
ec35ab8813
feat: long flag subcommand infer
...
Added tests and feature to infer long flag subcommands similarly to
normal subcommands.
2020-07-08 00:11:28 -04:00
Kitlith
96daa203b9
cargo fmt
2020-07-07 00:23:00 -07:00
Kitlith
5f601b7ecd
Manually specify the header for subcommands.
...
Also fleshed out the documentation for subcommand_placeholder a bit.
2020-07-06 20:08:26 -07:00
CreepySkeleton
51d0b31105
Fix test
2020-07-06 17:26:53 +03:00
Kitlith
6eae5ed560
tests(subcommands): subcommand placeholder in help label
2020-06-27 20:19:57 -07:00
Kitlith
e5c66e58a6
Add test for custom subcommand placeholder text
2020-06-25 18:21:28 -07:00
NickHackman
d785ebc14e
fix: Flag Subcommands tests behind debug_asserts
...
Tests that check conflicts are behind the `debug_assertions` feature
2020-06-17 01:53:53 -04:00
NickHackman
32db427706
fix: duplicate short flags in Flag Subcommand test
2020-06-17 01:14:48 -04:00
NickHackman
f7c5b098b9
fix: duplicate flags in Flag Subcommand test
2020-06-17 00:56:05 -04:00
NickHackman
bf3d947f01
fix: Flag Subcommands conflicts panic
...
Conflicts with Flag subcommands and Args now panics when
`debug_assertions` is enabled, rather than causing bizarre behavior.
2020-06-16 23:45:21 -04:00
NickHackman
383606e099
tests: short_flag_alias
methods
...
Tests that cover all methods for `short_flag_alias` corresponding methods
2020-06-16 01:11:53 -04:00
NickHackman
458736bee8
imp: Improved Flag Subcommand API
...
Instead of a `FlagSubCommand` struct the addition of two simple methods
to `App`. `App::long_flag` and `App::short_flag` that cover all the
bases of the many methods that were provided in `FlagSubCommand`. This
API is far simpler to use and more akin to the present `Arg::long` and `Arg::short`.
2020-06-15 21:52:36 -04:00
NickHackman
c89718fa57
tests: FlagSubCommand
...
Test all methods of `FlagSubCommand` and interactions with aliases
2020-06-13 11:32:24 -04:00
Andreas Steding
49cb37b303
Updated tests.
2020-06-10 15:45:27 +02:00
Artem Vorotnikov
7a6310e26d
Update multiple_custom_help_headers test to cover #1955
2020-06-01 09:04:41 +03:00
CreepySkeleton
41c4d186f1
Fix warnings
2020-05-31 17:53:24 +03:00
Roy Ivy III
fbfe9eedf8
tests ~ add tests for new 'default_missing_value' configuration option
2020-05-21 13:06:45 -05:00
CreepySkeleton
5589276093
Rename App::set_term_width to term_width
...
None of the other methods that move self have the `set_` prefix
2020-05-18 12:46:14 +03:00
Patrick Marks
4a9e01b0bc
ensure that validation failure error message includes a newline. also add a basic test of a failed validation
2020-05-17 08:50:35 -07:00
Patrick Marks
cb425946b7
fix test
2020-05-15 08:25:01 -07:00
Patrick Marks
97e3d8c0ac
fix some cases of the 'The following required arguments were not provided' error message
2020-05-15 07:58:57 -07:00
Pavan Kumar Sunkara
7bc282dd4e
Rename with_name to new for Arg & ArgGroup
2020-05-14 22:50:56 +02:00
Pavan Kumar Sunkara
51723e7678
Apply suggestions from code review
2020-05-12 15:34:05 +02:00
Pavan Kumar Sunkara
cfb0e95c9e
Fix some stuff
2020-05-12 10:39:24 +02:00
Mark Thebridge
8fc099469d
fix(parser): Better interaction between AllowExternalSubcommands and SubcommandRequired
2020-05-12 00:57:35 +02:00
Peter Corlett
719161ebba
fix(macros): fixes broken pattern which prevented calling multi-argument Arg methods
2020-05-12 00:45:32 +02:00
Windfarer
2b2dbbc506
adding case_insensitive to yaml parsing
2020-05-12 00:36:47 +02:00
bors[bot]
33c63c6e29
Merge #1901
...
1901: implement Arg::short_alias and Arg::short_aliases r=pksunkara a=connorskees
Co-authored-by: ConnorSkees <39542938+ConnorSkees@users.noreply.github.com>
2020-05-11 16:03:51 +00:00
ConnorSkees
59f3e9414b
allow short aliases on Arg
...
this implements Arg::short_alias, Arg::short_aliases,
Arg::short_visible_alias, and Arg::short_visible_aliases in addition to
adding their associated tests
2020-05-11 11:21:01 -04:00
Jack O'Connor
952309c8d6
add tests for invalid UTF-16 on Windows
...
These are similar to the tests backported to the 2.x branch in
https://github.com/clap-rs/clap/pull/1907 . These are more comprehensive,
because the OsStr splitting methods are more robust now.
2020-05-05 18:18:30 -04:00
CreepySkeleton
56fdfb9edd
Eradicate warnings and errors: tests and examples
2020-05-02 23:33:47 +03:00
CreepySkeleton
ec6b6e1e36
Make validator take &str instead of String
2020-05-01 14:21:11 +03:00
creativcoder
d0abb378b0
cargo fmt
2020-04-27 20:41:41 +05:30
creativcoder
970c1fa21a
Fix yaml tests
2020-04-27 20:19:26 +05:30
creativcoder
92d5920748
Updated test and usage of older help APIs with about
2020-04-27 02:42:07 +05:30
CreepySkeleton
cdb184b76c
Add a test
2020-04-26 21:16:14 +03:00
CreepySkeleton
2403ae796e
Apply suggestions from code review
...
Co-Authored-By: Pavan Kumar Sunkara <pavan.sss1991@gmail.com>
2020-04-24 23:06:13 +03:00
CreepySkeleton
f69ec92a83
Improve panics
2020-04-24 22:34:23 +03:00
CreepySkeleton
7a09195fcb
Add a test
2020-04-24 13:05:46 +03:00
CreepySkeleton
61a12e4296
Fix positional args in groups ( #1794 )
2020-04-24 13:05:46 +03:00
bors[bot]
c1cb0ce359
Merge #1849
...
1849: Arg enum r=CreepySkeleton a=pksunkara
Co-authored-by: Pavan Kumar Sunkara <pavan.sss1991@gmail.com>
2020-04-22 17:23:43 +00:00
Pavan Kumar Sunkara
dbe6ac01f6
Clean up arg_enum
2020-04-22 14:38:16 +02:00
CreepySkeleton
0e7ff777da
Make sure that command line OVERRIDES env, not prepends ( fix #1835 )
2020-04-22 11:35:20 +03:00
CreepySkeleton
bec16ae9e0
Add tests
2020-04-20 18:29:45 +03:00
Donnie Adams
0584b57f29
fix: Don't print 'OPTIONS' when all options are hidden for short help
2020-04-16 08:21:41 -07:00
Pavan Kumar Sunkara
070bd50b28
Finished color refactor
2020-04-16 12:51:26 +02:00
Pavan Kumar Sunkara
da32adeb0e
Allow literals in builder macros
2020-04-12 23:18:39 +02:00
Ivan Tham
22ed69e857
Add test for suboptimal flag suggestion
...
Fix #1073
2020-04-12 23:44:48 +08:00
Pavan Kumar Sunkara
333b993481
Remove {n} support
2020-04-12 03:37:21 +02:00
CreepySkeleton
7cff206194
Make all fields of App & Arg pub(crate)
2020-04-11 18:23:20 +03:00
Bence Kalmar
4bf3f97d28
fix(arg_enum!): Invalid expansions of some trailing-comma patterns
...
In particular, fix macros that take an enum of one of the the following forms:
- `#[...] enum { ... , }`
- `pub enum { ... , }`
- `enum { ... , }`
Previously, these expansions would result in an error message like "error: no
rules expected the token `:`".
Add extensive tests for each pattern. Only two of the patterns had tests
before, so these errors did not surface automatically.
2020-04-10 09:35:20 +02:00
Ivan Veselov
0f3bdc439e
Fix ArgMatcher consuming extra arguments when max_values
is set
2020-04-10 09:35:20 +02:00
Pavan Kumar Sunkara
15edb69a0d
Address review comments
2020-04-10 00:33:16 +02:00
Pavan Kumar Sunkara
f0a216036b
Fix some issues
2020-04-09 19:41:33 +02:00
Pavan Kumar Sunkara
92449a4777
Assert arg groups
2020-04-09 16:51:32 +02:00
Pavan Kumar Sunkara
00a0b9660a
Assert for require* on args
2020-04-09 16:51:32 +02:00
Pavan Kumar Sunkara
f632aedc72
Started on arg asserts
2020-04-09 16:51:32 +02:00
Pavan Kumar Sunkara
1c16f73c10
Start cleaning up debug_assertion validations
2020-04-09 16:51:32 +02:00
Patrick Marks
84214887b9
fix formatting
2020-04-02 06:48:01 -07:00
Patrick Marks
bbdbcbf8e1
add unit tests
2020-04-01 21:35:48 -07:00
CreepySkeleton
a46ab1639a
Turn some integration tests into unit tests
2020-03-19 10:49:49 +03:00
Julian Laubstein
c34a0fdae9
Added tests and fixed display of conflicted flags
2020-03-08 17:11:12 +01:00