From 7ea4b96a4152c409c3ac3e26f9da2ac89e583222 Mon Sep 17 00:00:00 2001 From: Wilfred Hughes Date: Fri, 28 Oct 2022 19:14:06 -0700 Subject: [PATCH] Prefer Side over booleans in line number styling --- src/display/inline.rs | 9 +++++---- src/display/side_by_side.rs | 8 ++++---- src/display/style.rs | 9 +++++++-- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/display/inline.rs b/src/display/inline.rs index 5329fc06c..75ba9d980 100644 --- a/src/display/inline.rs +++ b/src/display/inline.rs @@ -1,6 +1,7 @@ //! Inline, or "unified" diff display. use crate::{ + constants::Side, display::context::{calculate_after_context, calculate_before_context, opposite_positions}, display::hunks::Hunk, display::style::{self, apply_colors, apply_line_number_color}, @@ -90,7 +91,7 @@ pub fn print( apply_line_number_color( &format_line_num(lhs_line), false, - true, + Side::Left, display_options, ), lhs_colored_lines[lhs_line.as_usize()] @@ -105,7 +106,7 @@ pub fn print( apply_line_number_color( &format_line_num(*lhs_line), true, - true, + Side::Left, display_options, ), lhs_colored_lines[lhs_line.as_usize()] @@ -119,7 +120,7 @@ pub fn print( apply_line_number_color( &format_line_num(*rhs_line), true, - false, + Side::Right, display_options, ), rhs_colored_lines[rhs_line.as_usize()] @@ -134,7 +135,7 @@ pub fn print( apply_line_number_color( &format_line_num(*rhs_line), false, - false, + Side::Right, display_options, ), rhs_colored_lines[rhs_line.as_usize()] diff --git a/src/display/side_by_side.rs b/src/display/side_by_side.rs index 8ec258ae1..134a894a6 100644 --- a/src/display/side_by_side.rs +++ b/src/display/side_by_side.rs @@ -34,7 +34,7 @@ fn format_line_num_padded(line_num: LineNumber, column_width: usize) -> String { fn format_missing_line_num( prev_num: LineNumber, source_dims: &SourceDimensions, - is_lhs: bool, + is_lhs: bool, // Side here use_color: bool, ) -> String { let column_width = if is_lhs { @@ -121,7 +121,7 @@ fn display_line_nums( let display_lhs_line_num: String = match lhs_line_num { Some(line_num) => { let s = format_line_num_padded(line_num, source_dims.lhs_line_nums_width); - apply_line_number_color(&s, lhs_has_novel, true, display_options) + apply_line_number_color(&s, lhs_has_novel, Side::Left, display_options) } None => format_missing_line_num( prev_lhs_line_num.unwrap_or_else(|| 1.into()), @@ -133,7 +133,7 @@ fn display_line_nums( let display_rhs_line_num: String = match rhs_line_num { Some(line_num) => { let s = format_line_num_padded(line_num, source_dims.rhs_line_nums_width); - apply_line_number_color(&s, rhs_has_novel, false, display_options) + apply_line_number_color(&s, rhs_has_novel, Side::Right, display_options) } None => format_missing_line_num( prev_rhs_line_num.unwrap_or_else(|| 1.into()), @@ -554,7 +554,7 @@ pub fn print( s = apply_line_number_color( &s, rhs_lines_with_novel.contains(line_num), - false, + Side::Right, display_options, ); } diff --git a/src/display/style.rs b/src/display/style.rs index b14683732..28d23f03c 100644 --- a/src/display/style.rs +++ b/src/display/style.rs @@ -257,6 +257,7 @@ fn style_lines(lines: &[&str], styles: &[(SingleLineSpan, Style)]) -> Vec Style { if background.is_dark() { if is_lhs { @@ -381,13 +382,17 @@ fn apply_header_color(s: &str, use_color: bool, background: BackgroundColor) -> pub(crate) fn apply_line_number_color( s: &str, is_novel: bool, - is_lhs: bool, // TODO: use Side here + side: Side, display_options: &DisplayOptions, ) -> String { if display_options.use_color { let mut style = Style::new(); if is_novel { - style = novel_style(style, is_lhs, display_options.background_color); + style = novel_style( + style, + matches!(side, Side::Left), + display_options.background_color, + ); } // TODO: dimmed