2019-10-26 06:20:20 +00:00
|
|
|
use crate::config::{ModuleConfig, RootModuleConfig, SegmentConfig};
|
|
|
|
|
|
|
|
use ansi_term::{Color, Style};
|
|
|
|
use starship_module_config_derive::ModuleConfig;
|
|
|
|
|
|
|
|
#[derive(Clone, ModuleConfig)]
|
|
|
|
pub struct GitStatusConfig<'a> {
|
|
|
|
pub stashed: SegmentConfig<'a>,
|
2019-12-29 03:20:36 +00:00
|
|
|
pub stashed_count: CountConfig,
|
2019-10-26 06:20:20 +00:00
|
|
|
pub ahead: SegmentConfig<'a>,
|
|
|
|
pub behind: SegmentConfig<'a>,
|
|
|
|
pub diverged: SegmentConfig<'a>,
|
|
|
|
pub show_sync_count: bool,
|
|
|
|
pub conflicted: SegmentConfig<'a>,
|
|
|
|
pub conflicted_count: CountConfig,
|
|
|
|
pub deleted: SegmentConfig<'a>,
|
|
|
|
pub deleted_count: CountConfig,
|
|
|
|
pub renamed: SegmentConfig<'a>,
|
|
|
|
pub renamed_count: CountConfig,
|
|
|
|
pub modified: SegmentConfig<'a>,
|
|
|
|
pub modified_count: CountConfig,
|
|
|
|
pub staged: SegmentConfig<'a>,
|
|
|
|
pub staged_count: CountConfig,
|
|
|
|
pub untracked: SegmentConfig<'a>,
|
|
|
|
pub untracked_count: CountConfig,
|
|
|
|
pub prefix: &'a str,
|
|
|
|
pub suffix: &'a str,
|
|
|
|
pub style: Style,
|
|
|
|
pub disabled: bool,
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a> RootModuleConfig<'a> for GitStatusConfig<'a> {
|
|
|
|
fn new() -> Self {
|
|
|
|
GitStatusConfig {
|
|
|
|
stashed: SegmentConfig::new("$"),
|
2019-12-29 03:20:36 +00:00
|
|
|
stashed_count: CountConfig::default(),
|
2019-10-26 06:20:20 +00:00
|
|
|
ahead: SegmentConfig::new("⇡"),
|
|
|
|
behind: SegmentConfig::new("⇣"),
|
|
|
|
diverged: SegmentConfig::new("⇕"),
|
|
|
|
conflicted: SegmentConfig::new("="),
|
|
|
|
show_sync_count: false,
|
|
|
|
conflicted_count: CountConfig::default(),
|
|
|
|
deleted: SegmentConfig::new("✘"),
|
|
|
|
deleted_count: CountConfig::default(),
|
|
|
|
renamed: SegmentConfig::new("»"),
|
|
|
|
renamed_count: CountConfig::default(),
|
|
|
|
modified: SegmentConfig::new("!"),
|
|
|
|
modified_count: CountConfig::default(),
|
|
|
|
staged: SegmentConfig::new("+"),
|
|
|
|
staged_count: CountConfig::default(),
|
|
|
|
untracked: SegmentConfig::new("?"),
|
|
|
|
untracked_count: CountConfig::default(),
|
|
|
|
prefix: "[",
|
|
|
|
suffix: "] ",
|
|
|
|
style: Color::Red.bold(),
|
|
|
|
disabled: false,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Clone, Copy, ModuleConfig, Default)]
|
|
|
|
pub struct CountConfig {
|
|
|
|
pub enabled: bool,
|
|
|
|
pub style: Option<Style>,
|
|
|
|
}
|