Reputation: 33076
Is there a way for us to have line breaks in clap's help message?
I tried multiple line comments, also tried inserting \n
in the mix. But neither works.
#[derive(Parser, Debug)]
#[clap(author, version, about)]
struct Args {
/// The input filename.\n
/// Hello world!
#[clap(short, long, value_parser)]
input: String,
}
Output:
USAGE:
ascii_tree --input <INPUT>
OPTIONS:
-h, --help Print help information
-i, --input <INPUT> The input filename.\n Hello world!
-V, --version Print version information
Is there away to achieve the following?
USAGE:
ascii_tree --input <INPUT>
OPTIONS:
-h, --help Print help information
-i, --input <INPUT> The input filename.
Hello world!
-V, --version Print version information
Upvotes: 14
Views: 3900
Reputation: 8544
I know of two options. Make the second line only contain ///
, or use verbatim_doc_comment
:
#[derive(Parser, Debug)]
struct Args {
/// Name of the person to greet
///
/// Has a multi-line help.
#[clap(short, long)]
name: String,
/// Number of times to greet
/// Use the verbatim arg
#[clap(short, long, verbatim_doc_comment)]
count: u8,
}
Upvotes: 24
Reputation: 22738
You can add the verbatim_doc_comment
option:
#[derive(Parser, Debug)]
#[clap(author, version, about)]
struct Args {
/// The input filename.
/// Hello world!
#[clap(short, long, value_parser, verbatim_doc_comment)]
input: String,
}
USAGE:
ascii_tree --input <INPUT>
OPTIONS:
-h, --help Print help information
-i, --input <INPUT> The input filename.
Hello world!
-V, --version Print version information
It seems without it, Rust only recognizes paragraph breaks via double-newline.
Upvotes: 9