diff --git a/crates/language/src/git.rs b/crates/language/src/git.rs index 2ac0400da85165b84b8213c8fba97591eb15aeb5..361a44f3778c05ccaa5d44631f0a1a68ac489aaf 100644 --- a/crates/language/src/git.rs +++ b/crates/language/src/git.rs @@ -355,25 +355,26 @@ impl BufferDiff { let line = patch.line_in_hunk(hunk_index, line_index).unwrap(); let kind = line.origin_value(); let content_offset = line.content_offset() as isize; + let content_len = line.content().len() as isize; match (kind, &mut buffer_byte_range, &mut head_byte_range) { (GitDiffLineType::Addition, None, _) => { - let end = content_offset + line.content().len() as isize; + let end = content_offset + content_len; buffer_byte_range = Some(content_offset as usize..end as usize); } (GitDiffLineType::Addition, Some(buffer_byte_range), _) => { - let end = content_offset + line.content().len() as isize; + let end = content_offset + content_len; buffer_byte_range.end = end as usize; } (GitDiffLineType::Deletion, _, None) => { - let end = content_offset + line.content().len() as isize; + let end = content_offset + content_len; head_byte_range = Some(content_offset as usize..end as usize); } (GitDiffLineType::Deletion, _, Some(head_byte_range)) => { - let end = content_offset + line.content().len() as isize; + let end = content_offset + content_len; head_byte_range.end = end as usize; }