clap/examples/multicall-busybox.md
Ed Page 83d6add9aa fix(help): Shift focus to subcommands, when present
In surveying various tools and CLI parsers, I noticed they list the
subcommands first.  This puts an emphasis on them which makes sense
because that is most likely what an end user is supposed to pass in
next.

Listing them last aligns with the usage order but it probably doesn't
outweigh the value of getting a user moving forward.
2022-08-26 10:59:40 -05:00

937 B

See the documentation for [Command::multicall][crate::Command::multicall] for rationale.

This example omits every command except true and false, which are the most trivial to implement,

$ busybox true
? 0

$ busybox false
? 1

Note: without the links setup, we can't demonstrate the multicall behavior

But includes the --install option as an example of why it can be useful for the main program to take arguments that aren't applet subcommands.

$ busybox --install
? failed
...

Though users must pass something:

$ busybox
? failed
busybox 

Usage:
    busybox [OPTIONS] [APPLET]

APPLETS:
    true     does nothing successfully
    false    does nothing unsuccessfully
    help     Print this message or the help of the given subcommand(s)

Options:
        --install <install>    Install hardlinks for all subcommands in path
    -h, --help                 Print help information