Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(help): Use Command in place of Subcommand #4155

Merged
merged 1 commit into from Aug 31, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Expand Up @@ -47,6 +47,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
- *(help)* Make `DeriveDisplayOrder` the default and removed the setting. To sort help, set `next_display_order(None)` (#2808)
- *(help)* Subcommand display order respects `Command::next_display_order` instead of `DeriveDisplayOrder` and using its own initial display order value (#2808)
- *(help)* Help headings are now title cased, making any user-provided help headings inconsistent. To get the old behavior, see `Command::help_template`, `Arg::help_heading`, and `Command::subcommand_help_heading`
- *(help)* "Command" is used as the section heading for subcommands and `COMMAND` for the value name. To get the old behavior, see `Command::subcommand_help_heading` and `Arg::subcommand_value_name`
- *(env)* Parse `--help` and `--version` like any `ArgAction::SetTrue` flag (#3776)
- *(derive)* Changed the default for arguments from `parse` to `value_parser`., removing `parse` support
- *(derive)* `subcommand_required(true).arg_required_else_help(true)` is set instead of `SubcommandRequiredElseHelp` (#3280)
Expand Down Expand Up @@ -96,6 +97,7 @@ Deprecated
- *(help)* Do not include global args in `cmd help help` (#4131)
- *(help)* Use `[positional]` in list when relevant (#4144)
- *(help)* Show all `[positional]` in usage
- *(help)* Polish up subcommands by referring to them as commands
- *(version)* Use `Command::display_name` rather than `Command::bin_name`
- *(parser)* Assert on unknown args when using external subcommands (#3703)
- *(parser)* Always fill in `""` argument for external subcommands (#3263)
Expand Down
4 changes: 2 additions & 2 deletions examples/cargo-example-derive.md
Expand Up @@ -9,9 +9,9 @@ $ cargo-example-derive --help
cargo

Usage:
cargo <SUBCOMMAND>
cargo <COMMAND>

Subcommands:
Commands:
example-derive A simple to use, efficient, and full-featured Command Line Argument Parser
help Print this message or the help of the given subcommand(s)

Expand Down
4 changes: 2 additions & 2 deletions examples/cargo-example.md
Expand Up @@ -9,9 +9,9 @@ $ cargo-example --help
cargo

Usage:
cargo <SUBCOMMAND>
cargo <COMMAND>

Subcommands:
Commands:
example A simple to use, efficient, and full-featured Command Line Argument Parser
help Print this message or the help of the given subcommand(s)

Expand Down
8 changes: 4 additions & 4 deletions examples/derive_ref/interop_tests.md
Expand Up @@ -90,7 +90,7 @@ $ interop_augment_subcommands unknown
error: Found argument 'unknown' which wasn't expected, or isn't valid in this context

Usage:
interop_augment_subcommands[EXE] [SUBCOMMAND]
interop_augment_subcommands[EXE] [COMMAND]

For more information try --help

Expand All @@ -104,9 +104,9 @@ $ interop_hand_subcommand
clap

Usage:
interop_hand_subcommand[EXE] [OPTIONS] <SUBCOMMAND>
interop_hand_subcommand[EXE] [OPTIONS] <COMMAND>

Subcommands:
Commands:
add
remove
help Print this message or the help of the given subcommand(s)
Expand Down Expand Up @@ -199,7 +199,7 @@ $ interop_hand_subcommand unknown
error: Found argument 'unknown' which wasn't expected, or isn't valid in this context

Usage:
interop_hand_subcommand[EXE] [OPTIONS] <SUBCOMMAND>
interop_hand_subcommand[EXE] [OPTIONS] <COMMAND>

For more information try --help

Expand Down
12 changes: 6 additions & 6 deletions examples/git-derive.md
Expand Up @@ -10,9 +10,9 @@ git
A fictional versioning CLI

Usage:
git-derive[EXE] <SUBCOMMAND>
git-derive[EXE] <COMMAND>

Subcommands:
Commands:
clone Clones repos
push pushes things
add adds things
Expand All @@ -27,9 +27,9 @@ git
A fictional versioning CLI

Usage:
git-derive[EXE] <SUBCOMMAND>
git-derive[EXE] <COMMAND>

Subcommands:
Commands:
clone Clones repos
push pushes things
add adds things
Expand Down Expand Up @@ -82,9 +82,9 @@ git-stash

Usage:
git-derive[EXE] stash [OPTIONS]
git-derive[EXE] stash <SUBCOMMAND>
git-derive[EXE] stash <COMMAND>

Subcommands:
Commands:
push
pop
apply
Expand Down
12 changes: 6 additions & 6 deletions examples/git.md
Expand Up @@ -8,9 +8,9 @@ git
A fictional versioning CLI

Usage:
git[EXE] <SUBCOMMAND>
git[EXE] <COMMAND>

Subcommands:
Commands:
clone Clones repos
push pushes things
add adds things
Expand All @@ -25,9 +25,9 @@ git
A fictional versioning CLI

Usage:
git[EXE] <SUBCOMMAND>
git[EXE] <COMMAND>

Subcommands:
Commands:
clone Clones repos
push pushes things
add adds things
Expand Down Expand Up @@ -80,9 +80,9 @@ git-stash

Usage:
git[EXE] stash [OPTIONS]
git[EXE] stash <SUBCOMMAND>
git[EXE] stash <COMMAND>

Subcommands:
Commands:
push
pop
apply
Expand Down
4 changes: 2 additions & 2 deletions examples/pacman.md
Expand Up @@ -40,9 +40,9 @@ Pacman Development Team
package manager utility

Usage:
pacman[EXE] <SUBCOMMAND>
pacman[EXE] <COMMAND>

Subcommands:
Commands:
query -Q --query Query the package database.
sync -S --sync Synchronize packages.
help Print this message or the help of the given subcommand(s)
Expand Down
4 changes: 2 additions & 2 deletions examples/tutorial_builder/01_quick.md
Expand Up @@ -4,9 +4,9 @@ clap [..]
A simple to use, efficient, and full-featured Command Line Argument Parser

Usage:
01_quick[EXE] [OPTIONS] [name] [SUBCOMMAND]
01_quick[EXE] [OPTIONS] [name] [COMMAND]

Subcommands:
Commands:
test does testing things
help Print this message or the help of the given subcommand(s)

Expand Down
8 changes: 4 additions & 4 deletions examples/tutorial_builder/03_04_subcommands.md
Expand Up @@ -4,9 +4,9 @@ clap [..]
A simple to use, efficient, and full-featured Command Line Argument Parser

Usage:
03_04_subcommands[EXE] <SUBCOMMAND>
03_04_subcommands[EXE] <COMMAND>

Subcommands:
Commands:
add Adds files to myapp
help Print this message or the help of the given subcommand(s)

Expand Down Expand Up @@ -41,9 +41,9 @@ clap [..]
A simple to use, efficient, and full-featured Command Line Argument Parser

Usage:
03_04_subcommands[EXE] <SUBCOMMAND>
03_04_subcommands[EXE] <COMMAND>

Subcommands:
Commands:
add Adds files to myapp
help Print this message or the help of the given subcommand(s)

Expand Down
4 changes: 2 additions & 2 deletions examples/tutorial_derive/01_quick.md
Expand Up @@ -4,9 +4,9 @@ clap [..]
A simple to use, efficient, and full-featured Command Line Argument Parser

Usage:
01_quick_derive[EXE] [OPTIONS] [NAME] [SUBCOMMAND]
01_quick_derive[EXE] [OPTIONS] [NAME] [COMMAND]

Subcommands:
Commands:
test does testing things
help Print this message or the help of the given subcommand(s)

Expand Down
8 changes: 4 additions & 4 deletions examples/tutorial_derive/03_04_subcommands.md
Expand Up @@ -4,9 +4,9 @@ clap [..]
A simple to use, efficient, and full-featured Command Line Argument Parser

Usage:
03_04_subcommands_derive[EXE] <SUBCOMMAND>
03_04_subcommands_derive[EXE] <COMMAND>

Subcommands:
Commands:
add Adds files to myapp
help Print this message or the help of the given subcommand(s)

Expand Down Expand Up @@ -41,9 +41,9 @@ clap [..]
A simple to use, efficient, and full-featured Command Line Argument Parser

Usage:
03_04_subcommands_derive[EXE] <SUBCOMMAND>
03_04_subcommands_derive[EXE] <COMMAND>

Subcommands:
Commands:
add Adds files to myapp
help Print this message or the help of the given subcommand(s)

Expand Down
20 changes: 10 additions & 10 deletions src/builder/command.rs
Expand Up @@ -2588,7 +2588,7 @@ impl Command {
/// Usage:
/// cust-ord [OPTIONS]
///
/// Subcommands:
/// Commands:
/// beta I should be first!
/// alpha Some help and text
///
Expand Down Expand Up @@ -3034,7 +3034,7 @@ impl Command {

/// Sets the value name used for subcommands when printing usage and help.
///
/// By default, this is "SUBCOMMAND".
/// By default, this is "COMMAND".
///
/// See also [`Command::subcommand_help_heading`]
///
Expand All @@ -3054,9 +3054,9 @@ impl Command {
/// myprog
///
/// Usage:
/// myprog [SUBCOMMAND]
/// myprog [COMMAND]
///
/// Subcommands:
/// Commands:
/// help Print this message or the help of the given subcommand(s)
/// sub1
///
Expand Down Expand Up @@ -3088,7 +3088,7 @@ impl Command {
/// -h, --help Print help information
/// -V, --version Print version information
///
/// Subcommands:
/// Commands:
/// help Print this message or the help of the given subcommand(s)
/// sub1
/// ```
Expand All @@ -3100,7 +3100,7 @@ impl Command {

/// Sets the help heading used for subcommands when printing usage and help.
///
/// By default, this is "Subcommands".
/// By default, this is "Commands".
///
/// See also [`Command::subcommand_value_name`]
///
Expand All @@ -3120,13 +3120,13 @@ impl Command {
/// myprog
///
/// Usage:
/// myprog [SUBCOMMAND]
/// myprog [COMMAND]
///
/// Options:
/// -h, --help Print help information
/// -V, --version Print version information
///
/// Subcommands:
/// Commands:
/// help Print this message or the help of the given subcommand(s)
/// sub1
/// ```
Expand All @@ -3148,7 +3148,7 @@ impl Command {
/// myprog
///
/// Usage:
/// myprog [SUBCOMMAND]
/// myprog [COMMAND]
///
/// Options:
/// -h, --help Print help information
Expand Down Expand Up @@ -4171,7 +4171,7 @@ impl Command {
Arg::new("subcommand")
.action(ArgAction::Append)
.num_args(..)
.value_name("SUBCOMMAND")
.value_name("COMMAND")
.help("The subcommand whose help message to display"),
)
};
Expand Down
2 changes: 1 addition & 1 deletion src/output/help.rs
Expand Up @@ -345,7 +345,7 @@ impl<'cmd, 'writer> Help<'cmd, 'writer> {
self.none("\n\n");
}
first = false;
let default_help_heading = Str::from("Subcommands");
let default_help_heading = Str::from("Commands");
self.header(
self.cmd
.get_subcommand_help_heading()
Expand Down
2 changes: 1 addition & 1 deletion src/output/usage.rs
Expand Up @@ -6,7 +6,7 @@ use crate::util::ChildGraph;
use crate::util::FlatSet;
use crate::util::Id;

static DEFAULT_SUB_VALUE_NAME: &str = "SUBCOMMAND";
static DEFAULT_SUB_VALUE_NAME: &str = "COMMAND";

pub(crate) struct Usage<'cmd> {
cmd: &'cmd Command,
Expand Down
2 changes: 1 addition & 1 deletion tests/builder/app_settings.rs
Expand Up @@ -7,7 +7,7 @@ use clap::{arg, error::ErrorKind, Arg, ArgAction, Command};
static ALLOW_EXT_SC: &str = "clap-test v1.4.8

Usage:
clap-test [SUBCOMMAND]
clap-test [COMMAND]

Options:
-h, --help Print help information
Expand Down
8 changes: 4 additions & 4 deletions tests/builder/derive_order.rs
Expand Up @@ -269,9 +269,9 @@ fn subcommand_sorted_display_order() {
static SUBCMD_ALPHA_ORDER: &str = "test 1

Usage:
test [SUBCOMMAND]
test [COMMAND]

Subcommands:
Commands:
a1 blah a1
b1 blah b1
help Print this message or the help of the given subcommand(s)
Expand Down Expand Up @@ -306,9 +306,9 @@ fn subcommand_derived_display_order() {
static SUBCMD_DECL_ORDER: &str = "test 1

Usage:
test [SUBCOMMAND]
test [COMMAND]

Subcommands:
Commands:
b1 blah b1
a1 blah a1
help Print this message or the help of the given subcommand(s)
Expand Down
4 changes: 2 additions & 2 deletions tests/builder/display_order.rs
Expand Up @@ -12,9 +12,9 @@ fn very_large_display_order() {
"test

Usage:
test [SUBCOMMAND]
test [COMMAND]

Subcommands:
Commands:
help Print this message or the help of the given subcommand(s)
sub

Expand Down