Struct grep_printer::JSONBuilder
source · pub struct JSONBuilder { /* private fields */ }
serde
only.Expand description
A builder for a JSON lines printer.
The builder permits configuring how the printer behaves. The JSON printer has fewer configuration options than the standard printer because it is a structured format, and the printer always attempts to find the most information possible.
Some configuration options, such as whether line numbers are included or
whether contextual lines are shown, are drawn directly from the
grep_searcher::Searcher
’s configuration.
Once a JSON
printer is built, its configuration cannot be changed.
Implementations§
source§impl JSONBuilder
impl JSONBuilder
sourcepub fn new() -> JSONBuilder
pub fn new() -> JSONBuilder
Return a new builder for configuring the JSON printer.
sourcepub fn build<W: Write>(&self, wtr: W) -> JSON<W>
pub fn build<W: Write>(&self, wtr: W) -> JSON<W>
Create a JSON printer that writes results to the given writer.
sourcepub fn pretty(&mut self, yes: bool) -> &mut JSONBuilder
pub fn pretty(&mut self, yes: bool) -> &mut JSONBuilder
Print JSON in a pretty printed format.
Enabling this will no longer produce a “JSON lines” format, in that each JSON object printed may span multiple lines.
This is disabled by default.
sourcepub fn max_matches(&mut self, limit: Option<u64>) -> &mut JSONBuilder
pub fn max_matches(&mut self, limit: Option<u64>) -> &mut JSONBuilder
Set the maximum amount of matches that are printed.
If multi line search is enabled and a match spans multiple lines, then that match is counted exactly once for the purposes of enforcing this limit, regardless of how many lines it spans.
sourcepub fn always_begin_end(&mut self, yes: bool) -> &mut JSONBuilder
pub fn always_begin_end(&mut self, yes: bool) -> &mut JSONBuilder
When enabled, the begin
and end
messages are always emitted, even
when no match is found.
When disabled, the begin
and end
messages are only shown if there
is at least one match
or context
message.
This is disabled by default.
Trait Implementations§
source§impl Clone for JSONBuilder
impl Clone for JSONBuilder
source§fn clone(&self) -> JSONBuilder
fn clone(&self) -> JSONBuilder
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for JSONBuilder
impl RefUnwindSafe for JSONBuilder
impl Send for JSONBuilder
impl Sync for JSONBuilder
impl Unpin for JSONBuilder
impl UnwindSafe for JSONBuilder
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)