summaryrefslogtreecommitdiffstats
path: root/src/modules/jobs.rs
diff options
context:
space:
mode:
authorZhenhui Xie <xiezh0831@yahoo.co.jp>2019-10-10 16:21:52 +0800
committerMatan Kushner <hello@matchai.me>2019-10-10 17:21:52 +0900
commit57b38f17bbc9540f57fe8fa7fa07b90848a284ad (patch)
tree8a3874b3ffa09536088204f9c0de6ba96fb955ad /src/modules/jobs.rs
parente858780eda467f2542ac2b2db42f72e729650909 (diff)
refactor: Rewrite hostname, jobs and line_break module to use mo… (#462)
Diffstat (limited to 'src/modules/jobs.rs')
-rw-r--r--src/modules/jobs.rs20
1 files changed, 8 insertions, 12 deletions
diff --git a/src/modules/jobs.rs b/src/modules/jobs.rs
index 8a667049e..e0f2308df 100644
--- a/src/modules/jobs.rs
+++ b/src/modules/jobs.rs
@@ -1,18 +1,14 @@
-use ansi_term::Color;
-
use super::{Context, Module};
+use crate::config::{RootModuleConfig, SegmentConfig};
+use crate::configs::jobs::JobsConfig;
+
/// Creates a segment to show if there are any active jobs running
pub fn module<'a>(context: &'a Context) -> Option<Module<'a>> {
let mut module = context.new_module("jobs");
+ let config: JobsConfig = JobsConfig::try_load(module.config);
- let threshold = module.config_value_i64("threshold").unwrap_or(1);
-
- const JOB_CHAR: &str = "✦";
- let module_style = module
- .config_value_style("style")
- .unwrap_or_else(|| Color::Blue.bold());
- module.set_style(module_style);
+ module.set_style(config.style);
let arguments = &context.arguments;
let num_of_jobs = arguments
@@ -24,9 +20,9 @@ pub fn module<'a>(context: &'a Context) -> Option<Module<'a>> {
if num_of_jobs == 0 {
return None;
}
- module.new_segment("symbol", JOB_CHAR);
- if num_of_jobs > threshold {
- module.new_segment("number", &num_of_jobs.to_string());
+ module.create_segment("symbol", &config.symbol);
+ if num_of_jobs > config.threshold {
+ module.create_segment("number", &SegmentConfig::new(&num_of_jobs.to_string()));
}
module.get_prefix().set_value("");