creativcoder
266dbbe3f4
Code review p2
2020-04-27 19:37:17 +05:30
creativcoder
92d5920748
Updated test and usage of older help APIs with about
2020-04-27 02:42:07 +05:30
creativcoder
75f5a9ab62
Code review p1
2020-04-27 02:42:07 +05:30
creativcoder
24cb8b13c5
Deprecate Arg::help in favour of Arg::about
2020-04-27 02:42:07 +05:30
CreepySkeleton
312432a5db
Fix a bug we didn't know about
2020-04-26 21:16:14 +03:00
CreepySkeleton
c9e03e7e67
Default values trigger conflicts no more ( #1605 )
2020-04-26 21:16:09 +03:00
CreepySkeleton
02fac2315f
Add hide_default_values to yaml
2020-04-26 13:47:53 +03:00
CreepySkeleton
3e865e565f
A little cleanup
2020-04-25 15:57:12 +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
756e95388f
Remove _StrExt
2020-04-24 22:47:55 +03:00
CreepySkeleton
f69ec92a83
Improve panics
2020-04-24 22:34:23 +03:00
CreepySkeleton
1bbcfe2261
Do not print hash in debug builds
2020-04-24 19:19:36 +03:00
CreepySkeleton
739e7048a5
Make vec_map required dependency - in fact, it already is
2020-04-24 15:33:11 +03:00
CreepySkeleton
61a12e4296
Fix positional args in groups ( #1794 )
2020-04-24 13:05:46 +03:00
CreepySkeleton
2e959d6c71
Update tests
2020-04-24 11:15:55 +03:00
dylni
d12827076f
Give ArgStr
module a better name
2020-04-23 09:03:21 -04:00
dylni
e7b19aea58
Fix beta errors
2020-04-23 09:03:21 -04:00
dylni
9ef18519b1
Fix index calculation
2020-04-23 09:03:21 -04:00
dylni
c2246cf03f
imp(src/util/osstringext.rs): Remove the last unsafe block
2020-04-23 09:02:10 -04:00
bors[bot]
0293fd7c4a
Merge #1851
...
1851: Allow debug logs to work with clap tests themselves r=CreepySkeleton a=pksunkara
Co-authored-by: Pavan Kumar Sunkara <pavan.sss1991@gmail.com>
2020-04-22 20:01:24 +00:00
Pavan Kumar Sunkara
f0074752b9
Improve debug logs
2020-04-22 20:56:35 +02: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
Pavan Kumar Sunkara
01c179f527
Added arg_enum support
2020-04-22 14:37:45 +02:00
bors[bot]
3de8af46a2
Merge #1850
...
1850: Bugfixes r=pksunkara a=CreepySkeleton
Co-authored-by: CreepySkeleton <creepy-skeleton@yandex.ru>
2020-04-22 08:59:39 +00:00
CreepySkeleton
0e7ff777da
Make sure that command line OVERRIDES env, not prepends ( fix #1835 )
2020-04-22 11:35:20 +03:00
CreepySkeleton
dd1505fdfd
The self convention is not wrong here
2020-04-22 11:05:31 +03:00
Pavan Kumar Sunkara
4911c35869
Merge pull request #1834 from davidMcneil/arg_value_precedence_over_subcommand
...
Add ArgPrecedenceOverSubcommand app setting
2020-04-21 19:05:30 +02:00
David McNeil
746d9a4707
Fix SubcommandPrecedenceOverArg example indention
...
Signed-off-by: David McNeil <mcneil.david2@gmail.com>
2020-04-21 09:02:09 -05:00
David McNeil
709f20d713
Improve SubcommandPrecedenceOverArg description
...
Signed-off-by: David McNeil <mcneil.david2@gmail.com>
2020-04-21 08:31:49 -05:00
CreepySkeleton
66f85d07a0
Some extra debugging
2020-04-21 14:17:18 +03:00
David McNeil
ada5df3229
Use AppSettings::SubcommandPrecedenceOverArg
...
Signed-off-by: David McNeil <mcneil.david2@gmail.com>
2020-04-20 15:57:06 -05:00
bors[bot]
0a3921f554
Merge #1844
...
1844: Fix a couple of very minor bugs r=pksunkara a=CreepySkeleton
Co-authored-by: CreepySkeleton <creepy-skeleton@yandex.ru>
2020-04-20 16:27:34 +00:00
CreepySkeleton
3b3d2b23fd
cargo clippy
2020-04-20 18:32:35 +03:00
bors[bot]
286c3e5d25
Merge #1841 #1842
...
1841: One less giant macro (-0.5 kB) r=pksunkara a=CreepySkeleton
1842: Allow rustc inline small functions across crates (-5.5 kB) r=pksunkara a=CreepySkeleton
Co-authored-by: CreepySkeleton <creepy-skeleton@yandex.ru>
2020-04-20 15:27:55 +00:00
CreepySkeleton
4ce2a02f78
Corectly handle --foo==a (value is =a
)
2020-04-20 17:54:56 +03:00
CreepySkeleton
4d3760a0b3
Correctly handle -磨FOO
2020-04-20 15:15:28 +03:00
CreepySkeleton
32ffdfe855
Correctly handle -f==a
(value is =a
)
2020-04-20 13:41:37 +03:00
CreepySkeleton
f149f35da4
Allow rustc inline small functions across crates
2020-04-19 19:02:55 +03:00
CreepySkeleton
fae89db4a0
One less giant macro (-0.5 kB)
2020-04-19 15:42:08 +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
David McNeil
247231d1c6
Add ArgPrecedenceOverSubcommand app setting
...
Signed-off-by: David McNeil <mcneil.david2@gmail.com>
2020-04-16 09:08:39 -05:00
Pavan Kumar Sunkara
070bd50b28
Finished color refactor
2020-04-16 12:51:26 +02:00
bors[bot]
90e5eb6d1a
Merge #1831
...
1831: Handle publicity properly r=pksunkara a=CreepySkeleton
Co-authored-by: CreepySkeleton <creepy-skeleton@yandex.ru>
2020-04-16 06:36:39 +00:00
CreepySkeleton
823332e919
Handle publicity properly
2020-04-16 08:29:16 +03:00
CreepySkeleton
8d01bce5df
Use ref instead of move
2020-04-16 04:52:02 +03:00
CreepySkeleton
f931c3d1e4
Suppress unused_valiables
lint in non-debug builds
2020-04-16 04:32:17 +03:00
CreepySkeleton
00f2a82c3e
Make debug output much more useful
2020-04-14 07:21:27 +03:00
CreepySkeleton
fdaf927384
Remove almost all #[doc(hidden)]
2020-04-14 04:26:12 +03:00
bors[bot]
500f34a8f6
Merge #1811
...
1811: Replace value_t*! macros with methods r=pksunkara a=CreepySkeleton
Co-authored-by: CreepySkeleton <creepy-skeleton@yandex.ru>
2020-04-13 07:49:00 +00:00
CreepySkeleton
ecd60b69a3
Fix tests
2020-04-13 04:44:13 +03:00
CreepySkeleton
af95c2b6a4
Replace value_t*! macros with methods
2020-04-13 04:20:09 +03:00
Pavan Kumar Sunkara
da32adeb0e
Allow literals in builder macros
2020-04-12 23:18:39 +02:00
Pavan Kumar Sunkara
3bb8389c73
Enable ansi support for windows before refactoring
2020-04-12 10:20:08 +02: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
Stephan Boyer
606d120d18
Update the documentation regarding which features are enabled by default
2020-04-04 13:16:30 -07:00
AimainaHito
06b9b32d66
Added full-stop
2020-04-04 11:30:30 +02:00
AimainaHito
f472393b14
Updated value_t documentation
2020-04-03 20:32:36 +02:00
Patrick Marks
4321cba5ba
set the default disp_ord of App to 999. Required for display_order and DeriveDisplay to work properly
2020-04-01 12:49:40 -07:00
Mátyás Mustoha
8687794986
style: fix comma placement for valid values when using arg_enum
2020-04-01 00:01:51 +02:00
Matthias Krüger
428a075e41
remove redundant imports and clone (found by clippy)
2020-03-25 13:43:01 +01:00
bors[bot]
2aa38e81a9
Merge #1739
...
1739: Remove _some_ of pubs r=pksunkara a=CreepySkeleton
Co-authored-by: CreepySkeleton <creepy-skeleton@yandex.ru>
2020-03-19 23:53:18 +00:00
CreepySkeleton
a46ab1639a
Turn some integration tests into unit tests
2020-03-19 10:49:49 +03:00
CreepySkeleton
4fc4a00b8f
Remove _some_ of pubs
2020-03-19 10:17:52 +03:00
CreepySkeleton
b61a807728
Fix clippy and bump MSRV
2020-03-13 22:41:40 +03:00
CreepySkeleton
3e1f6ed514
Use proper cfg
2020-03-09 23:42:14 +03:00
CreepySkeleton
329bfa9895
Get rid of extra scopes
2020-03-09 21:08:15 +03:00
Julian Laubstein
c34a0fdae9
Added tests and fixed display of conflicted flags
2020-03-08 17:11:12 +01:00
Julian Laubstein
444bce2471
Fixed #1622
2020-03-08 16:39:14 +01:00
bors[bot]
19c20f7c00
Merge #1727
...
1727: Fix `-- subcommand` error r=pksunkara a=ldm0
Co-authored-by: Donough Liu <ldm2993593805@163.com>
2020-03-05 13:01:05 +00:00
Donough Liu
5b9f6197b1
Test added, Apply rustfmt
2020-03-05 20:02:48 +08:00
Donough Liu
79cec6a298
Fix misplaced subcommand matching failure emitter.
...
Only positional args follow `--`.
2020-03-05 18:38:55 +08:00
Donough Liu
bd1b73d7c8
Another Typo
2020-03-05 17:56:24 +08:00
Donough Liu
c86ac603f1
Typo
2020-03-05 17:17:07 +08:00
Pavan Kumar Sunkara
eaae1202cb
Basic github action for benchmarking
2020-03-05 09:21:39 +01:00
bors[bot]
5e0898c175
Merge #1718
...
1718: Fix core dump with mutually `requires()` args r=pksunkara a=CreepySkeleton
Co-authored-by: CreepySkeleton <creepy-skeleton@yandex.ru>
2020-03-04 12:51:19 +00:00
CreepySkeleton
839ed2588c
Fix core dump with mutually requires()
args
...
Fixes #1643
2020-03-04 15:21:06 +03:00
Pavan Kumar Sunkara
47782cfac6
Make cargo feature additive
2020-03-01 22:55:57 +01:00
Ivan Tham
908b7aeb44
Ambiguous suggetions for InferSubcommands
...
Closes #1655
2020-03-01 19:36:05 +08:00
Emily
d36277b644
Fix Clap::try_parse_from documentation
2020-02-25 16:50:47 +00:00
bors[bot]
e4a7f50128
Merge #1669
...
1669: refactor: Rename Arg::conflicts_with_everything to Arg::exclusive (#1… r=pksunkara a=CreepySkeleton
Co-authored-by: Gregor Pfeifer <gpfeifer@dxc.com>
2020-02-22 21:58:29 +00:00
bors[bot]
28c46b5965
Merge #1697
...
1697: Allow replacing input on the fly r=CreepySkeleton a=pksunkara
Co-authored-by: Pavan Kumar Sunkara <pavan.sss1991@gmail.com>
2020-02-21 19:13:59 +00:00
Pavan Kumar Sunkara
b8851a7d5e
Allow replacing input on the fly
2020-02-21 18:15:33 +01:00
Cecile Tonglet
35b918bd72
Allow missing docs on arg_enum
2020-02-21 11:39:44 +01:00
bors[bot]
cc79c432a4
Merge #1701
...
1701: Remove unneeded file r=pksunkara a=CreepySkeleton
Co-authored-by: CreepySkeleton <creepy-skeleton@yandex.ru>
2020-02-21 09:51:56 +00:00
CreepySkeleton
4fcff089ef
Remove unneeded file
2020-02-21 03:28:25 +03:00
CreepySkeleton
4f13f3155c
Fix warnings on nightly
2020-02-21 01:55:19 +03:00
CreepySkeleton
43acfa00f4
Implement derive traits for Box<T>
2020-02-13 18:21:01 +03:00
bors[bot]
1e7c9efc9d
Merge #1612
...
1612: Use about() with help() and long_about() with long_help() r=pksunkara a=TheLostLambda
I was going through the clap documentation and was under the impression that calling `help()` would call `about()` and `long_help()` would call `long_about()`, but I've actually discovered this not to be the case. Instead, the `long_about()` was always shown when it existed, rendering the output (in the about section) of programs called with `-h` and `--help` identical. Issue #1472 shows this and that is fixed here.
Note this doesn't remove the ability to use the same about in both cases: if `long_about()` is unset, then `about()` is used in both cases.
I've changed the implementation here to use `is_some()` and `unwrap()` as opposed to `if let` because it ultimately allows for less repetitive code. Ideally, I'd be able to pair `if let` with a secondary condition (namely `self.use_long`), but to my dismay, let-chains are not stabilized yet.
For a second opinion, here is the code a settled on:
```
if self.use_long && parser.meta.long_about.is_some() {
debugln!("Help::write_default_help: writing long about");
write_thing!(parser.meta.long_about.unwrap())
} else if parser.meta.about.is_some() {
debugln!("Help::write_default_help: writing about");
write_thing!(parser.meta.about.unwrap())
}
```
Here is the alternative:
```
if self.use_long {
if let Some(about) = parser.meta.long_about {
debugln!("Help::write_default_help: writing long about");
write_thing!(about)
} else if let Some(about) = parser.meta.about {
debugln!("Help::write_default_help: writing about");
write_thing!(about)
}
} else {
if let Some(about) = parser.meta.about {
debugln!("Help::write_default_help: writing about");
write_thing!(about)
}
}
```
Co-authored-by: Brooks J Rady <b.j.rady@gmail.com>
2020-02-13 07:21:05 +00:00
Brooks J Rady
9cde072b61
Use about() with help() and long_about() with long_help()
2020-02-13 00:31:45 +00:00
bors[bot]
12df8cb078
Merge #1681
...
1681: WIP: Extract subcommands into separate trait r=pksunkara a=CreepySkeleton
Not-yet-working-but-almost-there "multiple traits" approach. More or less done, what's left is to catch some bugs and adapt tests/examples.
For the record: it took so long because of RL stuff (who would have thought?) and because [there was a detailed description of the experience I've had here, but it was deleted because it contained a lot of profanity and emotional notes].
As the only person alive that understands how the derive works (if you won't blow your own horn, nobody will do it for you, yeah), I'd like to made a statement: we Do need the refactoring.
Co-authored-by: CreepySkeleton <creepy-skeleton@yandex.ru>
2020-02-12 20:42:32 +00:00