summaryrefslogtreecommitdiff
path: root/helix-term/src/ui
diff options
context:
space:
mode:
Diffstat (limited to 'helix-term/src/ui')
-rw-r--r--helix-term/src/ui/editor.rs19
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;