mirror of https://github.com/helix-editor/helix
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 looppull/3348/head
parent
4dd35777f4
commit
fdd8bbf16b
|
@ -414,7 +414,13 @@ impl EditorView {
|
||||||
|
|
||||||
let mut is_in_indent_area = true;
|
let mut is_in_indent_area = true;
|
||||||
let mut last_line_indent_level = 0;
|
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| {
|
let draw_indent_guides = |indent_level, line, surface: &mut Surface| {
|
||||||
if !config.indent_guides.render {
|
if !config.indent_guides.render {
|
||||||
|
@ -430,7 +436,7 @@ impl EditorView {
|
||||||
viewport.x + (i * tab_width as u16) - offset.col as u16,
|
viewport.x + (i * tab_width as u16) - offset.col as u16,
|
||||||
viewport.y + line,
|
viewport.y + line,
|
||||||
&indent_guide_char,
|
&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
|
draw_indent_guides(last_line_indent_level, line, surface);
|
||||||
// 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);
|
|
||||||
}
|
|
||||||
|
|
||||||
visual_x = 0;
|
visual_x = 0;
|
||||||
line += 1;
|
line += 1;
|
||||||
|
|
|
@ -81,7 +81,7 @@
|
||||||
|
|
||||||
"ui.virtual.whitespace" = { fg = "dark_gray" }
|
"ui.virtual.whitespace" = { fg = "dark_gray" }
|
||||||
"ui.virtual.ruler" = { bg = "borders" }
|
"ui.virtual.ruler" = { bg = "borders" }
|
||||||
"ui.virtual.indent-guide" = { bg = "dark_gray4" }
|
"ui.virtual.indent-guide" = { fg = "dark_gray4" }
|
||||||
|
|
||||||
"warning" = { fg = "gold2" }
|
"warning" = { fg = "gold2" }
|
||||||
"error" = { fg = "red" }
|
"error" = { fg = "red" }
|
||||||
|
|
Loading…
Reference in New Issue