From 7e3fbde982b0c45228bafdef19d2f305226da71e Mon Sep 17 00:00:00 2001 From: Daniel Rivas Date: Sun, 30 Oct 2022 17:34:33 +0000 Subject: [PATCH] Add ellipsis to repeatable args --- clap_mangen/src/render.rs | 11 +++++++---- clap_mangen/tests/snapshots/feature_sample.bash.roff | 2 +- .../tests/snapshots/special_commands.bash.roff | 2 +- clap_mangen/tests/snapshots/sub_subcommands.bash.roff | 2 +- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/clap_mangen/src/render.rs b/clap_mangen/src/render.rs index 2f3ed1038743..59003e15fde3 100644 --- a/clap_mangen/src/render.rs +++ b/clap_mangen/src/render.rs @@ -1,3 +1,4 @@ +use clap::ArgAction; use roff::{bold, italic, roman, Inline, Roff}; pub(crate) fn subcommand_heading(cmd: &clap::Command) -> &str { @@ -39,22 +40,24 @@ pub(crate) fn synopsis(roff: &mut Roff, cmd: &clap::Command) { line.push(roman("|")); line.push(bold(&format!("--{}", long))); line.push(roman(rhs)); - line.push(roman(" ")); } (Some(short), None) => { line.push(roman(lhs)); line.push(bold(&format!("-{} ", short))); line.push(roman(rhs)); - line.push(roman(" ")); } (None, Some(long)) => { line.push(roman(lhs)); line.push(bold(&format!("--{}", long))); line.push(roman(rhs)); - line.push(roman(" ")); } - (None, None) => (), + (None, None) => continue, }; + + if matches!(opt.get_action(), ArgAction::Count) { + line.push(roman("...")) + } + line.push(roman(" ")); } for arg in cmd.get_positionals() { diff --git a/clap_mangen/tests/snapshots/feature_sample.bash.roff b/clap_mangen/tests/snapshots/feature_sample.bash.roff index 49be822c6422..f3cc3bf61259 100644 --- a/clap_mangen/tests/snapshots/feature_sample.bash.roff +++ b/clap_mangen/tests/snapshots/feature_sample.bash.roff @@ -4,7 +4,7 @@ .SH NAME my/-app /- Tests completions .SH SYNOPSIS -/fBmy/-app/fR [/fB/-c/fR|/fB/-/-config/fR] [/fB/-h/fR|/fB/-/-help/fR] [/fB/-V/fR|/fB/-/-version/fR] [/fIfile/fR] [/fIchoice/fR] [/fIsubcommands/fR] +/fBmy/-app/fR [/fB/-c/fR|/fB/-/-config/fR]... [/fB/-h/fR|/fB/-/-help/fR] [/fB/-V/fR|/fB/-/-version/fR] [/fIfile/fR] [/fIchoice/fR] [/fIsubcommands/fR] .SH DESCRIPTION Tests completions .SH OPTIONS diff --git a/clap_mangen/tests/snapshots/special_commands.bash.roff b/clap_mangen/tests/snapshots/special_commands.bash.roff index 2e1dd167b069..db7b607a49d4 100644 --- a/clap_mangen/tests/snapshots/special_commands.bash.roff +++ b/clap_mangen/tests/snapshots/special_commands.bash.roff @@ -4,7 +4,7 @@ .SH NAME my/-app /- Tests completions .SH SYNOPSIS -/fBmy/-app/fR [/fB/-c/fR|/fB/-/-config/fR] [/fB/-h/fR|/fB/-/-help/fR] [/fB/-V/fR|/fB/-/-version/fR] [/fIfile/fR] [/fIchoice/fR] [/fIsubcommands/fR] +/fBmy/-app/fR [/fB/-c/fR|/fB/-/-config/fR]... [/fB/-h/fR|/fB/-/-help/fR] [/fB/-V/fR|/fB/-/-version/fR] [/fIfile/fR] [/fIchoice/fR] [/fIsubcommands/fR] .SH DESCRIPTION Tests completions .SH OPTIONS diff --git a/clap_mangen/tests/snapshots/sub_subcommands.bash.roff b/clap_mangen/tests/snapshots/sub_subcommands.bash.roff index 0f76f72d0649..9f034036a2cb 100644 --- a/clap_mangen/tests/snapshots/sub_subcommands.bash.roff +++ b/clap_mangen/tests/snapshots/sub_subcommands.bash.roff @@ -4,7 +4,7 @@ .SH NAME my/-app /- Tests completions .SH SYNOPSIS -/fBmy/-app/fR [/fB/-c/fR|/fB/-/-config/fR] [/fB/-h/fR|/fB/-/-help/fR] [/fB/-V/fR|/fB/-/-version/fR] [/fIfile/fR] [/fIchoice/fR] [/fIsubcommands/fR] +/fBmy/-app/fR [/fB/-c/fR|/fB/-/-config/fR]... [/fB/-h/fR|/fB/-/-help/fR] [/fB/-V/fR|/fB/-/-version/fR] [/fIfile/fR] [/fIchoice/fR] [/fIsubcommands/fR] .SH DESCRIPTION Tests completions .SH OPTIONS