Commit graph

685 commits

Author SHA1 Message Date
Ed Page
fa02111092 chore: Switch to workspace inheritance 2023-01-09 12:35:54 -06:00
Ed Page
f25fe5b3e0 chore: Bump MSRV to 1.64.0 2023-01-09 12:29:41 -06:00
Ed Page
3e7ca92173 chore: Upgrade trycmd 2023-01-06 16:43:40 -06:00
renovate[bot]
acfc493a35
chore(deps): update compatible (dev) 2023-01-01 02:25:24 +00:00
Ed Page
ec4ccf005d chore: Release 2022-12-22 13:21:07 -06:00
Ed Page
0eccd556ac chore: Release 2022-12-22 12:40:15 -06:00
Ed Page
d2d022248b chore: Release 2022-12-20 20:40:55 -06:00
renovate[bot]
9b2b718df6
chore(deps): update dev 2022-12-01 21:38:13 +00:00
Ed Page
ad4726378b chore: Release 2022-11-29 06:45:28 -06:00
Ed Page
6e31743efa docs: Fix docs.rs builds
We were broken by rust-lang/cargo#10343.

See rust-lang/cargo#11425

Fixes #4519
2022-11-29 06:44:24 -06:00
Ed Page
c3c9099e72 chore: Release 2022-11-28 21:46:18 -06:00
pinkforest(she/her)
2ad0eff495
fix: wasm32 targets with is-terminal (#4518)
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)
2022-11-28 21:45:10 -06:00
Ed Page
3262016c26 chore: Release 2022-11-24 11:40:15 -06:00
Jan Christian Grünhage
aaac3c4930
chore: Replace atty with is-terminal 2022-11-24 15:33:43 +01:00
Ed Page
f8e9211e38 chore: Release 2022-11-16 10:27:26 -06:00
Ed Page
ba32ab87b2 chore: Release 2022-11-15 10:41:16 -06:00
Ed Page
010976c2ff chore: Release 2022-11-14 12:31:29 -06:00
Ed Page
95144b7590 chore: Release 2022-11-11 12:47:41 -06:00
nibon7
8e44f4f77c
chore: release 0.1.8 2022-11-11 22:06:06 +08:00
nibon7
d5bfa0cb67
chore: add sub_subcommands example and nu script to generate readme dynamically 2022-11-11 22:06:06 +08:00
nibon7
ede83f161b
chore: release 0.1.7 2022-11-11 22:06:05 +08:00
nibon7
26fe5dbe96
chore: release 0.1.6 2022-11-11 22:06:05 +08:00
nibon7
3c8cbfa111
chore: release 0.1.5 2022-11-11 22:06:05 +08:00
nibon7
c19fc425d0
chore: release 0.1.4 2022-11-11 22:06:05 +08:00
nibon7
8035519b62
chore: release 0.1.3 2022-11-11 22:06:05 +08:00
nibon7
78e98e2d7c
chore: release 0.1.2 2022-11-11 22:06:05 +08:00
nibon7
07dbefef3f
chore: release 0.1.1 2022-11-11 22:06:05 +08:00
nibon7
54a12e8178
chore: release 0.1.0 2022-11-11 21:35:21 +08:00
Ed Page
6cbe5c4323 chore: Release 2022-11-07 10:47:47 -06:00
Ed Page
bc457b179f chore: Release 2022-11-07 10:00:35 -06:00
Ed Page
b4b94af0f8 chore: Release 2022-11-07 06:24:02 -06:00
Ed Page
a24fb589eb chore: Update trycmd 2022-11-04 10:27:57 -05:00
Ed Page
7a8cf91aaa chore: Release 2022-11-04 09:49:50 -05:00
dependabot[bot]
7f0d9e306e
chore(deps): bump trybuild from 1.0.65 to 1.0.71
Bumps [trybuild](https://github.com/dtolnay/trybuild) from 1.0.65 to 1.0.71.
- [Release notes](https://github.com/dtolnay/trybuild/releases)
- [Commits](https://github.com/dtolnay/trybuild/compare/1.0.65...1.0.71)

---
updated-dependencies:
- dependency-name: trybuild
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-01 07:08:50 +00:00
Ed Page
7e2a1b5d94 chore: Release 2022-10-20 16:58:59 -05:00
Ed Page
b9dfbbf7e4 chore: Release 2022-10-18 07:42:32 -05:00
Ed Page
cbb05d54f8 chore: Release 2022-10-17 19:43:15 -05:00
Ed Page
bd5a6eab3b chore: Release 2022-10-13 14:13:21 -05:00
Ed Page
2926824d10 chore: Release 2022-10-12 08:22:25 -05:00
Ed Page
e5a7a65153 chore: Release 2022-10-11 10:43:39 -05:00
Ed Page
a2f2a9ade1 chore: Release 2022-10-10 11:30:55 -05:00
Ed Page
ec3fdc4a42 chore: Release 2022-10-08 19:58:26 -05:00
Ed Page
af1234a0c2 chore: Release 2022-10-05 16:51:33 -05:00
Ed Page
1d533bb31f chore: Release 2022-10-03 16:20:14 -05:00
Ed Page
8395360417 fix: Hide clap_derive
This was a bug that this wasn't done before and improves the `cargo add`
behavior.
2022-10-03 09:00:01 -05:00
Ed Page
f1fe5705be
Merge pull request #4318 from clap-rs/dependabot/cargo/trybuild-1.0.65
chore(deps): bump trybuild from 1.0.64 to 1.0.65
2022-10-01 21:10:34 -05:00
dependabot[bot]
f0d971562a
chore(deps): bump snapbox from 0.3.3 to 0.4.0
Bumps [snapbox](https://github.com/assert-rs/trycmd) from 0.3.3 to 0.4.0.
- [Release notes](https://github.com/assert-rs/trycmd/releases)
- [Changelog](https://github.com/assert-rs/trycmd/blob/main/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/trycmd/compare/snapbox-v0.3.3...snapbox-v0.4.0)

---
updated-dependencies:
- dependency-name: snapbox
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-01 18:58:27 +00:00
Ed Page
261fb792a4 chore: Release 2022-10-01 13:54:19 -05:00
dependabot[bot]
ba7f2ed857
chore(deps): bump trybuild from 1.0.64 to 1.0.65
Bumps [trybuild](https://github.com/dtolnay/trybuild) from 1.0.64 to 1.0.65.
- [Release notes](https://github.com/dtolnay/trybuild/releases)
- [Commits](https://github.com/dtolnay/trybuild/compare/1.0.64...1.0.65)

---
updated-dependencies:
- dependency-name: trybuild
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-01 07:03:29 +00:00
Ed Page
0bea4f252b chore: Release 2022-09-30 14:08:59 -05:00
Ed Page
470140f41e chore: Release 2022-09-30 09:31:51 -05:00
Ed Page
2912a6436f chore: Release 2022-09-30 08:16:12 -05:00
Ed Page
9f30493e5f chore: Release 2022-09-29 10:08:12 -05:00
Ed Page
337a9e089b chore: Release 2022-09-29 09:27:13 -05:00
Ed Page
4524127704 chore: Release 2022-09-28 17:02:08 -05:00
Ed Page
f6602c573c chore: Release 2022-09-28 14:51:22 -05:00
Ed Page
3a74d82376 chore: Release 2022-09-28 12:00:48 -05:00
Ed Page
01672f8359 chore: Release 2022-09-26 13:42:34 -05:00
Ed Page
3c9bca5ead fix(help)!: Wrapping is behind wrap_help
If users don't want `wrap_help` feature, they can put newlines in where
needed.  Seems odd to support wrapping when the wrap size is fixed.  For
those hard coding the lines, this will save them a decent amount of
size.
2022-09-26 11:45:44 -05:00
Ed Page
b44dbdf09d chore: Release 2022-09-21 11:35:10 -05:00
Ed Page
99dfe7404a docs(ref): Remove dead example
This was missed in the migration to the reference being on docs.rs.  Not
feeling its worth finding a way to integrate it into the new structure.
2022-09-21 11:02:08 -05:00
Ed Page
a82029c707 chore: Release 2022-09-20 16:30:29 -05:00
Ed Page
af64699912 chore: Release 2022-09-20 16:28:27 -05:00
Ed Page
bfa365a2cc feat(help): 'usage' feature flag for auto-genned usage 2022-09-19 13:15:47 -05:00
Ed Page
7a5dad89ff feat(help): Break out help feature flag
This removes auto-generated help, saving about 50 KiB.
2022-09-19 11:54:10 -05:00
Ed Page
2d83a7b12e feat(error): Break out error-context feature flag
This is a cheap pass at creating this to allow cutting out the cost of
rich error information / programmatic error information.

This cuts about 20 KiB off of the binary.

There is more we could cut out, like collecting of used arguments for
the usage, but I want to keep the conditionals simple.
2022-09-19 10:23:55 -05:00
Ed Page
c165b601ac perf: Switch to &'static str by default
Originally, clap carried a lifetime parameter.  When moving away from
that, we took the approach that dynamically generated strings are always
supported and `&'static str` was just an optimization.

The problem is the code size increase from this is dramatic.  So we're
taking the opposite approach and making dynamic formatting opt-in under
the `string` feature flag.  When deciding on an implementation, I
favored the faster one rather than the one with smaller code size since
small code size can be gotten through other means.

Before: 567.2 KiB, 15.975 µs
After: 541.1 KiB, 9.7855 µs
With `string`: 576.6 KiB, 13.016 µs
2022-09-16 16:44:39 -05:00
Ed Page
fe43f0c945 Revert "fix: Remove once_cell dependency from derive"
This reverts commit 429143af42.
2022-09-16 16:19:03 -05:00
Ed Page
10854cd262 Revert "refactor: Remove once_cell dependency"
This reverts commit c9d883a8c6.
2022-09-16 16:14:32 -05:00
Ed Page
6bd4fee69f chore: Update dependencies 2022-09-01 07:09:32 -05:00
Ed Page
37f2efb0bd perf: Vendor textwrap parts we need
The immediate benefit is binary size but this also makes us more
flexible on the implementation, like allowing wrapping of `StyledStr`.

This removed 12 KiB from `.text`

This helps towards #1365 and probably #2037
2022-08-25 09:50:54 -05:00
Ed Page
735d6fd1e3 refactor: Extract our own display width
This added about 4 KiB to `.text` which makes sense since we duplicated
logic.
2022-08-24 18:19:03 -05:00
Ed Page
c9d883a8c6 refactor: Remove once_cell dependency 2022-08-22 16:07:14 -05:00
Ed Page
fc499ac0ec perf: Let users choose Str implementation
The binary size and performance difference is enough to make it
configurable.

Code size:
- default: 565.7 KiB
- perf: 578.5 KiB

Build time:
- default: 9.1706 us
- perf: 7.0479 us

Parse time:
- default: 12.673 us
- perf: 8.1708 us

Parse with subcommand time:
- default: 12.112 us
- perf: 7.9874 us
2022-08-22 15:47:21 -05:00
Ed Page
429143af42 fix: Remove once_cell dependency from derive
With being able to accept owned types now, `clap_derive` no longer needs
`once_cell` to make dynamic data static.

This helps towards #1365, #2037
2022-08-16 15:03:35 -05:00
Ed Page
9c9cc9fcff docs(cookbook): Add position-sensitive example 2022-08-15 10:59:05 -05:00
Ed Page
6e7fd6d4bc refactor: Move off of IndexMap/HashMap
This dropped 17KB

Again, performance shouldn't be too bad as the total number of argument
id's passed in by the user shouldn't be huge, with the upper end being
5-15 except for in extreme cases like rustc accepting arguments from
cargo via a file.
2022-08-11 14:06:41 -05:00
Ed Page
1c06735390 chore: Update dependencies 2022-08-10 21:49:22 -05:00
Ed Page
3390adf0d3 chore: Bump MSRV to 1.60.0
While at it, this cleans up all of the features.  For some reason, I
couldn't do `dep:clap_derive` though.
2022-08-10 21:32:06 -05:00
Ed Page
22c82c7404 docs(tutorial): Further expand on actions 2022-08-09 16:33:02 -05:00
Ed Page
36777e7b6c docs(tutorial): Switch to hand-implemented ValueEnum 2022-08-09 10:23:23 -05:00
dependabot[bot]
0bf1627e05
chore(deps): bump terminal_size from 0.1.17 to 0.2.1
Bumps [terminal_size](https://github.com/eminence/terminal-size) from 0.1.17 to 0.2.1.
- [Release notes](https://github.com/eminence/terminal-size/releases)
- [Commits](https://github.com/eminence/terminal-size/compare/v0.1.17...v0.2.1)

---
updated-dependencies:
- dependency-name: terminal_size
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 07:04:43 +00:00
Ed Page
8aa7ab3e16 chore: Update version
The main goal is to reduce the risk of people developing on the wrong
release, assuming they are using something like starship to raise the
visibility of the crate version.
2022-07-23 21:43:37 -05:00
Ed Page
01a3ea425f fix!: Remove unstable-v4 feature gate 2022-07-22 11:34:06 -05:00
Ed Page
99d92c916c fix!: Remove yaml support 2022-07-21 12:46:47 -05:00
Ed Page
765af4198c fix!: Remove regex validation 2022-07-21 12:42:09 -05:00
Ed Page
d40e42a9ca chore: Release 2022-07-20 20:13:29 -05:00
Ed Page
e6b8b4b607 chore: Release 2022-07-19 14:41:47 -05:00
Ed Page
85ccf3e901 chore: Update release process 2022-07-19 14:41:42 -05:00
Ed Page
a8a7a61f56 chore: Release 2022-07-14 09:38:54 -05:00
Ed Page
2df0732df4 chore: Release 2022-07-13 09:08:35 -05:00
Ed Page
9b6321a1f0 chore: Release 2022-07-11 21:48:07 -05:00
Ed Page
074712a739 chore: Update release process 2022-07-11 21:47:35 -05:00
Ed Page
6614ffa6c8 chore: Release 2022-06-30 08:25:54 -05:00
Ed Page
b4a1362486 chore: Release 2022-06-28 08:04:18 -05:00
Ed Page
3c4e684c8b test: Verify auto-traits for core types
By checking these types, we'll get some other types for free, like
`Command` verifying `Arg`.

This was inspired by #3876
2022-06-27 20:50:29 -05:00
Ed Page
3823df9bbe chore: Release 2022-06-21 09:32:04 -05:00
Ed Page
ae78f88d48
Merge pull request #3852 from epage/msrv
chore: Bump MSRV from 1.56.0 to 1.56.1
2022-06-17 09:23:06 -05:00
Ed Page
82d70d82c4 chore: Bump MSRV from 1.56.0 to 1.56.1
Being a patch release, I'm fine doing this outside of a minor release.
This avoids us having to deal with indexmap having a higher MSRV.
2022-06-17 09:01:45 -05:00
Tshepang Mbambo
806f634bfa chore: trim Cargo manifest fields whose values are defaults
See...
- https://doc.rust-lang.org/cargo/reference/manifest.html?#the-documentation-field
- https://doc.rust-lang.org/cargo/reference/manifest.html?#the-readme-field
2022-06-17 15:49:04 +02:00