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
The regular expression for the release date update is taken from the
GitHub Action `kevinmatthes/cff-release-today@v0.5.2` which uses this
one, too. License issues should not arise as I am the author of that
GitHub Action.
The regular expression for the version update is designed to also work
with version parts consisting of multiple digits. It was tested
successfully with the example versions `1.2.3` and `1.2.30` in
CITATION.cff.
This let's you get an arguments values, grouped by the occurrence of the
argument.
Note: this does not stablize derive support. That requires a blocking
change and can be enabled via `unstable-v5` flag. See #4626 for an
exploration of how we can make this easier in the future.
Fixes#2924
Fixes#4510
Note: `terminal_size` is using old version of rustix and this causes a bit dependency duplication.
Will check to bump upstream. EDIT: Someone already did - https://github.com/eminence/terminal-size/pull/46 (needs a release)