diff options
author | Blaž Hrastnik | 2022-07-20 08:03:19 +0000 |
---|---|---|
committer | Blaž Hrastnik | 2022-07-20 08:06:33 +0000 |
commit | 906259cc41cc251dbbe1802e3a5e54a566a7d8d2 (patch) | |
tree | 041e6690136565a5c46b1e8abf3f10833f7f00ee /helix-term | |
parent | 3b1ba7fb1213c7aee744e7df4830cc7bab8703ec (diff) |
fix: Indent levels could bleed over on the left edge
Fixes #3087
Refs #3105
# modified: theme.toml
Diffstat (limited to 'helix-term')
-rw-r--r-- | helix-term/src/ui/editor.rs | 6 |
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, |