summaryrefslogtreecommitdiffstats
path: root/src/delta.rs
diff options
context:
space:
mode:
authorDan Davison <dandavison7@gmail.com>2020-05-28 11:39:11 -0400
committerDan Davison <dandavison7@gmail.com>2020-05-28 15:39:11 -0400
commit470fb46a0a23052ea40ddc0906175d9ca54a18cb (patch)
treecb71fdfe4769b39ba2152e41db3a0ebfe7574549 /src/delta.rs
parentdc3b9dbf08d3821942b6608524f6db4464ce081b (diff)
Bug fix: hunk header background color was not reaching box line
Diffstat (limited to 'src/delta.rs')
-rw-r--r--src/delta.rs17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/delta.rs b/src/delta.rs
index 9e11f1d4..6a87f796 100644
--- a/src/delta.rs
+++ b/src/delta.rs
@@ -191,8 +191,10 @@ fn handle_commit_meta_header_line(
config: &Config,
) -> std::io::Result<()> {
let decoration_ansi_term_style;
+ let mut pad = false;
let draw_fn = match config.commit_style.decoration_style {
Some(DecorationStyle::Box(style)) => {
+ pad = true;
decoration_ansi_term_style = style;
draw::write_boxed_with_line
}
@@ -213,7 +215,7 @@ fn handle_commit_meta_header_line(
};
draw_fn(
painter.writer,
- line,
+ &format!("{}{}", line, if pad { " " } else { "" }),
config.terminal_width,
config.commit_style.ansi_term_style,
decoration_ansi_term_style,
@@ -241,8 +243,10 @@ fn handle_generic_file_meta_header_line(
config: &Config,
) -> std::io::Result<()> {
let decoration_ansi_term_style;
+ let mut pad = false;
let draw_fn = match config.file_style.decoration_style {
Some(DecorationStyle::Box(style)) => {
+ pad = true;
decoration_ansi_term_style = style;
draw::write_boxed_with_line
}
@@ -266,7 +270,10 @@ fn handle_generic_file_meta_header_line(
writeln!(painter.writer)?;
draw_fn(
painter.writer,
- &config.file_style.ansi_term_style.paint(line),
+ &config
+ .file_style
+ .ansi_term_style
+ .paint(format!("{}{}", line, if pad { " " } else { "" })),
config.terminal_width,
config.file_style.ansi_term_style,
decoration_ansi_term_style,
@@ -302,7 +309,11 @@ fn handle_hunk_header_line(
None => unreachable("Unreachable code path reached in handle_hunk_header_line."),
};
let (raw_code_fragment, line_number) = parse::parse_hunk_metadata(&line);
- let lines = vec![prepare(raw_code_fragment, false, config)];
+ let line = match prepare(raw_code_fragment, false, config) {
+ s if s.len() > 0 => format!("{} ", s),
+ s => s,
+ };
+ let lines = vec![line];
if !lines[0].is_empty() {
let syntax_style_sections = Painter::get_syntax_style_sections_for_lines(
&lines,