mirror of
https://github.com/clap-rs/clap
synced 2025-01-22 01:14:59 +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 [derive
feature flag][crate::_features].
You can use --
to escape further arguments.
Let's see what this looks like in the help:
$ escaped-positional-derive --help
A simple to use, efficient, and full-featured Command Line Argument Parser
Usage: escaped-positional-derive[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-derive
-f used: false
-p's value: None
'slops' values: []
Notice that we can't pass positional arguments before --
:
$ escaped-positional-derive foo bar
? failed
error: Found argument 'foo' which wasn't expected, or isn't valid in this context
Usage: escaped-positional-derive[EXE] [OPTIONS] [-- <SLOP>...]
For more information try --help
But you can after:
$ escaped-positional-derive -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-derive -- -f -p=bob sloppy slop slop
-f used: false
-p's value: None
'slops' values: ["-f", "-p=bob", "sloppy", "slop", "slop"]