mirror of
https://github.com/BurntSushi/ripgrep.git
synced 2025-07-26 09:42:00 -07:00
cli: add --field-{context,match}-separator flags
These flags permit configuring the bytes used to delimit fields in match or context lines, where "fields" are things like the file path, line number, column number and the match/context itself. Fixes #1842, Closes #1871
This commit is contained in:
committed by
Andrew Gallant
parent
46d0130597
commit
578e1992fa
@@ -786,8 +786,8 @@ impl ArgMatches {
|
||||
.trim_ascii(self.is_present("trim"))
|
||||
.separator_search(None)
|
||||
.separator_context(self.context_separator())
|
||||
.separator_field_match(b":".to_vec())
|
||||
.separator_field_context(b"-".to_vec())
|
||||
.separator_field_match(self.field_match_separator())
|
||||
.separator_field_context(self.field_context_separator())
|
||||
.separator_path(self.path_separator()?)
|
||||
.path_terminator(self.path_terminator());
|
||||
if separator_search {
|
||||
@@ -1377,6 +1377,24 @@ impl ArgMatches {
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns the unescaped field context separator. If one wasn't specified,
|
||||
/// then '-' is used as the default.
|
||||
fn field_context_separator(&self) -> Vec<u8> {
|
||||
match self.value_of_os("field-context-separator") {
|
||||
None => b"-".to_vec(),
|
||||
Some(sep) => cli::unescape_os(&sep),
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns the unescaped field match separator. If one wasn't specified,
|
||||
/// then ':' is used as the default.
|
||||
fn field_match_separator(&self) -> Vec<u8> {
|
||||
match self.value_of_os("field-match-separator") {
|
||||
None => b":".to_vec(),
|
||||
Some(sep) => cli::unescape_os(&sep),
|
||||
}
|
||||
}
|
||||
|
||||
/// Get a sequence of all available patterns from the command line.
|
||||
/// This includes reading the -e/--regexp and -f/--file flags.
|
||||
///
|
||||
|
Reference in New Issue
Block a user