refactor: Rewrite cmd_duration, directory and env_var module to use module config (#460)

This PR is a batched rewrite of the following modules:
- cmd_duration
- directory
- env_var
This commit is contained in:
Zhenhui Xie
2019-10-15 19:34:48 +08:00
committed by Matan Kushner
parent 2fd1920f7d
commit be2d5cf1cd
8 changed files with 132 additions and 54 deletions
+29
View File
@@ -0,0 +1,29 @@
use crate::config::{ModuleConfig, RootModuleConfig, SegmentConfig};
use ansi_term::{Color, Style};
use starship_module_config_derive::ModuleConfig;
#[derive(Clone, ModuleConfig)]
pub struct EnvVarConfig<'a> {
pub symbol: Option<SegmentConfig<'a>>,
pub variable: Option<&'a str>,
pub default: Option<&'a str>,
pub prefix: &'a str,
pub suffix: &'a str,
pub style: Style,
pub disabled: bool,
}
impl<'a> RootModuleConfig<'a> for EnvVarConfig<'a> {
fn new() -> Self {
EnvVarConfig {
symbol: None,
variable: None,
default: None,
prefix: "",
suffix: "",
style: Color::Black.bold().dimmed(),
disabled: false,
}
}
}