diff options
author | Dan Davison <dandavison7@gmail.com> | 2020-07-07 10:37:41 -0400 |
---|---|---|
committer | Dan Davison <dandavison7@gmail.com> | 2020-07-07 20:14:54 -0400 |
commit | 561f6fb4682a574d6dc015bb0b1aa541b2236e5f (patch) | |
tree | 11cb7b2537d573b555cf6c57b20c71fd65a8dd3c /src/delta.rs | |
parent | baa8857b2f4c60d3ac97be16353a84e1b9725211 (diff) |
Refactor: parse line-numbers format strings early
Diffstat (limited to 'src/delta.rs')
-rw-r--r-- | src/delta.rs | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/delta.rs b/src/delta.rs index 73c94bf8..39835c2d 100644 --- a/src/delta.rs +++ b/src/delta.rs @@ -373,8 +373,8 @@ fn handle_hunk_header_line( } }; let (raw_code_fragment, line_numbers) = parse::parse_hunk_header(&line); - painter.minus_line_number = line_numbers[0].0; - painter.plus_line_number = line_numbers[line_numbers.len() - 1].0; + painter.line_numbers_data.hunk_minus_line_number = line_numbers[0].0; + painter.line_numbers_data.hunk_plus_line_number = line_numbers[line_numbers.len() - 1].0; if config.hunk_header_style.is_raw { writeln!(painter.writer)?; draw_fn( @@ -405,6 +405,7 @@ fn handle_hunk_header_line( vec![None], &mut painter.output_buffer, config, + None, "", config.null_style, config.null_style, @@ -427,7 +428,7 @@ fn handle_hunk_header_line( }; if !config.line_numbers { - let line_number = &format!("{}", painter.plus_line_number); + let line_number = &format!("{}", painter.line_numbers_data.hunk_plus_line_number); match config.hunk_header_style.decoration_ansi_term_style() { Some(style) => writeln!(painter.writer, "{}", style.paint(line_number))?, None => writeln!(painter.writer, "{}", line_number)?, @@ -490,19 +491,20 @@ fn handle_hunk_line( syntax_style_sections, vec![diff_style_sections], vec![Some(( - Some(painter.minus_line_number), - Some(painter.plus_line_number), + Some(painter.line_numbers_data.hunk_minus_line_number), + Some(painter.line_numbers_data.hunk_plus_line_number), ))], &mut painter.output_buffer, config, + Some(&painter.line_numbers_data), prefix, config.zero_style, config.zero_style, None, None, ); - painter.minus_line_number += 1; - painter.plus_line_number += 1; + painter.line_numbers_data.hunk_minus_line_number += 1; + painter.line_numbers_data.hunk_plus_line_number += 1; state } _ => { |