From 76dd3a18e2e4068bb1a13684639e57dff8050290 Mon Sep 17 00:00:00 2001 From: Ed Page Date: Mon, 29 Aug 2022 15:50:39 -0500 Subject: [PATCH] fix(help): Ensure consistency in usage --- src/builder/arg.rs | 12 ------------ src/output/usage.rs | 19 ++++++------------- 2 files changed, 6 insertions(+), 25 deletions(-) diff --git a/src/builder/arg.rs b/src/builder/arg.rs index 37f88046f2d..e1fa335e840 100644 --- a/src/builder/arg.rs +++ b/src/builder/arg.rs @@ -3932,18 +3932,6 @@ impl Arg { self.is_takes_value_set() || self.long.is_some() || self.short.is_none() } - // Used for positionals when printing - pub(crate) fn multiple_str(&self) -> &str { - let mult_vals = self.val_names.len() > 1; - if (self.is_multiple_values_set() || matches!(*self.get_action(), ArgAction::Append)) - && !mult_vals - { - "..." - } else { - "" - } - } - // Used for positionals when printing pub(crate) fn name_no_brackets(&self) -> String { debug!("Arg::name_no_brackets:{}", self.get_id()); diff --git a/src/output/usage.rs b/src/output/usage.rs index 5edacce7964..a509c8fe14c 100644 --- a/src/output/usage.rs +++ b/src/output/usage.rs @@ -104,15 +104,12 @@ impl<'cmd> Usage<'cmd> { let req = pos.is_required_set(); if req && self.cmd.get_positionals().any(|p| !p.is_required_set()) { styled.literal(" -- "); - styled.placeholder("<"); } else if req { - styled.placeholder(" [--] <"); + styled.placeholder(" [--] "); } else { - styled.placeholder(" [-- <"); + styled.placeholder(" [-- "); } - styled.placeholder(&*pos.name_no_brackets()); - styled.placeholder('>'); - styled.placeholder(pos.multiple_str()); + styled.extend(pos.stylized(Some(true)).into_iter()); if !req { styled.placeholder(']'); } @@ -246,11 +243,7 @@ impl<'cmd> Usage<'cmd> { pos.get_id() ); - Some(format!( - " [{}]{}", - pos.name_no_brackets(), - pos.multiple_str() - )) + Some(format!(" {}", pos.stylized(Some(false)))) } else if self.cmd.is_dont_collapse_args_in_usage_set() && self.cmd.has_positionals() && incl_reqs @@ -262,7 +255,7 @@ impl<'cmd> Usage<'cmd> { .filter(|pos| !pos.is_required_set()) .filter(|pos| !pos.is_hide_set()) .filter(|pos| !pos.is_last_set()) - .map(|pos| format!(" [{}]{}", pos.name_no_brackets(), pos.multiple_str())) + .map(|pos| format!(" {}", pos.stylized(Some(false)))) .collect::>() .join(""), ) @@ -289,7 +282,7 @@ impl<'cmd> Usage<'cmd> { .filter(|pos| !pos.is_required_set()) .filter(|pos| !pos.is_hide_set()) .filter(|pos| !pos.is_last_set()) - .map(|pos| format!(" [{}]{}", pos.name_no_brackets(), pos.multiple_str())) + .map(|pos| format!(" {}", pos.stylized(Some(false)))) .collect::>() .join(""), )