Skip to content

Commit

Permalink
Merge pull request #4155 from epage/command
Browse files Browse the repository at this point in the history
fix(help): Use Command in place of Subcommand
  • Loading branch information
epage committed Aug 31, 2022
2 parents c2f9ecd + 42c9438 commit 0a20466
Show file tree
Hide file tree
Showing 26 changed files with 110 additions and 108 deletions.
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

0 comments on commit 0a20466

Please sign in to comment.