Implement Display for settings::Value

This commit is contained in:
bjorn3
2021-07-03 14:31:45 +02:00
parent 93b7cdd6a2
commit 37115c10e0

View File

@@ -115,6 +115,24 @@ impl Value {
} }
} }
impl fmt::Display for Value {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
if let Some(enum_variant) = self.as_enum() {
write!(f, "{}={}", self.name, enum_variant)
} else if let Some(num) = self.as_num() {
write!(f, "{}={}", self.name, num)
} else if let Some(b) = self.as_bool() {
if b {
write!(f, "{}=1", self.name)
} else {
write!(f, "{}=0", self.name)
}
} else {
unreachable!()
}
}
}
/// Collect settings values based on a template. /// Collect settings values based on a template.
#[derive(Clone, Hash)] #[derive(Clone, Hash)]
pub struct Builder { pub struct Builder {