summaryrefslogtreecommitdiffstats
path: root/src/parse_styles.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/parse_styles.rs')
-rw-r--r--src/parse_styles.rs30
1 files changed, 21 insertions, 9 deletions
diff --git a/src/parse_styles.rs b/src/parse_styles.rs
index d13dd0af..12aaed2f 100644
--- a/src/parse_styles.rs
+++ b/src/parse_styles.rs
@@ -3,7 +3,7 @@ use std::collections::{HashMap, HashSet};
use crate::cli;
use crate::color;
use crate::fatal;
-use crate::git_config::{GitConfig, GitConfigEntry};
+use crate::git_config::GitConfig;
use crate::style::{self, Style};
#[derive(Debug, Clone)]
@@ -499,17 +499,29 @@ fn make_misc_styles(opt: &cli::Opt, styles: &mut HashMap<&str, StyleReference>)
);
styles.insert(
"git-minus-style",
- StyleReference::Style(match opt.git_config_entries.get("color.diff.old") {
- Some(GitConfigEntry::Style(s)) => Style::from_git_str(s),
- _ => *style::GIT_DEFAULT_MINUS_STYLE,
- }),
+ StyleReference::Style(
+ match opt
+ .git_config
+ .as_ref()
+ .and_then(|cfg| cfg.get::<String>("color.diff.old"))
+ {
+ Some(s) => Style::from_git_str(&s),
+ None => *style::GIT_DEFAULT_MINUS_STYLE,
+ },
+ ),
);
styles.insert(
"git-plus-style",
- StyleReference::Style(match opt.git_config_entries.get("color.diff.new") {
- Some(GitConfigEntry::Style(s)) => Style::from_git_str(s),
- _ => *style::GIT_DEFAULT_PLUS_STYLE,
- }),
+ StyleReference::Style(
+ match opt
+ .git_config
+ .as_ref()
+ .and_then(|cfg| cfg.get::<String>("color.diff.new"))
+ {
+ Some(s) => Style::from_git_str(&s),
+ None => *style::GIT_DEFAULT_PLUS_STYLE,
+ },
+ ),
);
}