on master help sign in
Fix indent guide styling (#3324)
fdd8bbfA-Walrus
helix-term/src/ui/editor.rs+9−10
@@ -414,7 +414,13 @@ impl EditorView {
414
414
415 let mut is_in_indent_area = true;
415 let mut is_in_indent_area = true;
416 let mut last_line_indent_level = 0;
416 let mut last_line_indent_level = 0;
417+
418+ // use whitespace style as fallback for indent-guide
419+ let indent_guide_style = text_style.patch(
420+ theme
421+ .try_get("ui.virtual.indent-guide")
417− let indent_style = theme.get("ui.virtual.indent-guide");
422+ .unwrap_or_else(|| theme.get("ui.virtual.whitespace")),
423+ );
418
424
419 let draw_indent_guides = |indent_level, line, surface: &mut Surface| {
425 let draw_indent_guides = |indent_level, line, surface: &mut Surface| {
420 if !config.indent_guides.render {
426 if !config.indent_guides.render {
@@ -430,7 +436,7 @@ impl EditorView {
430 viewport.x + (i * tab_width as u16) - offset.col as u16,
436 viewport.x + (i * tab_width as u16) - offset.col as u16,
431 viewport.y + line,
437 viewport.y + line,
432 &indent_guide_char,
438 &indent_guide_char,
433− indent_style,
439+ indent_guide_style,
434 );
440 );
435 }
441 }
436 };
442 };
@@ -487,14 +493,7 @@ impl EditorView {
487 );
493 );
488 }
494 }
489
495
490− // This is an empty line; draw indent guides at previous line's
491− // indent level to avoid breaking the guides on blank lines.
492− if visual_x == 0 {
493− draw_indent_guides(last_line_indent_level, line, surface);
496+ draw_indent_guides(last_line_indent_level, line, surface);
494− } else if is_in_indent_area {
495− // A line with whitespace only
496− draw_indent_guides(visual_x, line, surface);
497− }
498
497
499 visual_x = 0;
498 visual_x = 0;
500 line += 1;
499 line += 1;
runtime/themes/dark_plus.toml+1−1
@@ -81,7 +81,7 @@
81
81
82"ui.virtual.whitespace" = { fg = "dark_gray" }
82"ui.virtual.whitespace" = { fg = "dark_gray" }
83"ui.virtual.ruler" = { bg = "borders" }
83"ui.virtual.ruler" = { bg = "borders" }
84−"ui.virtual.indent-guide" = { bg = "dark_gray4" }
84+"ui.virtual.indent-guide" = { fg = "dark_gray4" }
85
85
86"warning" = { fg = "gold2" }
86"warning" = { fg = "gold2" }
87"error" = { fg = "red" }
87"error" = { fg = "red" }