clap/examples/git-derive.md
Ed Page 65b5b5f7bf fix(help): Remove name/version/author from help
This is to help shorten it and polish it by removing redundant
information.

This is a part of #4132
2022-08-31 15:06:15 -05:00

128 lines
2.2 KiB
Markdown

**This requires enabling the [`derive` feature flag][crate::_features].**
Git is an example of several common subcommand patterns.
Help:
```console
$ git-derive
? failed
A fictional versioning CLI
Usage:
git-derive[EXE] <COMMAND>
Commands:
clone Clones repos
push pushes things
add adds things
stash
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help information
$ git-derive help
A fictional versioning CLI
Usage:
git-derive[EXE] <COMMAND>
Commands:
clone Clones repos
push pushes things
add adds things
stash
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help information
$ git-derive help add
adds things
Usage:
git-derive[EXE] add <PATH>...
Arguments:
<PATH>... Stuff to add
Options:
-h, --help Print help information
```
A basic argument:
```console
$ git-derive add
? failed
adds things
Usage:
git-derive[EXE] add <PATH>...
Arguments:
<PATH>... Stuff to add
Options:
-h, --help Print help information
$ git-derive add Cargo.toml Cargo.lock
Adding ["Cargo.toml", "Cargo.lock"]
```
Default subcommand:
```console
$ git-derive stash -h
Usage:
git-derive[EXE] stash [OPTIONS]
git-derive[EXE] stash <COMMAND>
Commands:
push
pop
apply
help Print this message or the help of the given subcommand(s)
Options:
-m, --message <MESSAGE>
-h, --help Print help information
$ git-derive stash push -h
Usage:
git-derive[EXE] stash push [OPTIONS]
Options:
-m, --message <MESSAGE>
-h, --help Print help information
$ git-derive stash pop -h
Usage:
git-derive[EXE] stash pop [STASH]
Arguments:
[STASH]
Options:
-h, --help Print help information
$ git-derive stash -m "Prototype"
Pushing StashPush { message: Some("Prototype") }
$ git-derive stash pop
Popping None
$ git-derive stash push -m "Prototype"
Pushing StashPush { message: Some("Prototype") }
$ git-derive stash pop
Popping None
```
External subcommands:
```console
$ git-derive custom-tool arg1 --foo bar
Calling out to "custom-tool" with ["arg1", "--foo", "bar"]
```