diff --git a/clap_builder/src/builder/possible_value.rs b/clap_builder/src/builder/possible_value.rs index 757dc36ce94..5021403c6d2 100644 --- a/clap_builder/src/builder/possible_value.rs +++ b/clap_builder/src/builder/possible_value.rs @@ -186,7 +186,7 @@ impl PossibleValue { #[cfg(feature = "help")] pub(crate) fn get_visible_quoted_name(&self) -> Option> { if !self.hide { - Some(if self.name.contains(char::is_whitespace) { + Some(if self.name.is_empty() || self.name.contains(char::is_whitespace) { format!("{:?}", self.name).into() } else { self.name.as_str().into() diff --git a/clap_builder/src/error/format.rs b/clap_builder/src/error/format.rs index 4c22bc2d9d6..d5e0cdf0b83 100644 --- a/clap_builder/src/error/format.rs +++ b/clap_builder/src/error/format.rs @@ -496,7 +496,7 @@ struct Escape<'s>(&'s str); impl std::fmt::Display for Escape<'_> { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - if self.0.contains(char::is_whitespace) { + if self.0.is_empty() || self.0.contains(char::is_whitespace) { std::fmt::Debug::fmt(self.0, f) } else { self.0.fmt(f) diff --git a/clap_builder/src/output/help_template.rs b/clap_builder/src/output/help_template.rs index 9dcdbc8ea3e..39065322f42 100644 --- a/clap_builder/src/output/help_template.rs +++ b/clap_builder/src/output/help_template.rs @@ -796,7 +796,7 @@ impl HelpTemplate<'_, '_> { .iter() .map(|dv| dv.to_string_lossy()) .map(|dv| { - if dv.contains(char::is_whitespace) { + if dv.is_empty() || dv.contains(char::is_whitespace) { Cow::from(format!("{dv:?}")) } else { dv