diff options
author | Dan Davison <dandavison7@gmail.com> | 2020-07-17 18:49:55 -0400 |
---|---|---|
committer | Dan Davison <dandavison7@gmail.com> | 2020-08-01 11:35:50 -0400 |
commit | cd7953c176c2bc71b34cc2aaa1618f6ab208538f (patch) | |
tree | 9571d07e3a9f5015b58afd4abb884f59e6157067 /src/options | |
parent | 27dec271018c589ba1119a180158903b9dba8c64 (diff) |
Initial implementation of color-moved support
- Inspect the raw hunk line
- If it does not appear to be a standard minus/plus line, treat it as moved
- Apply special delta color-moved-* styles
Diffstat (limited to 'src/options')
-rw-r--r-- | src/options/set.rs | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/src/options/set.rs b/src/options/set.rs index b1d69b0c..e7932e4b 100644 --- a/src/options/set.rs +++ b/src/options/set.rs @@ -15,7 +15,6 @@ use crate::git_config; use crate::git_config_entry::{self, GitConfigEntry}; use crate::options::option_value::{OptionValue, ProvenancedOptionValue}; use crate::options::theme; -use crate::style::Style; macro_rules! set_options { ([$( $field_ident:ident ),* ], @@ -116,6 +115,9 @@ pub fn set_options( set_options!( [ + color_moved, + color_moved_minus_style, + color_moved_plus_style, color_only, commit_decoration_style, commit_style, @@ -523,18 +525,15 @@ fn set_widths( fn set_git_config_entries(opt: &mut cli::Opt, git_config: &mut git_config::GitConfig) { // Styles - for key in &["color.diff.old", "color.diff.new"] { + for key in &[ + "color.diff.old", + "color.diff.new", + "color.diff.oldMoved", + "color.diff.newMoved", + ] { if let Some(style_string) = git_config.get::<String>(key) { - opt.git_config_entries.insert( - key.to_string(), - GitConfigEntry::Style(Style::from_str( - &style_string, - None, - None, - opt.computed.true_color, - false, - )), - ); + opt.git_config_entries + .insert(key.to_string(), GitConfigEntry::Style(style_string)); } } |