Merge pull request #4978 from clap-rs/colorchoice-values

Improve colorchoice enum
This commit is contained in:
Ed Page 2023-06-20 11:13:31 -05:00 committed by GitHub
commit 4aff61dd01
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -64,6 +64,15 @@ pub enum ColorChoice {
Never, Never,
} }
impl ColorChoice {
/// Report all `possible_values`
pub fn possible_values() -> impl Iterator<Item = PossibleValue> {
Self::value_variants()
.iter()
.filter_map(ValueEnum::to_possible_value)
}
}
impl Default for ColorChoice { impl Default for ColorChoice {
fn default() -> Self { fn default() -> Self {
Self::Auto Self::Auto
@ -99,11 +108,9 @@ impl ValueEnum for ColorChoice {
fn to_possible_value(&self) -> Option<PossibleValue> { fn to_possible_value(&self) -> Option<PossibleValue> {
Some(match self { Some(match self {
Self::Auto => { Self::Auto => PossibleValue::new("auto"),
PossibleValue::new("auto").help("Use colored output if writing to a terminal/TTY") Self::Always => PossibleValue::new("always"),
} Self::Never => PossibleValue::new("never"),
Self::Always => PossibleValue::new("always").help("Always use colored output"),
Self::Never => PossibleValue::new("never").help("Never use colored output"),
}) })
} }
} }