summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Davison <dandavison7@gmail.com>2020-12-31 06:42:59 -0500
committerDan Davison <dandavison7@gmail.com>2020-12-31 06:44:04 -0500
commita499d46917dd2cf37336b93d6df5e29f0d9eead7 (patch)
tree850e4165eb7f09a1bbe6b77b9dd1af2f99c08512
parent933ed2a81716b108e1ebfa2d4cc7cf8db6b6cfa9 (diff)
Display line number in hunk header, even with line-numbers active
Fixes https://github.com/dandavison/delta/pull/473#issuecomment-752900940
-rw-r--r--src/features/line_numbers.rs12
-rw-r--r--src/features/side_by_side.rs6
-rw-r--r--src/hunk_header.rs3
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
{