36 lines
956 B
Rust
36 lines
956 B
Rust
use serde::{Deserialize, Serialize};
|
|
|
|
#[derive(Clone, Deserialize, Serialize)]
|
|
#[cfg_attr(
|
|
feature = "config-schema",
|
|
derive(schemars::JsonSchema),
|
|
schemars(deny_unknown_fields)
|
|
)]
|
|
#[serde(default)]
|
|
pub struct GitCommitConfig<'a> {
|
|
pub commit_hash_length: usize,
|
|
pub format: &'a str,
|
|
pub style: &'a str,
|
|
pub only_detached: bool,
|
|
pub disabled: bool,
|
|
pub tag_symbol: &'a str,
|
|
pub tag_disabled: bool,
|
|
pub tag_max_candidates: usize,
|
|
}
|
|
|
|
impl<'a> Default for GitCommitConfig<'a> {
|
|
fn default() -> Self {
|
|
GitCommitConfig {
|
|
// be consistent with git by default, which has DEFAULT_ABBREV set to 7
|
|
commit_hash_length: 7,
|
|
format: "[\\($hash$tag\\)]($style) ",
|
|
style: "green bold",
|
|
only_detached: true,
|
|
disabled: false,
|
|
tag_symbol: " 🏷 ",
|
|
tag_disabled: true,
|
|
tag_max_candidates: 0,
|
|
}
|
|
}
|
|
}
|