aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBlaž Hrastnik2022-07-20 08:03:19 +0000
committerBlaž Hrastnik2022-07-20 08:06:33 +0000
commit906259cc41cc251dbbe1802e3a5e54a566a7d8d2 (patch)
tree041e6690136565a5c46b1e8abf3f10833f7f00ee
parent3b1ba7fb1213c7aee744e7df4830cc7bab8703ec (diff)
fix: Indent levels could bleed over on the left edge
Fixes #3087 Refs #3105 # modified: theme.toml
-rw-r--r--helix-term/src/ui/editor.rs6
1 files changed, 5 insertions, 1 deletions
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,