Clean up inline assist editor rendering (#15536)

Release Notes:

- N/A

---------

Co-authored-by: Nathan <nathan@zed.dev>
Co-authored-by: Max <max@zed.dev>
This commit is contained in:
Antonio Scandurra 2024-07-31 17:43:08 +02:00 committed by GitHub
parent 73d8370177
commit 5b1ea7eda0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 267 additions and 1777 deletions

View file

@ -364,7 +364,7 @@ impl Editor {
.row;
let diff_end_row = diff_base.offset_to_point(hunk.diff_base_byte_range.end).row;
let line_count = diff_end_row - diff_start_row;
line_count as u8
line_count
})?;
Some((diff_base_buffer, deleted_text_lines))
} else {
@ -422,7 +422,7 @@ impl Editor {
fn insert_deleted_text_block(
&mut self,
diff_base_buffer: Model<Buffer>,
deleted_text_height: u8,
deleted_text_height: u32,
hunk: &HoveredHunk,
cx: &mut ViewContext<'_, Self>,
) -> Option<CustomBlockId> {
@ -431,10 +431,11 @@ impl Editor {
editor_with_deleted_text(diff_base_buffer, deleted_hunk_color, hunk, cx);
let editor = cx.view().clone();
let hunk = hunk.clone();
let height = editor_height.max(deleted_text_height);
let mut new_block_ids = self.insert_blocks(
Some(BlockProperties {
position: hunk.multi_buffer_range.start,
height: editor_height.max(deleted_text_height),
height,
style: BlockStyle::Flex,
disposition: BlockDisposition::Above,
render: Box::new(move |cx| {
@ -474,7 +475,8 @@ impl Editor {
h_flex()
.id("gutter with editor")
.bg(deleted_hunk_color)
.size_full()
.h(height as f32 * cx.line_height())
.w_full()
.child(
h_flex()
.id("gutter")
@ -783,7 +785,7 @@ fn editor_with_deleted_text(
deleted_color: Hsla,
hunk: &HoveredHunk,
cx: &mut ViewContext<'_, Editor>,
) -> (u8, View<Editor>) {
) -> (u32, View<Editor>) {
let parent_editor = cx.view().downgrade();
let editor = cx.new_view(|cx| {
let multi_buffer =
@ -885,7 +887,7 @@ fn editor_with_deleted_text(
editor
});
let editor_height = editor.update(cx, |editor, cx| editor.max_point(cx).row().0 as u8);
let editor_height = editor.update(cx, |editor, cx| editor.max_point(cx).row().0);
(editor_height, editor)
}