aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--helix-term/src/ui/editor.rs14
1 files changed, 6 insertions, 8 deletions
diff --git a/helix-term/src/ui/editor.rs b/helix-term/src/ui/editor.rs
index e05136d0..4074534b 100644
--- a/helix-term/src/ui/editor.rs
+++ b/helix-term/src/ui/editor.rs
@@ -467,16 +467,14 @@ impl EditorView {
let starting_indent =
(offset.col / tab_width) + config.indent_guides.skip_levels as usize;
- // TODO: limit to a max indent level too. It doesn't cause visual artifacts but it would avoid some
- // extra loops if the code is deeply nested.
for i in starting_indent..(indent_level / tab_width) {
- surface.set_string(
- (viewport.x as usize + (i * tab_width) - offset.col) as u16,
- viewport.y + line,
- &indent_guide_char,
- indent_guide_style,
- );
+ let x = (viewport.x as usize + (i * tab_width) - offset.col) as u16;
+ let y = viewport.y + line;
+ if !surface.in_bounds(x, y) {
+ break;
+ }
+ surface.set_string(x, y, &indent_guide_char, indent_guide_style);
}
};