2021-12-15 17:33:10 +00:00
|
|
|
For more on creating a custom subcommand, see [the cargo
|
|
|
|
book](https://doc.rust-lang.org/cargo/reference/external-tools.html#custom-subcommands).
|
|
|
|
The crate [`clap-cargo`](https://github.com/crate-ci/clap-cargo) can help in
|
|
|
|
mimicking cargo's interface.
|
|
|
|
|
|
|
|
The help looks like:
|
2022-01-05 16:54:33 +00:00
|
|
|
```console
|
2021-12-15 17:33:10 +00:00
|
|
|
$ cargo-example --help
|
|
|
|
cargo
|
|
|
|
|
|
|
|
USAGE:
|
|
|
|
cargo <SUBCOMMAND>
|
|
|
|
|
|
|
|
OPTIONS:
|
|
|
|
-h, --help Print help information
|
|
|
|
|
|
|
|
SUBCOMMANDS:
|
|
|
|
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)
|
2022-01-05 16:54:33 +00:00
|
|
|
|
2021-12-15 17:33:10 +00:00
|
|
|
$ cargo-example example --help
|
|
|
|
cargo-example [..]
|
|
|
|
A simple to use, efficient, and full-featured Command Line Argument Parser
|
|
|
|
|
|
|
|
USAGE:
|
|
|
|
cargo example [OPTIONS]
|
|
|
|
|
|
|
|
OPTIONS:
|
|
|
|
--manifest-path <PATH>
|
2022-07-22 20:43:49 +00:00
|
|
|
-h, --help Print help information
|
2021-12-15 17:33:10 +00:00
|
|
|
-V, --version Print version information
|
2022-01-05 16:54:33 +00:00
|
|
|
|
2021-12-15 17:33:10 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
Then to directly invoke the command, run:
|
2022-01-05 16:54:33 +00:00
|
|
|
```console
|
2021-12-15 17:33:10 +00:00
|
|
|
$ cargo-example example
|
2022-05-25 15:46:42 +00:00
|
|
|
None
|
2022-01-05 16:54:33 +00:00
|
|
|
|
2021-12-15 17:33:10 +00:00
|
|
|
$ cargo-example example --manifest-path Cargo.toml
|
2022-05-25 15:46:42 +00:00
|
|
|
Some("Cargo.toml")
|
2022-01-05 16:54:33 +00:00
|
|
|
|
2021-12-15 17:33:10 +00:00
|
|
|
```
|