diff options
Diffstat (limited to 'src/handlers/diff_header_diff.rs')
-rw-r--r-- | src/handlers/diff_header_diff.rs | 9 |
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() { |