Struct grep_printer::JSONBuilder

source ·
pub struct JSONBuilder { /* private fields */ }
Available on crate feature 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

source

pub fn new() -> JSONBuilder

Return a new builder for configuring the JSON printer.

source

pub fn build<W: Write>(&self, wtr: W) -> JSON<W>

Create a JSON printer that writes results to the given writer.

source

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.

source

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.

source

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

source§

fn clone(&self) -> JSONBuilder

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for JSONBuilder

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.