diff options
author | A-Walrus | 2022-08-06 15:46:23 +0000 |
---|---|---|
committer | GitHub | 2022-08-06 15:46:23 +0000 |
commit | fdd8bbf16bdbc19d2e814c463c1c327ee941eba9 (patch) | |
tree | ac349e3872ecbf781a0fe33587eaa3fbd812c435 /helix-term/src/ui | |
parent | 4dd35777f4b15c8f8ef18102767e9984df51e07c (diff) |
Fix indent guide styling (#3324)
* Fix incorrect indent guide styling
Before the indent guides on top of whitespace inherited the theme
from them. Now they do not.
* Fix dark_plus theme indent_guides
* Use whitespace style as fallback for indent-guide
* Fix dark_plus theme indent_guides
* Move indent_guide style patching out of loop
Diffstat (limited to 'helix-term/src/ui')
-rw-r--r-- | helix-term/src/ui/editor.rs | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/helix-term/src/ui/editor.rs b/helix-term/src/ui/editor.rs index d99f1a4e..94ad8aea 100644 --- a/helix-term/src/ui/editor.rs +++ b/helix-term/src/ui/editor.rs @@ -414,7 +414,13 @@ impl EditorView { let mut is_in_indent_area = true; let mut last_line_indent_level = 0; - let indent_style = theme.get("ui.virtual.indent-guide"); + + // use whitespace style as fallback for indent-guide + let indent_guide_style = text_style.patch( + theme + .try_get("ui.virtual.indent-guide") + .unwrap_or_else(|| theme.get("ui.virtual.whitespace")), + ); let draw_indent_guides = |indent_level, line, surface: &mut Surface| { if !config.indent_guides.render { @@ -430,7 +436,7 @@ impl EditorView { viewport.x + (i * tab_width as u16) - offset.col as u16, viewport.y + line, &indent_guide_char, - indent_style, + indent_guide_style, ); } }; @@ -487,14 +493,7 @@ impl EditorView { ); } - // This is an empty line; draw indent guides at previous line's - // indent level to avoid breaking the guides on blank lines. - if visual_x == 0 { - draw_indent_guides(last_line_indent_level, line, surface); - } else if is_in_indent_area { - // A line with whitespace only - draw_indent_guides(visual_x, line, surface); - } + draw_indent_guides(last_line_indent_level, line, surface); visual_x = 0; line += 1; |