clap/examples/tutorial_builder/03_04_subcommands.md
Ed Page 9b23a09f7a fix(help): Don't rely on ALL CAPS for headers
I see them fulfilling two roles
- A form of bolding
- As a callback to their placeholder in usage

However, it is a bit of an unpolished look and no other CLI seems to do
it.  This looks a bit more proefessional.  We have colored help for
formatting and I think the sections relation to usage will be clear
enough.
2022-08-26 10:21:18 -05:00

1.3 KiB

$ 03_04_subcommands help
clap [..]
A simple to use, efficient, and full-featured Command Line Argument Parser

Usage:
    03_04_subcommands[EXE] <SUBCOMMAND>

Options:
    -h, --help       Print help information
    -V, --version    Print version information

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

$ 03_04_subcommands help add
clap-add [..]
Adds files to myapp

Usage:
    03_04_subcommands[EXE] add [NAME]

Arguments:
    <NAME>    

Options:
    -h, --help       Print help information
    -V, --version    Print version information

$ 03_04_subcommands add bob
'myapp add' was used, name is: Some("bob")

Because we set [Command::arg_required_else_help][crate::Command::arg_required_else_help]:

$ 03_04_subcommands
? failed
clap [..]
A simple to use, efficient, and full-featured Command Line Argument Parser

Usage:
    03_04_subcommands[EXE] <SUBCOMMAND>

Options:
    -h, --help       Print help information
    -V, --version    Print version information

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

Because we set [Command::propagate_version][crate::Command::propagate_version]:

$ 03_04_subcommands --version
clap [..]

$ 03_04_subcommands add --version
clap-add [..]