Skip to content

Commit 5dde87d

Browse files
committed
Start getting both negative and positive word diffs showing
1 parent a5a2a63 commit 5dde87d

File tree

2 files changed

+9
-14
lines changed

2 files changed

+9
-14
lines changed

crates/buffer_diff/src/buffer_diff.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -910,7 +910,7 @@ fn process_patch_hunk(
910910
let mut buffer_word_diffs = Vec::default();
911911

912912
// Editor Element expects this to be relative to the start of the deleted hunk
913-
let mut base_offset = diff_base_byte_range.start; //todo! check this // bytes
913+
let mut base_offset = 0; //todo! check this // bytes
914914
let mut buffer_offset = buffer_range.start.to_offset(buffer);
915915

916916
for change in diff.iter_all_changes() {

crates/multi_buffer/src/multi_buffer.rs

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6080,18 +6080,6 @@ where
60806080
let mut rope_cursor = buffer.as_rope().cursor(0);
60816081
let buffer_start = rope_cursor.summary::<D>(base_text_byte_range.start);
60826082

6083-
let word_diffs: Vec<Range<D>> = base_word_diffs
6084-
.into_iter()
6085-
.map(|diff| {
6086-
// 3
6087-
let start =
6088-
rope_cursor.summary::<D>(base_text_byte_range.start + diff.start);
6089-
let end = rope_cursor.summary::<D>(base_text_byte_range.start + diff.end);
6090-
6091-
start..end
6092-
})
6093-
.collect();
6094-
60956083
let mut rope_cursor = buffer.as_rope().cursor(0);
60966084
let _ = rope_cursor.summary::<D>(base_text_byte_range.start);
60976085
let buffer_range_len = rope_cursor.summary::<D>(base_text_byte_range.end);
@@ -6100,6 +6088,13 @@ where
61006088
let start = self.diff_transforms.start().output_dimension.0;
61016089
let end = self.diff_transforms.end().output_dimension.0;
61026090

6091+
let diff_offset = dbg!(start.to_offset(&buffer));
6092+
let diff_offset = dbg!(start.to_offset(&excerpt.buffer));
6093+
6094+
let word_diffs: Vec<Range<usize>> = base_word_diffs
6095+
.into_iter()
6096+
.map(|diff| diff.start + diff_offset..diff.end + diff_offset)
6097+
.collect();
61036098
// --- buffer1
61046099
// 0 foo
61056100
// - boo
@@ -6116,7 +6111,7 @@ where
61166111
Some(MultiBufferRegion {
61176112
buffer,
61186113
excerpt,
6119-
word_diffs: Vec::default(), //todo!
6114+
word_diffs, //todo!
61206115
has_trailing_newline: *has_trailing_newline,
61216116
is_main_buffer: false,
61226117
diff_hunk_status: Some(DiffHunkStatus::deleted(

0 commit comments

Comments
 (0)