Commit graph

5322 commits

Author SHA1 Message Date
Ed Page
b171802265 docs: Ensure IntoApp is visible 2022-02-15 11:16:22 -06:00
Ed Page
94c7775a30 docs: Update changelogs 2022-02-15 10:49:00 -06:00
Ed Page
5cc913d4b1 docs(contrib): Set release expectations 2022-02-15 10:03:12 -06:00
Ed Page
976f3d500a
Merge pull request #3473 from epage/derive
fix: Change `IntoApp::into_app` to `CommandFactory::command`
2022-02-15 09:33:44 -06:00
Ed Page
51ba54d6fe
Merge pull request #3474 from epage/app_from_crate
fix: Update app_from_crate for App rename
2022-02-15 09:33:25 -06:00
Ed Page
360c4d6b8a docs: Update to new command! macro 2022-02-15 08:54:59 -06:00
Ed Page
65b9c88b3c fix: Update app_from_crate for App rename
Instead of just renaming it, I reconsidered what the API should look
like.  A custom separator for author does not make sense positionally
but accepting a name, and defaulting it, does fit with what someone
would expect.

I removed the `_from_crate` suffix because it doesn't seem necessary.
We don't have this kind of naming for the derive.  I feel it cleans
things up this way.
2022-02-15 08:39:07 -06:00
Ed Page
ddac492302 fix: Rename IntoApp to CommandFactory
This is part of the `App` rename.

Previously, I was concerned about not being able to deprecate

For backwards compatibility, we still expose the `IntoApp` name.
2022-02-15 08:24:00 -06:00
Ed Page
7aa45667f5
Merge pull request #3472 from epage/cmd
fix: Rename App to Command
2022-02-15 07:55:36 -06:00
Ed Page
88f5ad1139
Merge pull request #3471 from de-vri-es/unsupported-parser-ui-test
test: Add UI test for unsupported parsers.
2022-02-15 07:08:18 -06:00
Maarten de Vries
bd68653248 test: Add UI test for unsupported parsers 2022-02-15 12:00:25 +01:00
Ed Page
bbf4722720
Merge pull request #3470 from epage/pacman
fix(help): Improve pacman help output
2022-02-14 21:34:01 -06:00
Ed Page
3475555de6 fix(help): Use standard alternate syntax for subcommands 2022-02-14 21:18:33 -06:00
Ed Page
9a83ada940 fix(help): Separate subcommand flags 2022-02-14 16:20:33 -06:00
Ed Page
8c5e42e0fb fix(help): Show subcommand flags in same order as usage 2022-02-14 16:20:03 -06:00
Ed Page
c3fec1fa75 fix: Update derive->Command function name
No good solution for transitioning the trate name, unfortnately, since
we can't mark `use`s as deprecated (we can, it just does nothing).

I got rid of the `into` prefix because that implies a `self` parameter
that doesn't exist.
2022-02-14 16:04:10 -06:00
Ed Page
e8010e79a9 refactor: Update app variables to cmd 2022-02-14 15:55:56 -06:00
Ed Page
9a7e6a523d fix: Deprecate App 2022-02-14 15:34:27 -06:00
Ed Page
c4144d7d6c docs: Update App references to Command 2022-02-14 15:33:49 -06:00
Ed Page
524e164c31 fix: Rename App to Command 2022-02-14 15:32:07 -06:00
Ed Page
06b269a85a refactor: Rename Apps file 2022-02-14 15:29:26 -06:00
Ed Page
44d85344a9 refactor: Be consistent in mod visibility 2022-02-14 15:28:38 -06:00
Ed Page
182e5739c3
Merge pull request #3469 from gibfahn/fish_completion
fix(complete): escape fish possible values
2022-02-14 15:13:57 -06:00
Gibson Fahnestock
6f36ca3a25
fix(complete): escape fish possible values
Fixes: https://github.com/clap-rs/clap/issues/3467
2022-02-14 20:58:57 +00:00
Gibson Fahnestock
0fbabaa3fe
test(completion): add regression test for fish quoting issue 2022-02-14 20:55:06 +00:00
Ed Page
a627778809 refactor: Generalize test file name 2022-02-14 14:42:23 -06:00
Ed Page
86864b004b
Merge pull request #3468 from epage/pub2
refactor: Reduce visibility on App members
2022-02-14 14:37:17 -06:00
Ed Page
77542a1138 refactor: Reduce visibility on App members
The long term goals are
- Easier refactoring
- Identify needs for reflection API

Shorter term, if I want to rename `App` to `Command` and deprecate
`App`, it will mark all member access as deprecated.  This works around
that.

I gave up in exploring abstractions when it came to `MKeyMap` access.
This can be refined in the future.
2022-02-14 14:17:48 -06:00
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