Skip to content

Commit 2f7dd5f

Browse files
committed
Trim indent guides to stop at last non-empty line.
Adjust the end position of indent guides to prevent them from extending through empty space.
1 parent ec5821f commit 2f7dd5f

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

crates/editor/src/indent_guides.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,19 @@ pub fn indent_guides_in_range(
179179
line_indent.len(indent_guide.tab_size) <= indent_guide.indent_level();
180180
!(is_folded && contained_in_fold)
181181
})
182+
.map(|mut indent_guide| {
183+
// Adjust end_row of each guide to the last non-empty line.
184+
while indent_guide.end_row.0 > indent_guide.start_row.0 {
185+
let line_indent = snapshot
186+
.buffer_snapshot
187+
.line_indent_for_row(MultiBufferRow(indent_guide.end_row.0));
188+
if !line_indent.is_line_empty() {
189+
break;
190+
}
191+
indent_guide.end_row.0 = indent_guide.end_row.0.saturating_sub(1);
192+
}
193+
indent_guide
194+
})
182195
.collect()
183196
}
184197

0 commit comments

Comments
 (0)