mirror of
https://github.com/clap-rs/clap
synced 2024-12-14 06:42:33 +00:00
c90a4eabae
In looking at other help output, I noticed that they use two spaces, in place of clap's 4, and it doesn't suffer from legibility. If it doesn't make the output worse, let's go ahead and make it as dense so we fit more content on the screen. This is a part of #4132
1.3 KiB
1.3 KiB
This requires enabling the [cargo
feature flag][crate::_features].
You can use --
to escape further arguments.
Let's see what this looks like in the help:
$ escaped-positional --help
A simple to use, efficient, and full-featured Command Line Argument Parser
Usage: escaped-positional[EXE] [OPTIONS] [-- <SLOP>...]
Arguments:
[SLOP]...
Options:
-f
-p <PEAR>
-h, --help Print help information
-V, --version Print version information
Here is a baseline without any arguments:
$ escaped-positional
-f used: false
-p's value: None
'slops' values: []
Notice that we can't pass positional arguments before --
:
$ escaped-positional foo bar
? failed
error: Found argument 'foo' which wasn't expected, or isn't valid in this context
Usage: escaped-positional[EXE] [OPTIONS] [-- <SLOP>...]
For more information try --help
But you can after:
$ escaped-positional -f -p=bob -- sloppy slop slop
-f used: true
-p's value: Some("bob")
'slops' values: ["sloppy", "slop", "slop"]
As mentioned, the parser will directly pass everything through:
$ escaped-positional -- -f -p=bob sloppy slop slop
-f used: false
-p's value: None
'slops' values: ["-f", "-p=bob", "sloppy", "slop", "slop"]