Ed Page
e759001d93
Merge pull request #3466 from epage/usage
...
refactor: Centralize build logic
2022-02-14 13:22:52 -06:00
Ed Page
58000253d7
refactor: Clarify role of usage name
2022-02-14 12:52:37 -06:00
Ed Page
235cbb615e
refactor: Centralize build logic
2022-02-14 12:52:37 -06:00
Ed Page
3f32030f7f
refactor: Delay collecting required
...
The main goal is to allow centralizing some building logic currently
split between the parser and `App`. It depends on this logic.
As a side benefit, this allowed us to decouple some operations from `Parser` in `App`.
The main impact I can see is that we'll calculate the required once for
parsing a subcommand and once for validation.
2022-02-14 12:52:37 -06:00
Ed Page
b994789ee6
refactor: Prepare for deferring graph creation
2022-02-14 12:52:37 -06:00
Ed Page
54c2f0df05
refactor: Open door for multiple writes
2022-02-14 12:52:37 -06:00
Ed Page
6886109fa6
refactor: Make use refactor friendly
2022-02-14 12:52:37 -06:00
Ed Page
bf771a266c
Merge pull request #3465 from epage/pacman
...
docs(examples): Show pacman-style help
2022-02-14 12:40:07 -06:00
Ed Page
adb2b03890
docs(examples): Show pacman-style help
...
Looking at how `App::usage` member is used, and didn't realize we had
this special logic.
2022-02-14 12:22:01 -06:00
Ed Page
9b3eaf5ade
Merge pull request #3461 from clap-rs/unstable-doc
...
Remove unnecessary unstable-doc usage
2022-02-14 07:43:54 -06:00
Pavan Kumar Sunkara
24b86d18d0
test: Remove unnecessary feature usage in tests
2022-02-13 19:00:29 +00:00
Ed Page
a5a56d5865
Merge pull request #3458 from epage/old
...
docs: Hide items deprecated in 3.0.0
2022-02-11 21:24:27 -06:00
Ed Page
6c7126b156
docs: Hide items deprecated in 3.0.0
...
We left them in the docs for a period of time to help people find docs
for code that was still in use. Balancing that with the need for clean
docs, it seems like 3.1 is an appropriate time to mark them hidden in
the docs.
2022-02-11 18:42:28 -06:00
Ed Page
9f7d2dc041
Merge pull request #3457 from epage/docs
...
docs: Update stale references to AppSettings
2022-02-11 16:11:18 -06:00
Ed Page
1e4ec5f4f0
fix: Deprecation warnings
2022-02-11 15:59:03 -06:00
Ed Page
97e36451cf
docs: Update stale references to AppSettings
2022-02-11 15:58:12 -06:00
Ed Page
a7bd21ea76
Merge pull request #3456 from epage/alt
...
fix: ArgRequiredElseHep is viable alt to SubcommandRequiredElseHelp
2022-02-11 15:45:32 -06:00
Ed Page
4895a32e81
fix: Deprecate SubcommandRequiredElseHelp
...
Now that we can use `SubcommandRequired |
ArgRequiredElseHelp`, this setting offers little value but requires we
track required subcommands with two different settings. Deprecating as
the cost is not worth the benefit anymore.
Issue #3280 will see the derive updated
2022-02-11 15:31:25 -06:00
Ed Page
8f201d8dd6
docs: Stop demonstrating SubcommandRequiredElseHelp
2022-02-11 15:01:02 -06:00
Ed Page
e8e469178c
fix(validate): Give precedence to ArgRequiredElseHelp
2022-02-11 14:59:52 -06:00
Ed Page
c0fd6753ea
refactor(validate): Clarify subcmd check intent
2022-02-11 14:55:57 -06:00
Ed Page
8e5ce6c044
refactor(validate): Drop us to one req check
2022-02-11 14:36:42 -06:00
Ed Page
f9bb3de750
Merge pull request #3453 from epage/name
...
fix: Clarify Arg/ArgGroup id's role
2022-02-11 14:28:40 -06:00
Ed Page
9824f8d0ba
perf(validate): Remove unnecesarry walking of args
2022-02-11 14:27:18 -06:00
Ed Page
d3f5d7ce34
fix: Clarify Arg/ArgGroup id's role
...
This adjusts names. Adjusting the derive naming (and re-naming) is left
to #2475 .
Fixes #3335
2022-02-11 14:11:50 -06:00
Ed Page
cb06496a0d
Merge pull request #3452 from epage/lit
...
refactor(derive): Remove redundant code paths
2022-02-11 13:33:01 -06:00
Ed Page
85908ce039
refactor(derive): Remove redundant code paths
...
I'm assuming this is from when structopt always set author, version, and
about and you had to apply other attributes to remove them.
2022-02-11 13:19:14 -06:00
Ed Page
416ac7155a
Merge pull request #3451 from epage/help
...
fix(help): Subcommand `help` looks like `--help`
2022-02-11 13:10:52 -06:00
Ed Page
f7b5cdc108
Merge pull request #3449 from epage/app
...
fix: Deprecate most AppSettings
2022-02-11 12:51:04 -06:00
Ed Page
06d43a02da
fix(help): Subcommand help
looks like --help
...
Like was said in #2435 , this is what people would expect.
While we should note this in a compatibility section in the changelog, I
do not consider this a breaking change since we should be free to adjust
the help output as needed. We are cautious when people might build up
their own content around it (like #3312 ) but apps should already handle
this with `--help` so this shouldn't be a major change.
We aren't offering a way for people to disable this, assuming people
won't need to. Longer term, we are looking at support "Actions" (#3405 )
and expect those to help customize the flags. We'll need something
similar for the `help` subcommand.
Fixes #3440
2022-02-11 12:47:34 -06:00
Ed Page
272f840178
feat: Replace core set of AppSettings with functions
...
This is a part of #2717
Some settings didn't get getters because
- They are transient parse settings (e.g. ignore errors)
- They get propagated to args and should be checked there
`is_allow_hyphen_values_set` is a curious case. In some cases, we only
check the app and not an arg. This seems suspicious.
2022-02-11 12:35:09 -06:00
Ed Page
de7c81e059
fix(error): Deprecate WaitOnError
...
Fixes #3439
2022-02-11 09:00:10 -06:00
Ed Page
547665d52a
fix(color): Allow overriding previous settings
2022-02-11 09:00:10 -06:00
Ed Page
bdb034b1b5
docs: Clarify app-wide vs command-specific settings
2022-02-11 09:00:10 -06:00
Ed Page
b076f81207
Merge pull request #3448 from epage/examples
...
docs(examples): Add missing feature flag reqs
2022-02-11 07:41:06 -06:00
Ed Page
f00f97c8c4
docs(examples): Add missing feature flag reqs
2022-02-11 07:07:03 -06:00
Ed Page
5f71ca0a3c
Merge pull request #3444 from epage/deprecated
...
fix: Deprecate various APIs
2022-02-10 19:52:42 -06:00
Ed Page
9bd7060089
fix: Deprecate various APIs
...
- ArgSettings are part of #2717
- Errors are part of #2628
- `help_heading` is part of #1807 and #1553
- Some misc parts are for API consistency
2022-02-10 19:37:47 -06:00
Ed Page
48686804c7
docs(man): Fix links
2022-02-10 13:54:29 -06:00
Ed Page
c422ed24df
Merge pull request #3438 from epage/flatten
...
refactor: Flatten directory heirarcy
2022-02-10 11:47:10 -06:00
Ed Page
60a8747603
refactor: Flatten directory heirarchy
2022-02-10 11:17:08 -06:00
Ed Page
fb9e4e7c25
refactor: Centraize all debug asserts
2022-02-10 11:10:34 -06:00
Ed Page
b7842c2e11
refactor: Flatten directory heirarchy
2022-02-10 11:07:57 -06:00
Ed Page
727c453322
Merge pull request #3434 from epage/setting
...
feat: Add `Arg` getters for all settings
2022-02-10 10:37:59 -06:00
Ed Page
47d76742eb
feat: Add Arg
getters for all settings
...
This is prep for #2717
2022-02-10 10:18:41 -06:00
Ed Page
3b4c44eccc
Merge pull request #3430 from AlyoshaVasilieva/validator-doc
...
Doc that `validator` takes &str, not String
2022-02-10 06:06:10 -06:00
Ed Page
a422455258
Merge pull request #3431 from AlyoshaVasilieva/concom
...
docs: fix Conventional Commits link
2022-02-10 06:05:48 -06:00
Malloc Voidstar
6a384a09a2
docs: Fix Conventional Commits link
2022-02-09 21:35:17 -08:00
Malloc Voidstar
bd49665bd5
docs: validator
takes &str, not String
...
Explicit link removed as it doesn't appear to be necessary
2022-02-09 21:03:19 -08:00
Ed Page
519fcc2e11
Merge pull request #3429 from epage/global
...
fix: Detect deeply recursed global args
2022-02-09 16:23:51 -06:00