clap/examples/derive_ref/custom_bool.md
Ed Page 9e64387ef0 revert(help): Partial revert of 3c049b4
The extra whitespace was targeted at machine processing for a subset of
users for a subset of runs of CLIs.  On the other hand, there is a lot
of concern over the extra verbose output.

A user can set the help template for man, if desired.  They can even do
something (env? feature flag?) to make it only run when doing man
generation.  We also have #3174 in the works.

So let's focus on the end-user reading `--help`.  People wanting to use
`help2man` have workarounds to do what they need.

Fixes #3096
2021-12-15 10:36:59 -06:00

928 B

Jump to source

Example of overriding the magic bool behavior

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

USAGE:
    custom_bool[EXE] [OPTIONS] --foo <FOO> <BOOM>

ARGS:
    <BOOM>    

OPTIONS:
        --bar <BAR>    [default: false]
        --foo <FOO>    
    -h, --help         Print help information
    -V, --version      Print version information
$ custom_bool
? failed
error: The following required arguments were not provided:
    --foo <FOO>
    <BOOM>

USAGE:
    custom_bool[EXE] [OPTIONS] --foo <FOO> <BOOM>

For more information try --help
$ custom_bool --foo true false
[examples/derive_ref/custom_bool.rs:31] opt = Opt {
    foo: true,
    bar: false,
    boom: false,
}
$ custom_bool --foo true --bar true false
[examples/derive_ref/custom_bool.rs:31] opt = Opt {
    foo: true,
    bar: true,
    boom: false,
}