summaryrefslogtreecommitdiffstats
path: root/src/handlers
diff options
context:
space:
mode:
Diffstat (limited to 'src/handlers')
-rw-r--r--src/handlers/grep.rs6
-rw-r--r--src/handlers/hunk_header.rs10
2 files changed, 13 insertions, 3 deletions
diff --git a/src/handlers/grep.rs b/src/handlers/grep.rs
index ecfc7e2a..bbdee10c 100644
--- a/src/handlers/grep.rs
+++ b/src/handlers/grep.rs
@@ -6,7 +6,8 @@ use serde::Deserialize;
use crate::ansi;
use crate::config::{
- delta_unreachable, GrepType, HunkHeaderIncludeFilePath, HunkHeaderIncludeLineNumber,
+ delta_unreachable, GrepType, HunkHeaderIncludeCodeFragment, HunkHeaderIncludeFilePath,
+ HunkHeaderIncludeLineNumber,
};
use crate::delta::{State, StateMachine};
use crate::handlers::{self, ripgrep_json};
@@ -168,6 +169,7 @@ impl<'a> StateMachine<'a> {
&HunkHeaderIncludeFilePath::Yes,
&HunkHeaderIncludeLineNumber::No,
&HunkHeaderIncludeHunkLabel::Yes,
+ &HunkHeaderIncludeCodeFragment::Yes,
"",
self.config,
)?
@@ -230,6 +232,7 @@ impl<'a> StateMachine<'a> {
&HunkHeaderIncludeLineNumber::No
},
&HunkHeaderIncludeHunkLabel::No,
+ &HunkHeaderIncludeCodeFragment::Yes,
grep_line.line_type.file_path_separator(),
self.config,
)
@@ -255,6 +258,7 @@ impl<'a> StateMachine<'a> {
&self.config.hunk_header_style_include_file_path,
&self.config.hunk_header_style_include_line_number,
&HunkHeaderIncludeHunkLabel::Yes,
+ &HunkHeaderIncludeCodeFragment::Yes,
grep_line.line_type.file_path_separator(),
self.config,
)?
diff --git a/src/handlers/hunk_header.rs b/src/handlers/hunk_header.rs
index f06dcc52..a34035b5 100644
--- a/src/handlers/hunk_header.rs
+++ b/src/handlers/hunk_header.rs
@@ -25,7 +25,9 @@ use lazy_static::lazy_static;
use regex::Regex;
use super::draw;
-use crate::config::{Config, HunkHeaderIncludeFilePath, HunkHeaderIncludeLineNumber};
+use crate::config::{
+ Config, HunkHeaderIncludeCodeFragment, HunkHeaderIncludeFilePath, HunkHeaderIncludeLineNumber,
+};
use crate::delta::{self, DiffType, InMergeConflict, MergeParents, State, StateMachine};
use crate::paint::{self, BgShouldFill, Painter, StyleSectionSpecifier};
use crate::style::{DecorationStyle, Style};
@@ -133,6 +135,7 @@ impl<'a> StateMachine<'a> {
&self.config.hunk_header_style_include_file_path,
&self.config.hunk_header_style_include_line_number,
&HunkHeaderIncludeHunkLabel::Yes,
+ &self.config.hunk_header_style_include_code_fragment,
":",
self.config,
)?;
@@ -229,13 +232,16 @@ pub fn write_line_of_code_with_optional_path_and_line_number(
include_file_path: &HunkHeaderIncludeFilePath,
include_line_number: &HunkHeaderIncludeLineNumber,
include_hunk_label: &HunkHeaderIncludeHunkLabel,
+ include_code_fragment: &HunkHeaderIncludeCodeFragment,
file_path_separator: &str,
config: &Config,
) -> std::io::Result<()> {
let (mut draw_fn, _, decoration_ansi_term_style) = draw::get_draw_function(decoration_style);
let line = if config.color_only {
line.to_string()
- } else if !code_fragment.is_empty() {
+ } else if matches!(include_code_fragment, HunkHeaderIncludeCodeFragment::Yes)
+ && !code_fragment.is_empty()
+ {
format!("{code_fragment} ")
} else {
"".to_string()