From e2e4027fda55415ac07590e2d33e1f6d762df439 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kat=20March=C3=A1n?= Date: Tue, 21 Sep 2021 12:51:20 -0700 Subject: [PATCH] fix(graphical): stop rendering red vbars before the last item --- src/handlers/graphical.rs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/handlers/graphical.rs b/src/handlers/graphical.rs index f157aeb..dbe41bc 100644 --- a/src/handlers/graphical.rs +++ b/src/handlers/graphical.rs @@ -197,7 +197,8 @@ impl GraphicalReportHandler { if let Some(cause) = diagnostic.source() { let mut cause_iter = Chain::new(cause).peekable(); while let Some(error) = cause_iter.next() { - let char = if cause_iter.peek().is_some() { + let is_last = cause_iter.peek().is_none(); + let char = if !is_last { self.theme.characters.lcross } else { self.theme.characters.lbot @@ -208,9 +209,16 @@ impl GraphicalReportHandler { ) .style(severity_style) .to_string(); - let rest_indent = format!(" {} ", self.theme.characters.vbar) - .style(severity_style) - .to_string(); + let rest_indent = format!( + " {} ", + if is_last { + ' ' + } else { + self.theme.characters.vbar + } + ) + .style(severity_style) + .to_string(); let opts = textwrap::Options::new(width) .initial_indent(&initial_indent) .subsequent_indent(&rest_indent);