Ed Page
dcf69d1c87
refactor(parser): Track str/OsStr values via Box
...
Unfortunately, we can't track using a `ValueParser` inside of `Command`
because its `PartialEq`. We'll have to wait until a breaking change to
relax that.
Compatibility:
- We now assert on using the wrong method to look up defaults. This
shouldn't be a breaking change as it'll assert when getting a real
value.
- `values_of`, et al delay panicing on the wrong lookup until the
iterator is being processed.
2022-05-12 16:13:30 -05:00
Ed Page
cf0282bdae
refactor: Remove dead code
2022-05-12 10:35:52 -05:00
Ed Page
740bb39f50
Merge pull request #3728 from AndreasBackx/issue/3259
...
feat(builder): Updated min_value and required docs
2022-05-16 08:57:14 -05:00
Andreas Backx
a678baa4f4
feat(builder): Updated min_value and required docs
2022-05-14 21:06:52 +01:00
Ed Page
02b4fed2aa
Merge pull request #3724 from epage/pub
...
feat: Expose builder/parser modules
2022-05-12 06:35:56 -05:00
Ed Page
17c99d2878
test(derive): Unsure why this is failing
2022-05-12 06:23:38 -05:00
Ed Page
399c138825
fix: Soft-deprecate several items within the root
2022-05-12 06:18:08 -05:00
Ed Page
4fea1515b6
feat: Expose builder/parser modules
...
The top-level API for clap is getting a bit bloated. By exposing these
modules, we'll be able to continue to add new, less commonly used types
while keeping the main API focused.
2022-05-12 06:17:08 -05:00
Ed Page
524e36cf1a
chore: Release
2022-05-10 15:29:16 -05:00
Ed Page
6635237037
docs: Update changelog
2022-05-10 15:28:50 -05:00
Ed Page
20d95d2b8c
Merge pull request #3718 from epage/arg_enum
...
fix(macros): Add needed call for arg_enum
2022-05-10 15:18:04 -05:00
Ed Page
52f6939044
fix(macros): Add needed call for arg_enum
...
Fixes #3717
2022-05-10 14:43:04 -05:00
Ed Page
9713cd9ae4
Merge pull request #3712 from epage/assert
...
fix(assert): Make sure group members exist before using them
2022-05-10 14:40:26 -05:00
Ed Page
7c1f9123a4
fix(assert): Make sure group members exist before using them
...
In #3711 , we had a confusing assert about no non-default members of a
required group when there were no defaults involved. This is because
there were no valid args in the group but that check happens after.
2022-05-09 15:53:18 -05:00
Ed Page
a57a4119a1
Merge pull request #3708 from epage/rename_sub
...
fix(derive): Don't change case of Arg id's (unstable)
2022-05-09 10:48:36 -05:00
Ed Page
2e3540355a
fix(derive): Don't change case of Arg id's (unstable)
...
This will make it easier to reference arguments with different
attributes.
Fixes #3282
2022-05-09 10:36:03 -05:00
Ed Page
f7e4dd23d6
refactor(derive): Divide rename_all assertions
2022-05-06 16:47:52 -05:00
Ed Page
ddc9d54f41
refactor(derive): Generalize test name
2022-05-06 16:45:03 -05:00
Ed Page
fe4888d668
refactor(derive): Group subcommand rename tests
2022-05-06 16:43:23 -05:00
Ed Page
fbb01d8b33
Merge pull request #3703 from epage/external
...
fix(parser): Disambiguate whether built-in subcommands are escaped (unstable)
2022-05-06 16:18:21 -05:00
Ed Page
eb155786bb
fix(parser): Assert on unknown args when using external subcommands (unstable)
2022-05-06 15:49:33 -05:00
Ed Page
65538e21a8
fix(derive): Detect escaped ambiguous subcommands (unstable)
2022-05-06 15:46:34 -05:00
Ed Page
630dde7bf2
Merge pull request #3702 from epage/derive
...
feat(derive): Start `unstable-v4` feature flag
2022-05-06 15:08:13 -05:00
Liu Dingming
1b63fbd6df
feat(derive): Start unstable-v4
feature flag
...
This is split out of #3661 as several changes I'm working on need it.
2022-05-06 14:56:55 -05:00
Ed Page
36f8e470dd
Merge pull request #3701 from epage/required
...
fix(assert): Detect conflicting arguments (unstable)
2022-05-06 14:45:41 -05:00
Ed Page
6ceb865c95
fix(assert): Detect conflicting arguments (unstable)
...
Fixes #3660
2022-05-06 14:29:35 -05:00
Ed Page
122b4b4ac1
Merge pull request #3700 from epage/value_name
...
fix(help): Define value name / number of values mismatch relationships
2022-05-06 14:15:47 -05:00
Ed Page
3d7ee2e5cd
fix(assert): Verify required_unless_present_all exist
2022-05-06 14:11:37 -05:00
Ed Page
089f96eb87
fix(help): Disallow too many value names (unstable)
...
I can't think of a case for this or a way to render it.
Fixes #2695
2022-05-06 13:54:07 -05:00
Ed Page
70c29e3dd8
fix(help): Use '...' when not enough value names supplied
2022-05-06 13:33:17 -05:00
Ed Page
20ff4ce05a
doc(parser): Document external subcommand escaping behavior
2022-05-06 12:38:23 -05:00
Ed Page
03f132129b
fix(parser): Always put in arg ""
for external subcommands (unstable)
...
This allows distinguishing external subcommands from built-in
subcommands which can especially be confusing when escaping subcommands.
Fixes #3263
2022-05-06 12:25:20 -05:00
Ed Page
55e791e80e
chore: Release
2022-05-06 11:57:48 -05:00
Ed Page
ed0c01993c
docs: Update changelog
2022-05-06 11:57:39 -05:00
Evgeniy Terekhin
229b44d9bb
fix(macros): Allow dashed values ( #3699 )
...
add support for dashed arg names and values in arg! macro
2022-05-06 10:58:00 -05:00
Ed Page
95698a4f31
chore: Release
2022-05-06 09:39:24 -05:00
Ed Page
3984e55363
docs(complete): Update changelog
2022-05-06 09:39:15 -05:00
Ed Page
1a1a842aa0
Merge pull request #3698 from epage/value
...
fix(complete): Complete visible, rather than hidden, values
2022-05-06 09:37:54 -05:00
Ed Page
b266e6d35d
fix(complete): Complete visible, rather than hidden, values
...
In a refactor for #3503 , one of the checks for `is_hide_set` got flipped
and we are completing hidden `PossibleValue`s rather than visible.
Fixes #3697
2022-05-06 09:14:32 -05:00
Ed Page
17b930c203
chore: Release
2022-05-05 21:04:09 -05:00
Ed Page
e74864994a
docs: Update changelog
2022-05-05 20:55:44 -05:00
Ed Page
0e1e9525c8
Merge pull request #3696 from epage/usage
...
refactor(help): Remove more redundant required checks
2022-05-05 20:48:31 -05:00
Ed Page
05aecf8248
refactor(help): Remove more redundant required checks
...
Made redundant in #3689 but missed updating these.
2022-05-05 20:33:39 -05:00
Ed Page
dcda237ecc
Merge pull request #3689 from epage/usage
...
fix(error): Don't duplicate args in usage
2022-05-05 19:52:19 -05:00
Ed Page
e23c786f62
refactor(help): Remove redundant required check
...
With us moving the required de-duplication up a level, it made this
check redundant. By removing this check, we're more likely to have an
item in the `incls` which forces a smart usage and reduces the chance of
an `[ARGS]` or `[OPTIONS]`, so a couple of tests changed.
2022-05-05 17:02:49 -05:00
Ed Page
f7c2deaa47
fix(help): Don't show hidden arguments for conflicts
...
This makes it consistent with other errors where we show arguments to
the user.
2022-05-05 12:16:56 -05:00
Ed Page
2375a8ec2a
Merge pull request #3693 from epage/template
...
fix(help): Use display name instead of bin name (unstable-v4)
2022-05-05 12:01:01 -05:00
Ed Page
e4c096ea99
fix(help): Use display name instead of bin name (unstable-v4)
...
This will mean we won't have an awkard `.exe` in the middle on Windows
This means users can have a display name for their application rather
than it being dependent on the binary name it was run as
This means users can manually set it to use spaces instead of dashes for
separating things out.
Fixes #992
Fixes #1474
Fixes #1431
2022-05-04 20:46:49 -05:00
Ed Page
16791ab0a7
test(help): Update for display name change
2022-05-04 20:46:49 -05:00
Ed Page
41a8a5b351
Merge pull request #3692 from epage/break
...
fix(help): Don't wrap URLs
2022-05-04 16:47:33 -05:00