From 906259cc41cc251dbbe1802e3a5e54a566a7d8d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bla=C5=BE=20Hrastnik?= Date: Wed, 20 Jul 2022 17:03:19 +0900 Subject: [PATCH] fix: Indent levels could bleed over on the left edge Fixes #3087 Refs #3105 # modified: theme.toml --- helix-term/src/ui/editor.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/helix-term/src/ui/editor.rs b/helix-term/src/ui/editor.rs index 849f0b0b..6ed9799b 100644 --- a/helix-term/src/ui/editor.rs +++ b/helix-term/src/ui/editor.rs @@ -421,7 +421,11 @@ impl EditorView { return; } - for i in 0..(indent_level / tab_width as u16) { + let starting_indent = (offset.col / tab_width) as u16; + // 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 as u16) { surface.set_string( viewport.x + (i * tab_width as u16) - offset.col as u16, viewport.y + line,