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
|
2022-09-07 16:03:55 +00:00
|
|
|
Usage: cargo <COMMAND>
|
2021-12-15 17:33:10 +00:00
|
|
|
|
2022-08-31 02:38:37 +00:00
|
|
|
Commands:
|
2022-09-07 20:29:15 +00:00
|
|
|
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
|
|
|
|
2022-08-26 15:59:27 +00:00
|
|
|
Options:
|
2023-01-03 16:49:43 +00:00
|
|
|
-h, --help Print help
|
2022-08-26 15:59:27 +00:00
|
|
|
|
2021-12-15 17:33:10 +00:00
|
|
|
$ cargo-example example --help
|
|
|
|
A simple to use, efficient, and full-featured Command Line Argument Parser
|
|
|
|
|
2022-09-07 16:03:55 +00:00
|
|
|
Usage: cargo example [OPTIONS]
|
2021-12-15 17:33:10 +00:00
|
|
|
|
2022-08-26 14:40:23 +00:00
|
|
|
Options:
|
2022-09-07 20:29:15 +00:00
|
|
|
--manifest-path <PATH>
|
2023-01-03 16:49:43 +00:00
|
|
|
-h, --help Print help
|
|
|
|
-V, --version Print version
|
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
|
|
|
```
|