[][src]Struct grep_printer::JSONBuilder

pub struct JSONBuilder { /* fields omitted */ }

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.

Methods

impl JSONBuilder[src]

pub fn new() -> JSONBuilder[src]

Return a new builder for configuring the JSON printer.

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

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

pub fn pretty(&mut self, yes: bool) -> &mut JSONBuilder[src]

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.

pub fn max_matches(&mut self, limit: Option<u64>) -> &mut JSONBuilder[src]

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.

pub fn always_begin_end(&mut self, yes: bool) -> &mut JSONBuilder[src]

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

impl Clone for JSONBuilder[src]

default fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Debug for JSONBuilder[src]

Auto Trait Implementations

impl Send for JSONBuilder

impl Sync for JSONBuilder

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.