rgs: added multiline window limit and in-file result indexing (work in progress)
This commit is contained in:
@@ -61,6 +61,7 @@ pub(crate) struct HiArgs {
|
||||
ignore_file_case_insensitive: bool,
|
||||
ignore_file: Vec<PathBuf>,
|
||||
include_zero: bool,
|
||||
in_file_index: bool,
|
||||
invert_match: bool,
|
||||
is_terminal_stdout: bool,
|
||||
line_number: bool,
|
||||
@@ -73,6 +74,7 @@ pub(crate) struct HiArgs {
|
||||
mode: Mode,
|
||||
multiline: bool,
|
||||
multiline_dotall: bool,
|
||||
multiline_window: Option<usize>,
|
||||
no_ignore_dot: bool,
|
||||
no_ignore_exclude: bool,
|
||||
no_ignore_files: bool,
|
||||
@@ -140,6 +142,9 @@ impl HiArgs {
|
||||
}
|
||||
|
||||
let mut state = State::new()?;
|
||||
if low.multiline_window.is_some() && !low.multiline {
|
||||
anyhow::bail!("--multiline-window requires --multiline");
|
||||
}
|
||||
let patterns = Patterns::from_low_args(&mut state, &mut low)?;
|
||||
let paths = Paths::from_low_args(&mut state, &patterns, &mut low)?;
|
||||
|
||||
@@ -278,6 +283,7 @@ impl HiArgs {
|
||||
ignore_file: low.ignore_file,
|
||||
ignore_file_case_insensitive: low.ignore_file_case_insensitive,
|
||||
include_zero: low.include_zero,
|
||||
in_file_index: low.in_file_index,
|
||||
invert_match: low.invert_match,
|
||||
is_terminal_stdout: state.is_terminal_stdout,
|
||||
line_number,
|
||||
@@ -289,6 +295,7 @@ impl HiArgs {
|
||||
mmap_choice,
|
||||
multiline: low.multiline,
|
||||
multiline_dotall: low.multiline_dotall,
|
||||
multiline_window: low.multiline_window,
|
||||
no_ignore_dot: low.no_ignore_dot,
|
||||
no_ignore_exclude: low.no_ignore_exclude,
|
||||
no_ignore_files: low.no_ignore_files,
|
||||
@@ -616,6 +623,7 @@ impl HiArgs {
|
||||
.column(self.column)
|
||||
.heading(self.heading)
|
||||
.hyperlink(self.hyperlink_config.clone())
|
||||
.in_file_index(self.in_file_index)
|
||||
.max_columns_preview(self.max_columns_preview)
|
||||
.max_columns(self.max_columns)
|
||||
.only_matching(self.only_matching)
|
||||
@@ -723,6 +731,7 @@ impl HiArgs {
|
||||
.invert_match(self.invert_match)
|
||||
.line_number(self.line_number)
|
||||
.multi_line(self.multiline)
|
||||
.multiline_window(self.multiline_window)
|
||||
.memory_map(self.mmap_choice.clone())
|
||||
.stop_on_nonmatch(self.stop_on_nonmatch);
|
||||
match self.context {
|
||||
|
||||
Reference in New Issue
Block a user