Ed Page
ab8ef46663
fix: arg!(--long [value]) to per occurrence values
...
Before we did 0..=1 across all occurrences when what we really wanted
was 0..=1 per occurrence. This makes it compatible with
`ArgAction::Append`.
2022-07-28 16:52:30 -05:00
Ed Page
41535d5c46
feat: Extend number_of_values
to support min/max per occurrence
2022-07-28 16:52:25 -05:00
Ed Page
b4dfdcea15
fix!: Change number_of_values to be per occurrence
2022-07-28 16:52:16 -05:00
Ed Page
8e20782bfd
fix(parser): Rely on default_missing_value
for flag actions
...
In the short term, this just provides a back door to custom actions.
Longer term, we can explore a `SetConst` action that relies on this
behavior. Really, `SetTrue` and `SetFalse` are shortcuts for such an
action but shortcuts can be helpful for usability.
Apparently, this also reduced `.text` size by 1k
2022-07-28 15:43:08 -05:00
Ed Page
355a8ff90c
fix!: number_of_values
doesn't always imply multiple_values(true)
...
With `number_of_values` being per-occurrence now, its doesn't make sense
for `number_of_values(0)` to set `takes_value(true)` or for
`number_of_values(1)` to set `multiple_values(true)`.
In addition, an assert is made if the user works around this
2022-07-28 14:40:58 -05:00
Ed Page
67adc4acf9
fix(parser)!: Apply default_missing_value per occurrence
...
This both simplifies the code and the model we present to the user,
making more sense.
There is room for further exploration of tying flag actions into this.
2022-07-27 20:23:58 -05:00
Ed Page
8ea1e2d4d3
fix!: Use value parsers for external subcommands
...
This changes the default type as well to encourage preserving the full
information for shelling out. If people need UTF-8, then they can
change the value parser.
Fixes #3733
2022-07-25 14:31:56 -05:00
Ed Page
475a0fc0a2
fix!: Remove PartialEq from Command
...
This gives us more implementation flexibility
2022-07-25 13:52:13 -05:00
Ed Page
13e672fb90
fix(assert)!: Prevent repeated subcommand names
...
Fixes #3888
2022-07-25 13:46:18 -05:00
Ed Page
9fb9f563ad
docs: Update changelog
2022-07-25 13:31:17 -05:00
Ed Page
ec38212dcb
fix(assert)!: Disallow self-overrides
...
This will make it easier to drop support for multiple occurrences
2022-07-25 12:46:16 -05:00
Ed Page
5a8e2046af
fix(assert)!: Ensure overrides_with IDs are valid
2022-07-25 12:26:32 -05:00
Ed Page
dad2492de0
docs: Note change in derive behavior
2022-07-23 21:24:11 -05:00
Ed Page
08e8642a8c
Merge pull request #3976 from epage/attrib
...
fix(derive)!: Remove value_parser/action defaulted attributes
2022-07-22 20:25:09 -05:00
Ed Page
6ecb7310a8
fix(derive)!: Remove value_parser/action defaulted attributes
2022-07-22 20:07:47 -05:00
Ed Page
122b562e6b
fix!: Change default actions to Set/SetTrue
...
This is in prep for removing StoreValue/IncOccurrences
2022-07-22 20:00:47 -05:00
Ed Page
11076a5c70
fix(help)!: Make DeriveDisplayOrder
the default, removing it
...
Force sorting with `next_display_order(None)`
Fixes #2808
2022-07-22 15:52:03 -05:00
Ed Page
389ff4ff21
fix(help): Subcommand display order respects Command::next_display_order
...
Previous behavior:
- They'd be sorted by default
- They'd derive display order if `DeriveDisplayOrder` was set
- This could be set recursively
- The initial display order value for subcommands was 0
New behavior:
- Sorted order is derived by default
- Sorting is turned on by `cmd.next_display_order(None)`
- This is not recursive, it must be set on each level
- The display order incrementing is mixed with arguments
- This does make it slightly more difficult to predict
2022-07-22 15:03:16 -05:00
Ed Page
36dcb05d96
fix!: Change arg!
to use ArgAction
...
Fixes #3795
2022-07-22 13:24:40 -05:00
Ed Page
b77ed545ac
fix(env)!: Parse help/version like normal
...
Fixes #3776
2022-07-22 13:12:12 -05:00
Ed Page
8b064cfee9
fix(derive): Move off of SubcommandRequiredElseHelp
...
This also let us remove the deprecated attribute
Fixes #3280
2022-07-22 12:33:31 -05:00
Ed Page
0d459128d7
fix(error)!: Merge UnrecognizedSubcommand into InvalidSubcommand
...
Fixes #3676
2022-07-22 12:12:35 -05:00
Ed Page
a842bd64a0
fix!: Use display_name rather than bin_name in version output
2022-07-22 11:40:30 -05:00
Ed Page
01a3ea425f
fix!: Remove unstable-v4
feature gate
2022-07-22 11:34:06 -05:00
Ed Page
16b0362807
fix(error):! Merge EmptyValue into InvalidValue
...
There isn't a reason to programmatically differentiate them so this
merges them simplify programamtic cases and to hopefully reduce binary
size.
2022-07-22 09:06:01 -05:00
Ed Page
d40e42a9ca
chore: Release
2022-07-20 20:13:29 -05:00
Ed Page
88b9406c1b
docs: Update changelog
2022-07-20 20:13:20 -05:00
Ed Page
e6b8b4b607
chore: Release
2022-07-19 14:41:47 -05:00
Ed Page
fcd7cae81f
docs: Update changelog
2022-07-19 14:39:36 -05:00
Ed Page
a8a7a61f56
chore: Release
2022-07-14 09:38:54 -05:00
Ed Page
ed8837f2cc
docs: Update changelog
2022-07-14 09:38:47 -05:00
Ed Page
2df0732df4
chore: Release
2022-07-13 09:08:35 -05:00
Ed Page
1c2242251b
docs: Update changelog
2022-07-13 09:08:21 -05:00
Ed Page
9b6321a1f0
chore: Release
2022-07-11 21:48:07 -05:00
Ed Page
096db791bf
docs: Update changelog
2022-07-11 21:46:05 -05:00
Ed Page
6614ffa6c8
chore: Release
2022-06-30 08:25:54 -05:00
Ed Page
a67746ecbe
docs: Update changelog
2022-06-30 08:25:46 -05:00
Ed Page
b4a1362486
chore: Release
2022-06-28 08:04:18 -05:00
Ed Page
3e80393e43
docs: Update changelog
2022-06-28 08:03:17 -05:00
Ed Page
3823df9bbe
chore: Release
2022-06-21 09:32:04 -05:00
Ed Page
8a659bc2b4
docs: Update changelog
2022-06-21 09:31:11 -05:00
Ed Page
a7698e9a1d
chore: Release
2022-06-15 11:50:16 -05:00
Ed Page
be2a2c050a
docs: Update changelog
2022-06-15 11:50:02 -05:00
Ed Page
20358ff295
chore: Release
2022-06-14 15:01:42 -05:00
Ed Page
241a6fcfbc
docs: Update changelog
2022-06-14 15:01:19 -05:00
Ed Page
63a17a40ad
chore: Release
2022-06-14 11:19:59 -05:00
Ed Page
d290f11b8d
docs: Update changelog
2022-06-14 11:19:23 -05:00
Ed Page
b541f2c880
docs(change): Note debug/release assert change
2022-06-14 08:48:36 -05:00
Ed Page
c510c9da19
docs: Put compatibility first in changelog
2022-06-14 08:47:10 -05:00
Ed Page
478609a937
docs: Move item to correct release section
2022-06-14 07:07:10 -05:00