Commit graph

4367 commits

Author SHA1 Message Date
Ed Page
2ac2fc6005 docs(examples): Be explicit in multicall for what clap does
This better matches our other examples
2021-11-17 15:23:31 -06:00
Ed Page
3be8bcf756 docs(examples): Move unwrap comments to expect statements
This better models what users should be doing and makes it so all
comments are more clear.  In a prior commit, when a changed an `exit` to
`unwrap`, I disliked the fact that I was mixing an unwrap explanatory
comment in with another comment.  This makes them stand apart.
2021-11-17 15:23:31 -06:00
Ed Page
41d3b8f164 docs(examples): Remove unnecessary error check
Rather not confuse the point for users.
2021-11-17 15:23:31 -06:00
Ed Page
221c18bdec fix(error): Ensure value_of_t errors have trailing newline
Noticed this with `12_typed_values.rs`
2021-11-17 15:23:31 -06:00
Ed Page
7763a7c52a docs(examples): Focus subcommands on main call
The subcommand examples focus on the various ways of looking up
subcommands except for the main one people should be using.   This has
previously caused confusion, see https://github.com/clap-rs/clap/discussions/3000

To keep the examples focused, I only show `ArgMatches::subcommand`.  I
figure the examples are not exhaustive and that for the cases when
someone wants to do something more specialized, they can pull up the
API reference.
2021-11-17 15:23:31 -06:00
Ed Page
93948cc724 docs(examples): Work around non-commutative conflicts
The comments in these examples say that a `conflicts_with` should
override `required`.  This seems to be true one way but not the other,
causing these examples to error out at runtime.
2021-11-17 15:23:31 -06:00
Ed Page
4eba65bfaf docs(examples): Don't use is_present with subcommands
Apparently, this isn't supported anymore.
2021-11-17 15:23:31 -06:00
Ed Page
1f0d86a407 docs(examples): Highlight possible-values in help
Instead of showing the user how to do things manually, let's make the
contrast in `--help` more obvious by not manually listing the possible
values.
2021-11-17 15:23:31 -06:00
Ed Page
6fc9c7cff4 docs(examples): Be consistent in define and read order
This threw me off because the arguments are so similar, I kept relying
on the order but they were swapped.
2021-11-17 15:23:31 -06:00
Ed Page
cdc5026410 docs(examples): Use correct arg keys 2021-11-17 15:23:31 -06:00
Ed Page
7c24e937f8 docs(examples): Provide visual indication of user choice 2021-11-17 15:23:31 -06:00
Ed Page
74d41b6f52 docs(examples): Don't crash when subcommand isn't provided 2021-11-17 15:23:31 -06:00
Ed Page
0a4a2dd36b docs(examples): Provide app_from_crate! example
This consolidates two `crate_*!` macro examples into a `app_from_crate`
example.

- This is more of what we expect users to use
- We've talked about splitting the `crate_*` macros out into their own
  crate.  This shifts the focus to what clap would be providing long
  term
2021-11-17 15:23:31 -06:00
Ed Page
535d663dfc docs(examples): Align quick_examples
`01b` doesn't require `output`, so updating `01a` to match
2021-11-17 15:23:31 -06:00
Ed Page
2df043655f docs(examples): Remove reference to non-existent example 2021-11-17 15:23:31 -06:00
Ed Page
11537b24a5
Merge pull request #7 from epage/revert
revert: Default value behaviour with conflicts and requirement validation
2021-11-17 15:56:27 -06:00
Ed Page
ede8af1da9
Merge pull request #5 from epage/dependabot/cargo/os_str_bytes-5.0
chore(deps): Update os_str_bytes requirement from 4.1 to 5.0
2021-11-17 15:46:13 -06:00
Ed Page
9753f68a76 revert: Default value behaviour with conflicts and requirement validation
This feature is too immature at this stage in the release.   See
clap-rs/clap Issue 3020 when bringing this feature back.

This reverts commit 301c6f765a.
This reverts commit 43a4c90c86.
This reverts commit 4e29777b21.
This reverts commit 69957c4ddd.
This reverts commit bdb1d324a5.
This reverts commit b102da0cd2.
This reverts commit 72429be14e.
This reverts commit 0b7def675b.
This reverts commit b86aa631be.
This reverts commit 6b458c602d.
2021-11-17 15:45:50 -06:00
Ed Page
6f70f65a24
Merge pull request #3 from epage/change
docs: Parent SubcommandPrecedenceOverArg under AppSettings
2021-11-17 15:45:33 -06:00
Ed Page
42f13977c3
Merge pull request #6 from epage/generic
feat(derive): Generic support
2021-11-17 15:45:19 -06:00
Ed Page
fa0b5477b7
Merge pull request #4 from epage/dependabot/cargo/pretty_assertions-1.0
chore(deps): Update pretty_assertions requirement from 0.7 to 1.0
2021-11-17 15:45:04 -06:00
dependabot[bot]
7737ce6946
chore(deps): Update os_str_bytes requirement from 4.1 to 5.0
Updates the requirements on [os_str_bytes](https://github.com/dylni/os_str_bytes) to permit the latest version.
- [Release notes](https://github.com/dylni/os_str_bytes/releases)
- [Commits](https://github.com/dylni/os_str_bytes/compare/4.1.0...5.0.0)

---
updated-dependencies:
- dependency-name: os_str_bytes
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-17 21:34:23 +00:00
dependabot[bot]
33240fcff3
chore(deps): Update pretty_assertions requirement from 0.7 to 1.0
Updates the requirements on [pretty_assertions](https://github.com/colin-kiegel/rust-pretty-assertions) to permit the latest version.
- [Release notes](https://github.com/colin-kiegel/rust-pretty-assertions/releases)
- [Changelog](https://github.com/colin-kiegel/rust-pretty-assertions/blob/main/CHANGELOG.md)
- [Commits](https://github.com/colin-kiegel/rust-pretty-assertions/compare/v0.7.0...v1.0.0)

---
updated-dependencies:
- dependency-name: pretty_assertions
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-17 21:34:15 +00:00
kuviman
aa6594b334 feat(derive): Generic support
This is a port of clap-rs/clap#3023
2021-11-17 15:33:59 -06:00
Ed Page
58b0fe537e
Merge pull request #2 from epage/boiler
chore: Align on boilerplate
2021-11-17 15:32:41 -06:00
Ed Page
4e546dd2a1 chore: Align on boilerplate 2021-11-17 15:24:50 -06:00
Ed Page
dd974168fd docs: Fix typos 2021-11-17 15:21:58 -06:00
Ed Page
60aac4760a
Merge pull request #1 from epage/ci
Speed up CI
2021-11-17 15:10:35 -06:00
Ed Page
b06f69b08d chore(ci): Reduce scope 2021-11-17 15:01:16 -06:00
Ed Page
2113b044e7 chore: Remove dead files 2021-11-17 14:58:56 -06:00
Ed Page
3c937dc76a fix: Allow tests without cargo feature 2021-11-17 14:27:26 -06:00
Ed Page
4479282b11 style: Address warnings 2021-11-17 14:23:32 -06:00
Ed Page
89e1c7206b chore: Remove dead code 2021-11-17 13:56:36 -06:00
Ed Page
0168dd7350 chore: Remove site 2021-11-17 13:49:59 -06:00
Ed Page
26cefe2ce3 chore(ci): Update for branch renames
And for not running bors
2021-11-17 13:49:29 -06:00
Ed Page
23b988e064 docs: Parent SubcommandPrecedenceOverArg under AppSettings
We have it marked as an `ArgSettings` when it is an `AppSettings`.
2021-11-15 10:27:30 -06:00
bors[bot]
5e913473d7
Merge #3025
3025: docs: Remove references to `just` (removed by #2923) r=epage a=mkayaalp



Co-authored-by: mkayaalp <mk@mkayaalp.net>
2021-11-15 14:52:00 +00:00
mkayaalp
e27ba8c47d docs: Remove references to just (removed by #2923) 2021-11-14 21:46:31 -05:00
bors[bot]
ca3e14ca2d
Merge #3014
3014: fix(app): Propogate color  r=pksunkara a=epage



Co-authored-by: Ed Page <eopage@gmail.com>
2021-11-13 10:43:42 +00:00
bors[bot]
4b70a6e8ff
Merge #3018
3018: fix(derive): Don't emit warnings r=pksunkara a=epage



Co-authored-by: Ed Page <eopage@gmail.com>
2021-11-12 21:29:44 +00:00
Ed Page
9167fdebf3 fix(derive): Don't emit warnings
Looks like this is coming from `update_from_arg_matches` where we do a
ladder of `if __clap_arg_matches.is_present(...)` that clippy wants to
be `else if`s.  While for human edited code, that does clarify intent,
for machine generated code that is rarely read, its a pain to do, so
silencing it.

Unfortunately, it isn't in a group we can overall silence.

Fixes #3017
2021-11-12 12:52:18 -06:00
bors[bot]
98c1a75949
Merge #3016
3016: Revert "Automatically read license field from Cargo.toml" r=pksunkara a=epage



Co-authored-by: Ed Page <eopage@gmail.com>
2021-11-12 16:16:35 +00:00
Ed Page
7a59dc3da4 Revert "Automatically read license field from Cargo.toml"
This reverts commit 6898fbde33.

PR #2144 added the `license` field but no consumer has been added since
the (like Issue #1768).  Since this is not ready yet, I am pulling it
from the 3.0 release.

So far, our main route for pulling a feature from the release has
been to put it behind a `unstable-*` feature flag and to create a
stablization tracking issue.  I chose to instead remove the feature
because a write-only field with no effect does not provide values for
people to use in as an early access and so doesn't outweight the cost of
the extra documentation noise and code noise it creates.  Additionally,
keeping an `unstable-` feature around when it has such an unknown path
(and time table) to stalbization feels like it violates YAGNI.  I'm
uncertain how much of this feature we can implement and not create a
legal trap for users because the crate's license is insufficient for the
final artifact's license.  I feel our stabliazation process sshould be
about iteration and collecting user feedback which this doesn't line up
with.

When someone is ready to tackle #1768, it will be easy to revert this
commit and pick up the work again.

Fixes #3001
2021-11-12 09:55:37 -06:00
bors[bot]
3092751f6d
Merge #2985
2985: Follow up to #2950 r=epage a=pksunkara



Co-authored-by: Pavan Kumar Sunkara <pavan.sss1991@gmail.com>
2021-11-11 22:50:35 +00:00
Pavan Kumar Sunkara
301c6f765a Added and used ArgPredicate api 2021-11-11 22:33:30 +00:00
Pavan Kumar Sunkara
43a4c90c86 Remove is_default_value in favor of contains_explicit_value 2021-11-11 22:07:29 +00:00
Pavan Kumar Sunkara
4e29777b21 Added contains_explicit_val function instead of contains_val 2021-11-11 22:07:29 +00:00
Pavan Kumar Sunkara
69957c4ddd Revert "Revert "Fixes arg having required_unless on default values""
This reverts commit 6e85fb3ae0.
2021-11-11 21:33:50 +00:00
Pavan Kumar Sunkara
bdb1d324a5 Revert "Revert "Fixes arg having required_if on default values""
This reverts commit 8818327b25.
2021-11-11 21:33:50 +00:00
Pavan Kumar Sunkara
b102da0cd2 Revert "Revert "Fixes arg and group with default value having requires""
This reverts commit bd8c36cf04.
2021-11-11 21:33:50 +00:00