summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Davison <dandavison7@gmail.com>2021-01-29 18:21:56 -0500
committerGitHub <noreply@github.com>2021-01-29 18:21:56 -0500
commit1bff1ebf40450d1a1dd826e0f639c5573f451514 (patch)
treebd5748e6c5089ab89d1d4ff5e92c9641e072f946
parent0c5384be26d697766c25cae09cdd3f8140859454 (diff)
Handle tabs in hunk header code fragment (#511)
Fixes #510
-rw-r--r--src/hunk_header.rs7
1 files changed, 6 insertions, 1 deletions
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,