summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/handlers/diff_header.rs2
-rw-r--r--src/paint.rs3
2 files changed, 5 insertions, 0 deletions
diff --git a/src/handlers/diff_header.rs b/src/handlers/diff_header.rs
index 4b82bec4..d00bab10 100644
--- a/src/handlers/diff_header.rs
+++ b/src/handlers/diff_header.rs
@@ -83,6 +83,7 @@ impl<'a> StateMachine<'a> {
));
}
+ self.painter.paint_buffered_minus_and_plus_lines();
// In color_only mode, raw_line's structure shouldn't be changed.
// So it needs to avoid fn _handle_diff_header_header_line
// (it connects the plus_file and minus_file),
@@ -127,6 +128,7 @@ impl<'a> StateMachine<'a> {
));
self.current_file_pair = Some((self.minus_file.clone(), self.plus_file.clone()));
+ self.painter.paint_buffered_minus_and_plus_lines();
// In color_only mode, raw_line's structure shouldn't be changed.
// So it needs to avoid fn _handle_diff_header_header_line
// (it connects the plus_file and minus_file),
diff --git a/src/paint.rs b/src/paint.rs
index 709d7d6c..7f497fe1 100644
--- a/src/paint.rs
+++ b/src/paint.rs
@@ -126,6 +126,9 @@ impl<'p> Painter<'p> {
}
pub fn paint_buffered_minus_and_plus_lines(&mut self) {
+ if self.minus_lines.is_empty() && self.plus_lines.is_empty() {
+ return;
+ }
paint_minus_and_plus_lines(
MinusPlus::new(&self.minus_lines, &self.plus_lines),
&mut self.line_numbers_data,