Skip to content

Commit 493a71a

Browse files
authored
Merge pull request #5999 from cenviity/push-tqqzyttsoktu
feat(help): Merge lists of short and long aliases
2 parents b49dae2 + c758212 commit 493a71a

File tree

2 files changed

+19
-21
lines changed

2 files changed

+19
-21
lines changed

clap_builder/src/output/help_template.rs

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -785,31 +785,29 @@ impl HelpTemplate<'_, '_> {
785785
spec_vals.push(format!("[default: {pvs}]"));
786786
}
787787

788-
let als = a
789-
.aliases
788+
let mut als = Vec::new();
789+
790+
let short_als = a
791+
.short_aliases
790792
.iter()
791793
.filter(|&als| als.1) // visible
792-
.map(|als| format!("--{}", als.0)) // name
793-
.collect::<Vec<_>>()
794-
.join(", ");
795-
if !als.is_empty() {
796-
debug!("HelpTemplate::spec_vals: Found aliases...{:?}", a.aliases);
797-
spec_vals.push(format!("[aliases: {als}]"));
798-
}
794+
.map(|als| format!("-{}", als.0)); // name
795+
debug!(
796+
"HelpTemplate::spec_vals: Found short aliases...{:?}",
797+
a.short_aliases
798+
);
799+
als.extend(short_als);
799800

800-
let als = a
801-
.short_aliases
801+
let long_als = a
802+
.aliases
802803
.iter()
803804
.filter(|&als| als.1) // visible
804-
.map(|&als| format!("-{}", als.0)) // name
805-
.collect::<Vec<_>>()
806-
.join(", ");
805+
.map(|als| format!("--{}", als.0)); // name
806+
debug!("HelpTemplate::spec_vals: Found aliases...{:?}", a.aliases);
807+
als.extend(long_als);
808+
807809
if !als.is_empty() {
808-
debug!(
809-
"HelpTemplate::spec_vals: Found short aliases...{:?}",
810-
a.short_aliases
811-
);
812-
spec_vals.push(format!("[short aliases: {als}]"));
810+
spec_vals.push(format!("[aliases: {}]", als.join(", ")));
813811
}
814812

815813
if !a.is_hide_possible_values_set() && !self.use_long_pv(a) {

tests/builder/arg_aliases_short.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,8 +193,8 @@ Some help
193193
Usage: ct test [OPTIONS]
194194
195195
Options:
196-
-o, --opt <opt> [short aliases: -v]
197-
-f, --flag [aliases: --flag1] [short aliases: -a, -b, -🦆]
196+
-o, --opt <opt> [aliases: -v]
197+
-f, --flag [aliases: -a, -b, -🦆, --flag1]
198198
-h, --help Print help
199199
-V, --version Print version
200200
";

0 commit comments

Comments
 (0)