2019-12-06 16:57:42 +00:00
|
|
|
use crate::config::{ModuleConfig, RootModuleConfig, SegmentConfig};
|
|
|
|
|
|
|
|
use ansi_term::{Color, Style};
|
|
|
|
use starship_module_config_derive::ModuleConfig;
|
|
|
|
|
|
|
|
#[derive(Clone, ModuleConfig)]
|
|
|
|
pub struct GitCommitConfig<'a> {
|
|
|
|
pub commit_hash_length: usize,
|
|
|
|
pub hash: SegmentConfig<'a>,
|
|
|
|
pub prefix: &'a str,
|
|
|
|
pub suffix: &'a str,
|
|
|
|
pub style: Style,
|
2020-02-12 19:56:29 +00:00
|
|
|
pub only_detached: bool,
|
2019-12-06 16:57:42 +00:00
|
|
|
pub disabled: bool,
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a> RootModuleConfig<'a> for GitCommitConfig<'a> {
|
|
|
|
fn new() -> Self {
|
|
|
|
GitCommitConfig {
|
|
|
|
// be consistent with git by default, which has DEFAULT_ABBREV set to 7
|
|
|
|
commit_hash_length: 7,
|
|
|
|
hash: SegmentConfig::default(),
|
|
|
|
prefix: "(",
|
|
|
|
suffix: ") ",
|
|
|
|
style: Color::Green.bold(),
|
2020-02-12 19:56:29 +00:00
|
|
|
only_detached: true,
|
|
|
|
disabled: false,
|
2019-12-06 16:57:42 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|