Ed Page
276c75cc08
fix: Don't pollute root with str types
2022-08-23 13:12:06 -05:00
Ed Page
1bbf07e574
fix: Prefer more usable &str
for reflection
...
The downside is we can't skip allocations with
- `ValueEnum` default values
- Vaid subcommands
Otherwise, this is a big ergonomic win.
2022-08-22 14:56:16 -05:00
Ed Page
85f541d789
fix: Switch to owned types
...
Impact:
- Binary size: 556.6 KiB to 578.4 KiB
- build time: 6.4950 us (7% slower)
- parse time: 7.7256 us
- parse sc time: 8.1580 us (5% faster)
Fixes #1041
Fixes #2150
2022-08-22 14:55:55 -05:00
Ed Page
8cc164dafb
fix!: Remove lifetime from PossibleValue
...
Another step towards #1041
This isn't the long term type for `PossibleValue::help`, I just wanted
to get the lifetime out of the way first before figuring out how help
will work.
2022-08-19 12:44:29 -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
2de59195aa
fix!: Prefer IntoIterator
over &[]
...
The main breakinge change cases:
- `&[char]`: now requires removing `&`
- All other non-ID `&[_]`: hopefully #1041 will make these non-breaking
Fixes #2870
2022-08-15 13:26:17 -05:00
Ed Page
43e961d24f
style: Address clippy
2022-08-11 16:07:58 -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
Daniel Parks
1a2ae76738
fix(derive): Add "id" attribute
...
Previously the Arg id was set with the "name" attribute. This allows use
of an "id" attribute to match the underlying struct.
A side effect of this is that the "id" attribute may also be used on
Commands. This isn't desired, but given the current architecture of the
attribute parser, it's hard to avoid.
Fixes : #3785
2022-08-09 12:15:02 -07:00
Ed Page
ba15b5f430
fix!: Rename Arg::number_of_values to Arg::num_args
2022-08-03 14:45:47 -05:00
Ed Page
470531b515
fix!: Replace multiple_values
with number_of_values
...
This reduces ambiguity in how the different "multiple" parts of the API
interact and lowrs the amount of API surface area users have to dig
through to use clap.
For now, this is only a matter of cleaning up the public API. Cleaning
up the implementation is the next step.
2022-08-01 15:50:23 -05:00
Ed Page
8f6231010a
Merge pull request #4015 from epage/arg_enum
...
fix!: Remove rest of deprecated APIs
2022-08-01 15:34:41 -05:00
Ed Page
76bff6f34e
fix!: Remove rest of deprecated APIs
...
Fixes #4009
2022-08-01 15:21:33 -05:00
dependabot[bot]
44350b376e
chore(deps): bump proc-macro2 from 1.0.40 to 1.0.42
...
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2 ) from 1.0.40 to 1.0.42.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.40...1.0.42 )
---
updated-dependencies:
- dependency-name: proc-macro2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 07:04:51 +00:00
Ed Page
cf8e1fc319
fix(derive): Make Option<Option<T>>
work per occurrence
2022-07-28 16:52:30 -05:00
Ed Page
4f756c483f
fix(derive): Make consistent with arg!
...
This has the downside of a regression in `--help`. We expect to fix
that soon-ish.
2022-07-28 16:52:06 -05:00
Ed Page
5f20fe1930
docs: Shift focus from takes_value to actions
2022-07-26 14:50:51 -05:00
Ed Page
55f2bb6979
Merge pull request #3991 from epage/warn
...
chore: Fix warnings
2022-07-25 14:58:54 -05:00
Ed Page
095d7db33e
chore: Fix warnings
2022-07-25 14:35:23 -05:00
Ed Page
8ea1e2d4d3
fix!: Use value parsers for external subcommands
...
This changes the default type as well to encourage preserving the full
information for shelling out. If people need UTF-8, then they can
change the value parser.
Fixes #3733
2022-07-25 14:31:56 -05:00
Emerson Ford
04e0ed7474
feat(clap_derive): Add default_values_t
and default_values_os_t
2022-07-25 10:14:04 -07: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
6ecb7310a8
fix(derive)!: Remove value_parser/action defaulted attributes
2022-07-22 20:07:47 -05:00
Ed Page
8b064cfee9
fix(derive): Move off of SubcommandRequiredElseHelp
...
This also let us remove the deprecated attribute
Fixes #3280
2022-07-22 12:33:31 -05:00
Ed Page
50019cacdc
Merge pull request #3967 from epage/parse
...
fix(derive)!: Remove deprecated parse attribute
2022-07-22 12:27:43 -05:00
Ed Page
7068586246
fix(derive)!: Remove deprecated parse
attribute
2022-07-22 12:14:29 -05:00
Ed Page
0d459128d7
fix(error)!: Merge UnrecognizedSubcommand into InvalidSubcommand
...
Fixes #3676
2022-07-22 12:12:35 -05:00
Ed Page
7307f22c73
fix(derive): Remove error check for old raw attributes
2022-07-22 11:41:00 -05:00
Ed Page
01a3ea425f
fix!: Remove unstable-v4
feature gate
2022-07-22 11:34:06 -05:00
Ed Page
6428618bf2
fix(derive)!: Remove deprecated trait methods
2022-07-21 12:57:17 -05:00
Ed Page
b4a1362486
chore: Release
2022-06-28 08:04:18 -05:00
Ed Page
a05f4d34a3
Merge pull request #3870 from stepancheg/macro-refs
...
Put once_cell reexport into __macro_refs
2022-06-27 20:44:01 -05:00
Ed Page
5ba41d775c
docs(license): Update years/holders
...
Without copyright assignment, everyone owns their own copyright, so
tried to reflect that.
See #3875
2022-06-27 12:55:09 -05:00
Stiopa Koltsov
464ef3920b
refactor: Put once_cell reexport into __macro_refs
...
When upgrading our company projects from clap 3.1 to clap 3.2 I had
to fix several references to `clap::lazy_init`. People are not
supposed to do that, but that's hard to enforce.
Hope placing `once_cell` reexport into `__macro_refs` prevent at
least some of the such issues in the future.
2022-06-26 04:13:03 +01: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
Ed Page
a7698e9a1d
chore: Release
2022-06-15 11:50:16 -05:00
omjadas
b1be436eda
fix: Fix compile error caused by default_value_os_t
2022-06-15 13:46:40 +10:00
Ed Page
20358ff295
chore: Release
2022-06-14 15:01:42 -05:00
Ed Page
5881bd02ca
fix(derive): Provide derive-friendly deprecation messages
...
This is a step towards #3822 . I'd say this fixes it but I'd want some
user acceptance before doing so.
2022-06-14 14:29:29 -05:00
Ed Page
11fe3ce404
fix(derive): Allow opting in to the original deprecations
2022-06-14 14:26:34 -05:00
Ed Page
ae81b09359
refactor(derive): Split up chained calls
2022-06-14 12:37:21 -05:00
Ed Page
ce5cc92820
refactor(derive): Clarify the kinds of methods
2022-06-14 12:35:19 -05:00
Ed Page
89beb28e73
fix(derive): Reduce amount of deprecation noise
...
The main thing that might slip through is `bool`. We'll see if we an
re-introduce that.
2022-06-14 12:24:57 -05:00
Ed Page
63a17a40ad
chore: Release
2022-06-14 11:19:59 -05:00
Ed Page
cb42df61e4
refactor: Switch to once_cell
...
Though this is changing an API item we export, we do not consider this a
breaking change because
- This was an implementation detail of the macros and people shouldn't be using it directly
- The `macro_rules` macro is coupled to `clap` because they are in the
same crate
- The derive macro is coupled to `clap` because `clap` declares a
`=x.y.z` dependency on `clap_derive
Fixes #3828
2022-06-14 09:10:50 -05:00
Ed Page
7836beda05
chore: Release
2022-06-14 07:02:40 -05:00
Ed Page
0a529c14cc
fix(derive): Switch default actions/parsers for unstable-v4
2022-06-13 18:59:58 -05:00