diff options
| author | Andreas Grois <andi@grois.info> | 2021-04-22 20:54:07 +0200 |
|---|---|---|
| committer | Andreas Grois <andi@grois.info> | 2021-04-22 20:54:07 +0200 |
| commit | 88d6813b7fdfeb9611d1803d7499323eed276929 (patch) | |
| tree | aeada49b27704523d60d3ba23113202eeda7c3af | |
| parent | 7e190c3aafd7b7c14af126368f8c35ef150bbf54 (diff) | |
Rename "elements" in config to "element" to make config readable
| -rw-r--r-- | swaystatus/src/config/mod.rs | 14 | ||||
| -rw-r--r-- | testconfig | 10 |
2 files changed, 14 insertions, 10 deletions
diff --git a/swaystatus/src/config/mod.rs b/swaystatus/src/config/mod.rs index ad1d471..8a00a9a 100644 --- a/swaystatus/src/config/mod.rs +++ b/swaystatus/src/config/mod.rs @@ -28,7 +28,7 @@ pub struct SwaystatusConfig<'p> { #[serde(rename = "Settings")] pub settings : Option<SwaystatusMainConfig>, ///Settings for each part of the output sting. - #[serde(rename = "Elements")] + #[serde(rename = "Element")] pub elements : Option<Vec<SwaystatusPluginConfig<'p>>>, } @@ -118,8 +118,12 @@ impl Default for SwaystatusMainConfig { #[derive(Deserialize)] #[serde(field_identifier)] -#[allow(non_camel_case_types)] -enum SwaystatusConfigField { Settings, Elements, settings, elements } +enum SwaystatusConfigField { + #[serde(alias = "settings")] + Settings, + #[serde(alias = "element", alias = "elements", alias = "Elements")] + Element +} struct SwaystatusConfigVisitor<'a>(&'a PluginDatabase<'a>) ; impl<'de, 'a> Visitor<'de> for SwaystatusConfigVisitor<'a> { type Value = SwaystatusConfig<'a>; @@ -132,13 +136,13 @@ impl<'de, 'a> Visitor<'de> for SwaystatusConfigVisitor<'a> { let mut elem = None; while let Some(key) = map.next_key()? { match key { - SwaystatusConfigField::Settings | SwaystatusConfigField::settings => { + SwaystatusConfigField::Settings => { if sett.is_some() { return Err(de::Error::duplicate_field("Settings")); } sett = Some(map.next_value()?); } - SwaystatusConfigField::Elements | SwaystatusConfigField::elements => { + SwaystatusConfigField::Element => { if elem.is_some() { return Err(de::Error::duplicate_field("Elements")); } @@ -1,18 +1,18 @@ [Settings] separator = ", " -[[Elements]] +[[Element]] Plugin = "ClockPlugin" -[Elements.Config] +[Element.Config] Format = "%+" -[[Elements]] +[[Element]] Plugin = "ClockPlugin" -[Elements.Config] +[Element.Config] Format = "%+" -[Elements.Config.RefreshRate] +[Element.Config.RefreshRate] Synchronization = "UTCSynchronized" PerThirtyMinutes = 3600 |
