diff options
| author | Daniel Jankowski <daniel.jankowski@rub.de> | 2024-07-15 16:16:46 +0200 |
|---|---|---|
| committer | Daniel Jankowski <daniel.jankowski@rub.de> | 2024-07-15 16:16:46 +0200 |
| commit | 68d8d4998547e859527ad7aa7112d09ee74f0fbb (patch) | |
| tree | 117f770a008eb44099410c7378d2770122f30895 /src/widgets/command.rs | |
| parent | chore: update cargo deps (diff) | |
| download | sl0pstatus-68d8d4998547e859527ad7aa7112d09ee74f0fbb.tar.gz sl0pstatus-68d8d4998547e859527ad7aa7112d09ee74f0fbb.tar.xz sl0pstatus-68d8d4998547e859527ad7aa7112d09ee74f0fbb.zip | |
feat: add color aliases
closes #75
Diffstat (limited to 'src/widgets/command.rs')
| -rw-r--r-- | src/widgets/command.rs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/widgets/command.rs b/src/widgets/command.rs index 91ff991..c5a902f 100644 --- a/src/widgets/command.rs +++ b/src/widgets/command.rs @@ -50,12 +50,14 @@ pub struct CommandResult { pub struct CommandWidget { config: BTreeMap<String, CommandConfig>, + zj_conf: BTreeMap<String, String>, } impl CommandWidget { pub fn new(config: &BTreeMap<String, String>) -> Self { Self { config: parse_config(config), + zj_conf: config.clone(), } } } @@ -123,7 +125,7 @@ impl Widget for CommandWidget { match command_config.render_mode { RenderMode::Static => content, - RenderMode::Dynamic => render_dynamic_formatted_content(&content), + RenderMode::Dynamic => render_dynamic_formatted_content(&content, &self.zj_conf), RenderMode::Raw => content, } } @@ -153,8 +155,8 @@ impl Widget for CommandWidget { } } -fn render_dynamic_formatted_content(content: &str) -> String { - formatted_parts_from_string_cached(content) +fn render_dynamic_formatted_content(content: &str, config: &BTreeMap<String, String>) -> String { + formatted_parts_from_string_cached(content, config) .iter() .map(|fp| fp.format_string(&fp.content)) .collect::<Vec<String>>() @@ -263,7 +265,7 @@ fn parse_config(zj_conf: &BTreeMap<String, String>) -> BTreeMap<String, CommandC if key.ends_with("format") { command_conf.format = - FormattedPart::multiple_from_format_string(zj_conf.get(&key).unwrap()); + FormattedPart::multiple_from_format_string(zj_conf.get(&key).unwrap(), zj_conf); } if key.ends_with("interval") { |
