From 1bff1ebf40450d1a1dd826e0f639c5573f451514 Mon Sep 17 00:00:00 2001 From: Dan Davison Date: Fri, 29 Jan 2021 18:21:56 -0500 Subject: Handle tabs in hunk header code fragment (#511) Fixes #510 --- src/hunk_header.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/hunk_header.rs b/src/hunk_header.rs index 505b21c7..810ebfe8 100644 --- a/src/hunk_header.rs +++ b/src/hunk_header.rs @@ -21,6 +21,8 @@ use std::fmt::Write as FmtWrite; +use unicode_segmentation::UnicodeSegmentation; + use crate::config::Config; use crate::delta; use crate::draw; @@ -133,7 +135,10 @@ fn write_to_output_buffer( let _ = write!(&mut painter.output_buffer, "{}: ", file_with_line_number); } if !line.is_empty() { - let lines = vec![(line, delta::State::HunkHeader)]; + let lines = vec![( + painter.expand_tabs(line.graphemes(true)), + delta::State::HunkHeader, + )]; let syntax_style_sections = Painter::get_syntax_style_sections_for_lines( &lines, &delta::State::HunkHeader, -- cgit v1.2.3