Commit graph

7273 commits

Author SHA1 Message Date
Ed Page
ea4dada1e4 fix(lex): Allow reporting errors for non-UTF8 longs 2023-03-25 03:42:04 -05:00
Kurtis Nusbaum
5430df7a0f feat(derive): Support #[group] attributes
This adds the ability derive additional options for the group creation.

Fixes #4574
2023-03-25 03:25:38 -05:00
Ed Page
6419a0d937 perf!(lex): Build faster by removing os_str_bytes
We are doing direct transmutes between `OsStr` and `[u8]`.
https://github.com/rust-lang/rust/pull/95290 would make this natively
supported but I got tired of waitin for it.

This only saves about 1/4s off of `cargo build`.

This took 2.9 KiB off of `cargo bloat --release --example git`
2023-03-25 01:59:24 -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
Ed Page
d9a641bcc8 docs: Consistently use console fence type 2023-03-24 21:33:49 -05:00
Ed Page
5b65ede0ae style: Reduce unstable-v5 warnings 2023-03-24 21:32:58 -05:00
Ed Page
5d0fbb47ce doc: Clean up cfgs 2023-03-24 21:32:58 -05:00
Ed Page
e626dd4ffc
Merge pull request #4783 from epage/perf
perf(derive): Reduce the amount of generated code
2023-03-24 08:23:21 -05:00
Ed Page
7e7a45ac19 perf(derive): Reduce the amount of generated code
Its a small win, dropping the number of copies and reducing the
overhead from `quote` but enough of these could make a difference
2023-03-18 14:51:13 -05:00
Ed Page
240e237b5f chore: Release 2023-03-18 13:26:18 -05:00
Ed Page
60e023fb2c docs: Update changelog 2023-03-18 13:26:11 -05:00
Ed Page
6e1376cac8
Merge pull request #4781 from epage/deny
chore(ci): Switch to cargo-deny
2023-03-23 16:50:40 -05:00
Ed Page
f04ad2f38c
Merge pull request #4779 from epage/reserve
perf: Reduce alloc calls when building
2023-03-23 15:43:33 -05:00
Ed Page
bdfc6be5a7
Merge pull request #4778 from epage/downgrade
Revert "chore: Update bitflags dep to 2.0"
2023-03-23 15:38:39 -05:00
Ed Page
a2f500e440 chore(ci): Switch to cargo-deny 2023-03-18 12:46:33 -05:00
Ed Page
a62fd05d53 perf: Reduce alloc calls when building
Inspired by #4774
2023-03-18 11:59:01 -05:00
Ed Page
769ccc5cd6 Revert "chore: Update bitflags dep to 2.0"
This reverts commit 6878a1911b.
2023-03-18 11:48:04 -05:00
Ed Page
79b44d0460 chore: Release 2023-03-18 09:17:44 -05:00
Ed Page
59109b640d docs: Update changelog 2023-03-18 09:17:33 -05:00
Ed Page
dbf1b9a8d7
Merge pull request #4777 from epage/error
perf(derive): Improve build times
2023-03-23 12:11:14 -05:00
Ed Page
062622fe2d chore(derive): Update syn 2023-03-18 08:50:41 -05:00
Ed Page
e030426819 refactor(derive): Remove proc-macro-error dependency
Made things simpler that we were always aborting before.
2023-03-18 07:08:22 -05:00
Ed Page
cc1474f97c docs(help): Remove stale reference about wrapping
Fixes #4772
2023-03-17 00:16:13 -05:00
Ed Page
b69cf080ce chore: Release 2023-03-16 20:02:37 -05:00
Ed Page
4f2f7024db docs: Update changelog 2023-03-16 20:02:30 -05:00
Ed Page
4c05dfb8a5
Merge pull request #4771 from nicholasbishop/bishop-update-bitflags
chore: Update bitflags dep to 2.0
2023-03-18 20:21:54 -05:00
Nicholas Bishop
6878a1911b chore: Update bitflags dep to 2.0 2023-03-18 12:35:17 -04:00
Ed Page
9aee6d31fd chore: Release 2023-03-16 19:19:01 -05:00
Ed Page
97776254a7 docs: Update changelog 2023-03-16 19:18:55 -05:00
Ed Page
cdff81540c
Merge pull request #4767 from epage/win-ansi
fix(help): Don't style newlines
2023-03-17 19:14:32 -05:00
Ed Page
fcd6a65e18 fix(help): Don't style newlines
Windows will style all blank space until the end of line (sometimes).

Fixes #4431
2023-03-16 18:59:54 -05:00
Ed Page
e78bba0ec5 chore: Release 2023-03-16 10:42:06 -05:00
Ed Page
84ea5b8521 docs: Update changelog 2023-03-16 10:41:55 -05:00
Ed Page
83b0437ce1
Merge pull request #4764 from epage/true
fix(parser): Clarify get_count/get_flag assertion
2023-03-16 15:47:14 -05:00
Ed Page
4fa1ec6d68
Merge pull request #4762 from epage/deps
chore: Upgrade dependencies
2023-03-16 11:33:05 -05:00
Ed Page
c0dc1cd008 fix(parser): Clarify get_count/get_flag assertion
Fixes #4763
2023-03-16 10:23:34 -05:00
Ed Page
dec82598b2 chore: Upgrade trycmd 2023-03-16 06:07:46 -05:00
Ed Page
6c0600a031 chore: Fully specify dependencies 2023-03-16 06:07:08 -05:00
Ed Page
c7e929e123
Merge pull request #4752 from kevinmatthes/feature/cff
[Documentation] Create CITATION.cff
2023-03-09 10:10:12 -06:00
Kevin Matthes
b8021a2a71
test: Add CFF Validation
The CITATION.cff is validated with the official GitHub Action.
2023-03-09 16:55:30 +01:00
Kevin Matthes
ee8231c69f docs: Add Replacement Rules for CITATION.cff
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.
2023-03-09 16:42:47 +01:00
Kevin Matthes
37f8ae20b7 docs: Create CITATION.cff
CFF is a technology to make software citable.  Therefore, a file named
CITATION.cff needs to be stored in the repository's root.  GitHub will
then render a "Cite this repository" blob from it on the repository's
landing page.
2023-03-09 16:29:47 +01:00
renovate[bot]
8469554c17
chore(deps): update compatible (dev) (#4741)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-01 04:51:19 +00:00
Ed Page
f931de694a chore: Release 2023-02-27 12:13:11 -06:00
Ed Page
dbab081393 docs: Update changelog 2023-02-27 12:12:48 -06:00
Ed Page
70818c3aef
Merge pull request #4739 from MingweiSamuel/nodeny
fix: remove strict linting from generated code
2023-02-28 08:14:14 -06:00
Mingwei Samuel
fa76f6f78d fix: Remove strict linting from generated code
fix https://github.com/clap-rs/clap/issues/4733
2023-02-27 21:29:47 -08:00
Ed Page
5f247f5181 chore: Release 2023-02-27 07:55:14 -06:00
Ed Page
1999d85178 docs: Update changelog 2023-02-27 07:54:49 -06:00
Ed Page
c3a942e376
Merge pull request #4735 from rkrasiuk/rkrasiuk/fix-almost-swapped-lint
fix(derive): Allow `clippy::almost_swapped`
2023-02-27 13:52:17 -06:00