aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Grois <andi@grois.info>2021-04-22 20:54:07 +0200
committerAndreas Grois <andi@grois.info>2021-04-22 20:54:07 +0200
commit88d6813b7fdfeb9611d1803d7499323eed276929 (patch)
treeaeada49b27704523d60d3ba23113202eeda7c3af
parent7e190c3aafd7b7c14af126368f8c35ef150bbf54 (diff)
Rename "elements" in config to "element" to make config readable
-rw-r--r--swaystatus/src/config/mod.rs14
-rw-r--r--testconfig10
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"));
}
diff --git a/testconfig b/testconfig
index a1de210..b4880c1 100644
--- a/testconfig
+++ b/testconfig
@@ -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