Commit graph

19 commits

Author SHA1 Message Date
Ed Page
a7e04a53e4 fix(parser): Improve subcommand conflict error 2024-01-11 10:20:19 -06:00
Ed Page
ea00ef3051 refactor(error): Allow more conflict sources 2024-01-11 10:17:35 -06:00
Ed Page
9f65eb0c9a refactor(error): Give caller control over suggestion 2023-08-16 14:54:45 -05:00
Ed Page
6590a855ee fix(parser): Don't suggest -- as often
See #2766
2023-07-21 14:27:15 -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
Yuri Astrakhan
d0302c5556 chore: Inline simple non-mixed format args 2023-05-04 15:58:04 -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
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
57974bed7b refactor(help): Future proof styling
We can add a new style and default it to what it was split out of
without a breaking change.
2023-04-18 15:22:42 -05:00
Ed Page
8fd0a93bdc refactor(help): Clarify style meaning 2023-04-18 15:22:42 -05:00
Ed Page
3cb90b0b22 refactor(help): Use a stylesheet 2023-04-18 15:22:42 -05:00
Ed Page
72515d14b1 refactor(help): Style in the caller
Random fixes along the way
- In one case the space after `tip:` was "colored" (won't matter until
  themeing is available)
- One error case didn't color invalid values
- Changed the args associated with invalid values to be `literal` rather
  than `warning`
- Changed the required value count to be `good`
- Changed the arg for invalid value counts to be `literal` (the actual
  count is `warning`)
2023-04-18 15:22:42 -05:00
Ed Page
9416f3a347 refactor(help): Use anstyle in the caller 2023-04-18 15:22:42 -05:00
Ed Page
ab61cd6aaf refactor(help): Push color knowledge out a layer 2023-04-18 15:22:42 -05:00
Ed Page
58615a1306 fix(error): Don't highlight 'similar' 2023-03-28 10:00:30 -05:00
Ed Page
fa60e723fc fix(error): Give more idea why we are suggesting an arg
One challenge with this is finding something that generally works.
Making this work perfectly for one setting will make it inconsistent
with other settings and take up more binary size / compile time.

So in the end, I felt like just mirroring rustc (with a bit more
brevity) seemed like a decent experiment.  This will be evaluated by the
feedback on release.

This is a small part of #4638
2023-03-27 20:45:27 -05:00
Ed Page
234d5f91d1 fix(error): Change from neutral 'note' to helpful 'tip'
This also has the advantage of aligning with `error:`

This is a small part of #4638
2023-03-27 20:45:11 -05:00
Ed Page
bdbfe6470f refactor(help): Track style via ANSI codes 2023-03-27 19:45:41 -05:00
Ed Page
4e1a565b8a refactor: Split out clap_builder for faster derive builds
For now, we are still treating `clap` as the user facing API for both
builder and derive, making this an internal change as we don't expect
this to negatively impact builder build times all that much.  We can
re-evaluate at a later time and consider having distinct top-level
crates for builder and derive.

Looking at `--timings` on my machine
- `clap` only took 0.04s to build and it happened in
  parallel to `clap_builder` codegen
- this saved 1.7s for derive build times, with `clap_builder` building
  in parallel to `syn` and `clap_builder` and `clap_derive` finishing
  around the same time.

This was discussed some at https://rust-lang.zulipchat.com/#narrow/stream/220302-wg-cli/topic/clap.20build.20times.20and.20.60clap_derive.60.3A.20a.20crazy.20idea
2023-03-24 21:50:02 -05:00