diff options
author | Dan Davison <dandavison7@gmail.com> | 2021-01-29 18:21:56 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-29 18:21:56 -0500 |
commit | 1bff1ebf40450d1a1dd826e0f639c5573f451514 (patch) | |
tree | bd5748e6c5089ab89d1d4ff5e92c9641e072f946 | |
parent | 0c5384be26d697766c25cae09cdd3f8140859454 (diff) |
Handle tabs in hunk header code fragment (#511)
Fixes #510
-rw-r--r-- | src/hunk_header.rs | 7 |
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, |