diff options
author | Dan Davison <dandavison7@gmail.com> | 2022-03-13 21:46:37 -0400 |
---|---|---|
committer | Dan Davison <dandavison7@gmail.com> | 2022-03-14 10:53:30 -0400 |
commit | 5c30e26429ef805dfe39824c0d14d7f4da0c486e (patch) | |
tree | e074d32c342dac89d191e4e93dee022343ebdb57 | |
parent | ee09adf81bc46126666308725df5761e22c8e37b (diff) |
Don't apply line-number-minus/plus-style to empty cell that is not minus/plus
-rw-r--r-- | src/features/line_numbers.rs | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/features/line_numbers.rs b/src/features/line_numbers.rs index 88850434..53edf110 100644 --- a/src/features/line_numbers.rs +++ b/src/features/line_numbers.rs @@ -250,6 +250,11 @@ fn format_and_paint_line_number_field<'a>( let format_data = &line_numbers_data.format_data[side]; let plus_file = &line_numbers_data.plus_file; let style = &config.line_numbers_style_leftright[side]; + let style2 = if line_numbers[Minus].is_some() { + styles[Minus] + } else { + styles[Plus] + }; let mut ansi_strings = Vec::new(); let mut suffix = ""; @@ -265,24 +270,26 @@ fn format_and_paint_line_number_field<'a>( let alignment_spec = placeholder.alignment_spec.unwrap_or(Align::Center); match placeholder.placeholder { Some(Placeholder::NumberMinus) => { - ansi_strings.push(styles[Minus].paint(format_line_number( + let formatted = format_line_number( line_numbers[Minus], alignment_spec, width, placeholder.precision, None, config, - ))) + ); + ansi_strings.push(style2.paint(formatted)) } Some(Placeholder::NumberPlus) => { - ansi_strings.push(styles[Plus].paint(format_line_number( + let formatted = format_line_number( line_numbers[Plus], alignment_spec, width, placeholder.precision, Some(plus_file), config, - ))) + ); + ansi_strings.push(style2.paint(formatted)) } None => {} _ => unreachable!("Invalid placeholder"), |