summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorZhenhui Xie <xiezh0831@yahoo.co.jp>2019-10-05 17:21:48 +0800
committerMatan Kushner <hello@matchai.me>2019-10-05 18:21:48 +0900
commitbedf264a9ff5804584d3127aaac839ea6a6ba7ca (patch)
treef6e585d47883beaa08843f931a9e916841366cf4 /src
parent6c6e0ef1dd0474dde5a4d29300bbf80b60761d53 (diff)
fix: Fix module configuration loading (#487)
Diffstat (limited to 'src')
-rw-r--r--src/module.rs19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/module.rs b/src/module.rs
index d14814eb0..b06bf5529 100644
--- a/src/module.rs
+++ b/src/module.rs
@@ -80,15 +80,20 @@ impl<'a> Module<'a> {
let mut segment = Segment::new(name);
let segment_config_mock = SegmentConfig { value, style: None };
- if let Some(module_config) = self.config {
- let segment_config = segment_config_mock.load_config(&module_config);
- segment.set_style(segment_config.style.unwrap_or(self.style));
- segment.set_value(segment_config.value);
- } else {
- segment.set_style(segment_config_mock.style.unwrap_or(self.style));
- segment.set_value(segment_config_mock.value);
+ if let Some(toml::Value::Table(module_config)) = self.config {
+ if let Some(symbol) = module_config.get(name) {
+ let segment_config = segment_config_mock.load_config(&symbol);
+ segment.set_style(segment_config.style.unwrap_or(self.style));
+ segment.set_value(segment_config.value);
+
+ self.segments.push(segment);
+ return self.segments.last_mut().unwrap();
+ }
}
+ segment.set_style(segment_config_mock.style.unwrap_or(self.style));
+ segment.set_value(segment_config_mock.value);
+
self.segments.push(segment);
self.segments.last_mut().unwrap()
}