Fix inline assist deletion blocks (#15651)

After the changes in #15536, block decorations need to be given an
explicit height if their content doesn't consume height on its own. We
missed that inline transformation deletion decorations didn't do this,
creating weird results. This fixes the issue and prevents block
decorations from ever having a zero height. That helps avoid major
weirdness, but this still a bit of a gotcha.

We need to back port this to Preview Channel (0.147.x)

Release Notes:

- N/A

---------

Co-authored-by: Antonio <antonio@zed.dev>
This commit is contained in:
Nathan Sobo
2024-08-01 22:41:25 +02:00
committed by GitHub
co-authored by Antonio
parent 0799dfb2b8
commit 1b85793ebc
2 changed files with 2 additions and 1 deletions
+1
View File
@@ -1015,6 +1015,7 @@ impl InlineAssistant {
div()
.bg(cx.theme().status().deleted_background)
.size_full()
.h(height as f32 * cx.line_height())
.pl(cx.gutter_dimensions.full_width())
.child(deleted_lines_editor.clone())
.into_any_element()
+1 -1
View File
@@ -2373,7 +2373,7 @@ impl EditorElement {
};
if let BlockId::Custom(custom_block_id) = block_id {
let element_height_in_lines = (final_size.height / line_height).ceil() as u32;
let element_height_in_lines = ((final_size.height / line_height).ceil() as u32).max(1);
if element_height_in_lines != block.height() {
resized_blocks.insert(custom_block_id, element_height_in_lines);
}