From a499d46917dd2cf37336b93d6df5e29f0d9eead7 Mon Sep 17 00:00:00 2001 From: Dan Davison Date: Thu, 31 Dec 2020 06:42:59 -0500 Subject: Display line number in hunk header, even with line-numbers active Fixes https://github.com/dandavison/delta/pull/473#issuecomment-752900940 --- src/features/line_numbers.rs | 12 ++++++------ src/features/side_by_side.rs | 6 +++--- src/hunk_header.rs | 3 +-- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/features/line_numbers.rs b/src/features/line_numbers.rs index 469f4118..d5c38488 100644 --- a/src/features/line_numbers.rs +++ b/src/features/line_numbers.rs @@ -447,7 +447,7 @@ pub mod tests { "0 4", ]); let output = run_delta(TWO_MINUS_LINES_DIFF, &config); - let mut lines = output.lines().skip(4); + let mut lines = output.lines().skip(7); let (line_1, line_2) = (lines.next().unwrap(), lines.next().unwrap()); assert_eq!(strip_ansi_codes(line_1), " 1 ⋮ │a = 1"); assert_eq!(strip_ansi_codes(line_2), " 2 ⋮ │b = 2"); @@ -471,7 +471,7 @@ pub mod tests { "0 4", ]); let output = run_delta(TWO_PLUS_LINES_DIFF, &config); - let mut lines = output.lines().skip(4); + let mut lines = output.lines().skip(7); let (line_1, line_2) = (lines.next().unwrap(), lines.next().unwrap()); assert_eq!(strip_ansi_codes(line_1), " ⋮ 1 │a = 1"); assert_eq!(strip_ansi_codes(line_2), " ⋮ 2 │b = 2"); @@ -496,7 +496,7 @@ pub mod tests { ]); let output = run_delta(ONE_MINUS_ONE_PLUS_LINE_DIFF, &config); let output = strip_ansi_codes(&output); - let mut lines = output.lines().skip(4); + let mut lines = output.lines().skip(7); assert_eq!(lines.next().unwrap(), " 1 ⋮ 1 │a = 1"); assert_eq!(lines.next().unwrap(), " 2 ⋮ │b = 2"); assert_eq!(lines.next().unwrap(), " ⋮ 2 │bb = 2"); @@ -521,7 +521,7 @@ pub mod tests { ]); let output = run_delta(ONE_MINUS_ONE_PLUS_LINE_DIFF, &config); let output = strip_ansi_codes(&output); - let mut lines = output.lines().skip(4); + let mut lines = output.lines().skip(7); assert_eq!(lines.next().unwrap(), " 1 1 ⋮ 1 │a = 1"); assert_eq!(lines.next().unwrap(), " 2 2 ⋮ │b = 2"); assert_eq!(lines.next().unwrap(), " ⋮ 2 │bb = 2"); @@ -532,7 +532,7 @@ pub mod tests { let config = make_config_from_args(&["--line-numbers"]); let output = run_delta(FIVE_DIGIT_LINE_NUMBER_DIFF, &config); let output = strip_ansi_codes(&output); - let mut lines = output.lines().skip(4); + let mut lines = output.lines().skip(7); assert_eq!(lines.next().unwrap(), "10000⋮10000│a = 1"); assert_eq!(lines.next().unwrap(), "10001⋮ │b = 2"); assert_eq!(lines.next().unwrap(), " ⋮10001│bb = 2"); @@ -543,7 +543,7 @@ pub mod tests { let config = make_config_from_args(&["--line-numbers"]); let output = run_delta(UNEQUAL_DIGIT_DIFF, &config); let output = strip_ansi_codes(&output); - let mut lines = output.lines().skip(4); + let mut lines = output.lines().skip(7); assert_eq!(lines.next().unwrap(), "10000⋮9999 │a = 1"); assert_eq!(lines.next().unwrap(), "10001⋮ │b = 2"); assert_eq!(lines.next().unwrap(), " ⋮10000│bb = 2"); diff --git a/src/features/side_by_side.rs b/src/features/side_by_side.rs index f4680898..01e1836c 100644 --- a/src/features/side_by_side.rs +++ b/src/features/side_by_side.rs @@ -468,7 +468,7 @@ pub mod tests { fn test_two_minus_lines() { let config = make_config_from_args(&["--side-by-side", "--width", "40"]); let output = run_delta(TWO_MINUS_LINES_DIFF, &config); - let mut lines = output.lines().skip(4); + let mut lines = output.lines().skip(7); let (line_1, line_2) = (lines.next().unwrap(), lines.next().unwrap()); assert_eq!("│ 1 │a = 1 │ │", strip_ansi_codes(line_1)); assert_eq!("│ 2 │b = 2 │ │", strip_ansi_codes(line_2)); @@ -478,7 +478,7 @@ pub mod tests { fn test_two_plus_lines() { let config = make_config_from_args(&["--side-by-side", "--width", "40"]); let output = run_delta(TWO_PLUS_LINES_DIFF, &config); - let mut lines = output.lines().skip(4); + let mut lines = output.lines().skip(7); let (line_1, line_2) = (lines.next().unwrap(), lines.next().unwrap()); assert_eq!("│ │ │ 1 │a = 1", strip_ansi_codes(line_1)); assert_eq!("│ │ │ 2 │b = 2", strip_ansi_codes(line_2)); @@ -489,7 +489,7 @@ pub mod tests { let config = make_config_from_args(&["--side-by-side", "--width", "40"]); let output = run_delta(ONE_MINUS_ONE_PLUS_LINE_DIFF, &config); let output = strip_ansi_codes(&output); - let mut lines = output.lines().skip(4); + let mut lines = output.lines().skip(7); assert_eq!("│ 1 │a = 1 │ 1 │a = 1", lines.next().unwrap()); assert_eq!("│ 2 │b = 2 │ 2 │bb = 2", lines.next().unwrap()); } diff --git a/src/hunk_header.rs b/src/hunk_header.rs index 7b7af31f..f9b1b240 100644 --- a/src/hunk_header.rs +++ b/src/hunk_header.rs @@ -96,8 +96,7 @@ fn get_painted_file_with_line_number( if config.hunk_header_style_include_file_path { file_with_line_number.push(config.file_style.paint(plus_file)) }; - if !config.line_numbers - && config.hunk_header_style_include_line_number + if config.hunk_header_style_include_line_number && !config.hunk_header_style.is_raw && !config.color_only { -- cgit v1.2.3