summaryrefslogtreecommitdiffstats
path: root/src/handlers/diff_header_diff.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/handlers/diff_header_diff.rs')
-rw-r--r--src/handlers/diff_header_diff.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/handlers/diff_header_diff.rs b/src/handlers/diff_header_diff.rs
index 78ec2a98..869e40ef 100644
--- a/src/handlers/diff_header_diff.rs
+++ b/src/handlers/diff_header_diff.rs
@@ -1,4 +1,4 @@
-use crate::delta::{State, StateMachine};
+use crate::delta::{DiffType, State, StateMachine};
impl<'a> StateMachine<'a> {
#[inline]
@@ -12,7 +12,12 @@ impl<'a> StateMachine<'a> {
return Ok(false);
}
self.painter.paint_buffered_minus_and_plus_lines();
- self.state = State::DiffHeader;
+ self.state =
+ if self.line.starts_with("diff --cc ") || self.line.starts_with("diff --combined ") {
+ State::DiffHeader(DiffType::Combined(2)) // We will confirm the number of parents when we see the hunk header
+ } else {
+ State::DiffHeader(DiffType::Unified)
+ };
self.handled_diff_header_header_line_file_pair = None;
self.diff_line = self.line.clone();
if !self.should_skip_line() {