prevent rendering visible whitespace on trailing cursor (#2331)

This commit is contained in:
Michael Davis 2022-04-29 19:48:11 -05:00 committed by GitHub
parent 2687b8fb3b
commit e4c2618099
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -388,6 +388,8 @@ pub fn render_text_highlights<H: Iterator<Item = HighlightEvent>>(
spans.pop(); spans.pop();
} }
HighlightEvent::Source { start, end } => { HighlightEvent::Source { start, end } => {
let is_trailing_cursor = text.len_chars() < end;
// `unwrap_or_else` part is for off-the-end indices of // `unwrap_or_else` part is for off-the-end indices of
// the rope, to allow cursor highlighting at the end // the rope, to allow cursor highlighting at the end
// of the rope. // of the rope.
@ -397,7 +399,7 @@ pub fn render_text_highlights<H: Iterator<Item = HighlightEvent>>(
.fold(text_style, |acc, span| acc.patch(theme.highlight(span.0))); .fold(text_style, |acc, span| acc.patch(theme.highlight(span.0)));
let space = if whitespace.render.space() == WhitespaceRenderValue::All let space = if whitespace.render.space() == WhitespaceRenderValue::All
&& text.len_chars() < end && !is_trailing_cursor
{ {
&space &space
} else { } else {