Commit graph

197 commits

Author SHA1 Message Date
Ed Page
c344edf8b9 docs: Clarify most asserts are for debug builds 2023-09-19 12:38:21 -05:00
Ed Page
e6e539660f chore: Release 2023-09-18 09:28:47 -06:00
Colin Walters
84f99ff979 chore(builder): Bump terminal_size to 0.3
For some reason, terminal_size bumped semver recently; they
also bumped the rustix version to 0.38.

I'd like to reduce the number of copies of OS integration
crates (rustix and nix) in my dependency chain.  Let's bump
to the new version so I can aim to drop rustix 0.37.
2023-09-18 10:31:19 -04:00
renovate[bot]
dc63cba772
chore(deps): update compatible (dev) (#5108)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-01 01:47:45 +00:00
Ed Page
3cd571e654 chore: Release 2023-08-31 13:19:11 -05:00
Ed Page
7a4f7d3f2c
Merge pull request #5106 from epage/once
perf: Drop a dep for faster builds
2023-08-31 13:18:15 -05:00
Ed Page
087224a486 perf: Drop a dep for faster builds
`OnceLock` became available as of 1.70 which is older than our new MSRV.
We can easily get away without `Lazy` variants.
2023-08-31 12:54:45 -05:00
Joe Chen
4012b195fd fix(builder): Update documentation comments 2023-08-31 13:22:35 +08:00
Ed Page
7126f78421 chore: Release 2023-08-28 11:45:19 -05:00
Ed Page
eb53db89f8 feat(help): Stabilize styling support
Fixes #3234
2023-08-28 09:49:48 -05:00
Ed Page
2e49645418 chore: Release 2023-08-24 11:08:02 -05:00
Ed Page
0b196a165c perf(builder): Speed up builds by dropping is-terminal 2023-08-24 10:19:28 -05:00
Ed Page
88cf306216 chore: Release 2023-08-23 09:21:22 -05:00
Ed Page
bf3f25ebb2 fix(help): Ensure padding isn't stripped
Fixes #5083
2023-08-22 16:02:33 -05:00
Ed Page
b9df80c2ce chore: Release 2023-08-18 16:07:31 -05:00
Ed Page
56135f3ff3 fix(builder): UnknownValueParser shouldn't error on flag absense
Fixes #5079
2023-08-18 14:29:37 -05:00
Ed Page
6720240577 feat(parser): Report source to value parsers 2023-08-18 14:28:15 -05:00
Ed Page
df337de701 chore: Release 2023-08-17 08:59:45 -05:00
Ed Page
9f65eb0c9a refactor(error): Give caller control over suggestion 2023-08-16 14:54:45 -05:00
Ed Page
8413c155d2 feat(builder): Allow injecting known unknowns
Fixes #4706
2023-08-16 14:50:08 -05:00
Ed Page
ee1388c0a3 chore: Release 2023-08-07 20:36:44 -05:00
Ed Page
3156e1a35c
Merge pull request #5066 from 9999years/export-trymapvalueparser
feat: Allow referencing `TypedValueParser` in`ValueParserFactory` associated type
2023-08-07 20:35:49 -05:00
Ed Page
b96cbafcbe chore: Release 2023-08-07 20:33:13 -05:00
Rebecca Turner
c86172e891
feat: Export builder::TryMapValueParser
Partial fix for #5065, allows using TypedValueParser::try_map to
implement a ValueParserFactory.
2023-08-03 15:53:38 -07:00
renovate[bot]
6cd2706bf4
chore(deps): update compatible (dev) (#5059)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-01 01:20:36 +00:00
Josh Triplett
9c090262cd feat: Command::mut_args to modify all arguments
Convenient when you want to modify most or all arguments, without having
to call `mut_arg` for each one and name them all.
2023-07-28 21:16:29 -07:00
Ed Page
ae5549d61f chore: Release 2023-07-21 16:56:00 -05:00
Ed Page
8bee728034 fix(parser): Value terminator has higher precedence than later multiple values
This is one of several bugs found when looking at #4960.
2023-07-21 16:41:08 -05:00
Ed Page
9856d67541 chore: Release 2023-07-21 14:44:34 -05:00
Ed Page
6590a855ee fix(parser): Don't suggest -- as often
See #2766
2023-07-21 14:27:15 -05:00
Ed Page
d824b1f0fd chore: Release 2023-07-19 11:05:53 -05:00
Ed Page
8b536e2719 fix(help): Wrap long possible values correctly
We weren't taking the name into account when determining the wrap width.

Fixes #5022
2023-07-19 10:42:09 -05:00
Ed Page
95d411d151 chore: Release 2023-07-18 15:01:21 -05:00
Ed Page
4caa536ca4 fix(assert): Allow stateful value parsers
We'll need to re-evaluate how to solve #3202.

Fixes #4643
2023-07-18 14:11:56 -05:00
Ed Page
51abbe7ebf chore: Release 2023-07-17 20:12:05 -05:00
Ed Page
82f17a40c0 docs(builder): Provide styling examples 2023-07-17 17:10:33 -05:00
Ed Page
e31768bb55 fix(builder): Re-export anstyle for easy access 2023-07-17 17:10:13 -05:00
Ed Page
98f62d1939 chore: Release 2023-07-17 10:55:26 -05:00
Ed Page
36afe99bfa fix(help): Skip [OPTIONS] if help/version action
Our code for detecting when to skip this in the usage was never updated
for actions.
2023-07-17 10:40:42 -05:00
Ed Page
22b545b98b feat(help): Explicit control over short/long help
Fixes #4687
2023-07-17 10:37:26 -05:00
Ed Page
c2191674b0 chore: Release 2023-07-17 10:26:48 -05:00
Ed Page
bc000aa4b0 fix(help): Defaulting max_term_width instead of max_term_width
Fixes #4295
2023-07-17 09:40:49 -05:00
Ed Page
d741e9519c docs(builder): Correct max_term_width docs 2023-07-17 09:25:21 -05:00
Ed Page
f8d86dc165 refactor(help): Break term width calculation out 2023-07-17 09:17:52 -05:00
Ed Page
fcda411e5e chore: Release 2023-07-14 12:01:56 -05:00
Ed Page
6541df2c4b docs: Note user-values subject to value_delimiter
Inspired by #4999
2023-07-07 09:07:55 -05:00
Ed Page
cafdf58e02 chore: Release 2023-07-05 10:33:25 -05:00
Ed Page
99bcdfc6c7 style(builder): Be consistent in order 2023-07-05 10:10:34 -05:00
Ed Page
a50e32c135 feat(derive): Accept Boxed Str/OsStr/Path 2023-07-05 10:03:52 -05:00
Ed Page
916c8d93e1 feat(derive): Accept num::Wrapping wrapped types 2023-07-05 09:55:31 -05:00
Ed Page
f043f57559 feat(derive): Accept Box/Arc wrapped types 2023-07-05 09:53:41 -05:00
Ed Page
7353b2be34 chore: Release 2023-06-29 20:45:17 -05:00
Ed Page
27431a43a1 refactor(builder): Remove bitflags dependency
This saved 1.3 KiB

When color support is enabled, this likely won't save on build times
*until* `is-terminal` is removed.  At that point, `bitflags` will no
longer be in our dependency tree.

I did not (yet) reproduce the `Debug` impl.
2023-06-29 20:24:34 -05:00
Ed Page
6bfd7852ac chore: Update bitflags
Fixes #4861
2023-06-29 19:46:59 -05:00
Ed Page
18f0ad4676 chore: Release 2023-06-28 08:39:55 -05:00
Sebastian Toh
8103e9760a fix(ignore_errors): Allow help and version command 2023-06-28 08:58:40 +08:00
Ed Page
1f71fd9e99 chore: Release 2023-06-23 16:36:03 -05:00
Ed Page
8596fe6523
Merge pull request #4971 from SUPERCILEX/long-arg-inference
fix: Broken long arg inference on conflicts
2023-06-23 16:34:19 -05:00
Ed Page
cf7f3a7ba0 chore: Release 2023-06-20 11:15:10 -05:00
Pavan Kumar Sunkara
cfd1d22e26 Improve colorchoice enum 2023-06-20 08:55:04 +01:00
Ed Page
3ad2bf6061 docs(builder): Describe current sort semantics
I must have been moving too fast with 6e1e754 as it changed the wrong
part of the text when really the whole thing needed an overhaul.

So this correctly fixed #4728
2023-06-19 09:33:27 -05:00
Alex Saveau
f9994bff47
fix: Broken long arg inference on conflicts
Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
2023-06-17 13:30:05 -07:00
Ed Page
dcccf61099 chore: Release 2023-06-14 08:55:02 -05:00
Sebastian Pipping
36329896e7 feat: Extract/add public method Error.exit_code
Simplifies method Error.exit as a side effect.
2023-06-14 01:39:59 +02:00
Ed Page
a87fba2bb6 chore: Release 2023-06-09 09:34:30 -05:00
Ed Page
d10938dd33 feat: Allow deferred initialization of subcommands
This is mostly targeted at reducing startup time for no-op commands
within *very* large applications, like deno (see #4774).

This comes at the cost of 1.1 KiB of binary size
2023-06-09 08:29:38 -05:00
Ed Page
5661b6b508 style: Remove unused mut 2023-06-05 12:49:26 -05:00
Ed Page
50f0e6bffb chore: Release 2023-06-01 21:10:46 -05:00
renovate[bot]
534be345d8
chore(deps): update compatible (dev) 2023-06-01 00:38:25 +00:00
Ed Page
9c3dc187cb chore: Release 2023-05-19 11:55:42 -05:00
Ed Page
5047bb40bd chore: Release 2023-05-19 11:48:29 -05:00
Ed Page
e1db168d69 fix(parser): Ensure terminated positionals are assigned correctly 2023-05-19 10:41:44 -05:00
Ed Page
1ee2e95e96 fix(builder): Allow value terminated multiple positional values 2023-05-19 10:39:05 -05:00
Ed Page
c3fe7ff0a9 fix(help): Don't use next-line-help on long-help for subcommands
Subcommands don't switch their behavior on `--help`, so let's not switch
to next-line-help based on `--help`.

Fixes #4897
2023-05-12 10:41:05 +02:00
Ed Page
21d911db10 style: Make clippy happy 2023-05-19 09:10:20 -05:00
Ed Page
8edf8c7676
Merge pull request #4922 from epage/docs
docs(builder): Remove stale docs references (set is default)
2023-05-19 09:02:18 -05:00
Ed Page
ac5d893091 docs(builder): Remove stale docs references (set is default) 2023-05-18 13:11:14 -05:00
Wim Looman
c41f4beaaa
fix(docs): Add note about Command::disable_help_subcommand applying to children 2023-05-18 14:11:22 +02:00
Ed Page
1d42caa0b6
Merge pull request #4912 from epage/assert
fix(assert): Clarify last assertion
2023-05-17 17:10:08 -05:00
Ed Page
67cc5ea3a2 fix(assert): Clarify last assertion
An incremental improvement for #4911.
2023-05-17 16:33:36 -05:00
Daniel Hofstetter
3458adc6ae fix: Typo in value_parser.rs 2023-05-15 15:35:25 +02:00
Yuri Astrakhan
d0302c5556 chore: Inline simple non-mixed format args 2023-05-04 15:58:04 -04:00
Ed Page
ba9cad6ca2
Merge pull request #4885 from epage/possible
refactor(help): Clean up long possible value handling
2023-05-03 21:17:45 -05:00
Ed Page
5fb1b25799
Merge pull request #4883 from nyurik/happy-clippy
chore: Make Clippy happy
2023-05-03 21:13:47 -05:00
Yuri Astrakhan
ebbdce4820 chore: Make Clippy happy 2023-05-03 21:56:07 -04:00
Yuri Astrakhan
797c23c415 chore: Inline format args using clippy fix
This command cleaned up all the format args,
making code significantly shorter and more readable.

```
cargo clippy --workspace --fix -- -A clippy::all -W clippy::uninlined_format_args
```
2023-05-03 21:49:11 -04:00
Ed Page
1351c56289 fix(help): Consistently calculate PV name length 2023-05-03 20:15:31 -05:00
Ed Page
3963d73e18 perf(help): Remove next-help possible values
Next-line help for possible values does not feel like its pulling its
weight.  If anything we should do next-line help for the entire
argument.

This dropped about 0.5 KiB but more importantly is prep for other
changes.
2023-05-03 20:09:36 -05:00
Ed Page
ec52b74d68 refactor(help): Better call out long-pv policy 2023-05-03 19:48:48 -05:00
Ed Page
9227ab1c7c refactor(help): Be consistent in join style 2023-05-03 19:25:44 -05:00
Yuri Astrakhan
d810235d07 chore: Minor code dedup for writing possible vals
* writing possible values and subcommands used nearly identical code
* writing elements used duplicate code once for items and once for last item
2023-05-03 18:40:44 -04:00
Ed Page
baaf5c64c1 chore: Release 2023-05-02 14:07:29 -05:00
Ed Page
937f1ed9c9 fix(parser): Update iterator sizes as we go
Maybe it was just me, but I didn't realize that the length had to be
updated as we went but it can cause panics with a bad message.

Fixes #4870
2023-05-02 13:53:42 -05:00
Ed Page
a7214540f6 chore: Release 2023-05-02 13:24:34 -05:00
Dillon Shaffer
37507741c4
impl Eq<std::any::TypeId> for clap_builder::util::AnyValueId 2023-05-01 08:40:00 -06:00
Ed Page
fa57ed3123 chore: Release 2023-04-27 04:29:47 -05:00
Ed Page
9eaf8996a4
Merge pull request #4867 from epage/panic
fix(builder): Assert earlier on bad requires/conflicts
2023-04-27 18:57:19 -05:00
Ed Page
185729a7dc fix(builder): Assert earlier on bad requires/conflicts
Fixes #4865
2023-04-27 04:16:14 -05:00
Ed Page
e02644b9c2 fix(usage): Provide more context in panic 2023-04-27 04:12:22 -05:00
mattmadeofpasta
296fec9186
test(help): Remove redundant test 2023-04-27 09:04:35 +00:00