summaryrefslogtreecommitdiffstats
path: root/src/features
diff options
context:
space:
mode:
Diffstat (limited to 'src/features')
-rw-r--r--src/features/line_numbers.rs9
-rw-r--r--src/features/side_by_side.rs24
2 files changed, 5 insertions, 28 deletions
diff --git a/src/features/line_numbers.rs b/src/features/line_numbers.rs
index 56cb3daa..3afce6b1 100644
--- a/src/features/line_numbers.rs
+++ b/src/features/line_numbers.rs
@@ -66,6 +66,7 @@ pub fn linenumbers_and_styles<'a>(
line_numbers_data: &'a mut LineNumbersData,
state: &State,
config: &'a config::Config,
+ increment: bool,
) -> Option<(MinusPlus<Option<usize>>, MinusPlus<Style>)> {
let nr_left = line_numbers_data.line_number[Left];
let nr_right = line_numbers_data.line_number[Right];
@@ -76,18 +77,18 @@ pub fn linenumbers_and_styles<'a>(
);
let ((minus_number, plus_number), (minus_style, plus_style)) = match state {
State::HunkMinus(_) => {
- line_numbers_data.line_number[Left] += 1;
+ line_numbers_data.line_number[Left] += increment as usize;
((Some(nr_left), None), (minus_style, plus_style))
}
State::HunkMinusWrapped => ((None, None), (minus_style, plus_style)),
State::HunkZero => {
- line_numbers_data.line_number[Left] += 1;
- line_numbers_data.line_number[Right] += 1;
+ line_numbers_data.line_number[Left] += increment as usize;
+ line_numbers_data.line_number[Right] += increment as usize;
((Some(nr_left), Some(nr_right)), (zero_style, zero_style))
}
State::HunkZeroWrapped => ((None, None), (zero_style, zero_style)),
State::HunkPlus(_) => {
- line_numbers_data.line_number[Right] += 1;
+ line_numbers_data.line_number[Right] += increment as usize;
((None, Some(nr_right)), (minus_style, plus_style))
}
State::HunkPlusWrapped => ((None, None), (minus_style, plus_style)),
diff --git a/src/features/side_by_side.rs b/src/features/side_by_side.rs
index 1485254c..b052f97c 100644
--- a/src/features/side_by_side.rs
+++ b/src/features/side_by_side.rs
@@ -197,15 +197,6 @@ pub fn paint_zero_lines_side_by_side<'a>(
config,
);
output_buffer.push_str(&panel_line);
-
- if *panel_side == Left && state != State::HunkZeroWrapped {
- // TODO: Avoid doing the superimpose_style_sections work twice.
- // HACK: These are getting incremented twice, so knock them back down once.
- if let Some(d) = line_numbers_data.as_mut() {
- d.line_number[Left] -= 1;
- d.line_number[Right] -= 1;
- }
- }
}
output_buffer.push('\n');
}
@@ -386,21 +377,6 @@ fn paint_minus_or_plus_panel_line<'a>(
config,
);
- // Knock back down spuriously incremented line numbers. See comment above.
- match (state, &state_for_line_numbers_field) {
- (s, t) if s == t => {}
- (State::HunkPlus(_), State::HunkMinus(_)) => {
- if let Some(d) = line_numbers_data.as_mut() {
- d.line_number[Left] -= 1;
- }
- }
- (State::HunkMinus(_), State::HunkPlus(_)) => {
- if let Some(d) = line_numbers_data.as_mut() {
- d.line_number[Right] -= 1;
- }
- }
- _ => unreachable!(),
- }
(line, line_is_empty)
}