pub struct SearchWorkerBuilder {
    config: Config,
    command_builder: CommandReaderBuilder,
    decomp_builder: DecompressionReaderBuilder,
}
Expand description

A builder for configuring and constructing a search worker.

Fields§

§config: Config§command_builder: CommandReaderBuilder§decomp_builder: DecompressionReaderBuilder

Implementations§

source§

impl SearchWorkerBuilder

source

pub fn new() -> SearchWorkerBuilder

Create a new builder for configuring and constructing a search worker.

source

pub fn build<W: WriteColor>( &self, matcher: PatternMatcher, searcher: Searcher, printer: Printer<W> ) -> SearchWorker<W>

Create a new search worker using the given searcher, matcher and printer.

source

pub fn json_stats(&mut self, yes: bool) -> &mut SearchWorkerBuilder

Forcefully use JSON to emit statistics, even if the underlying printer is not the JSON printer.

This is useful for implementing flag combinations like --json --quiet, which uses the summary printer for implementing --quiet but still wants to emit summary statistics, which should be JSON formatted because of the --json flag.

source

pub fn preprocessor( &mut self, cmd: Option<PathBuf> ) -> Result<&mut SearchWorkerBuilder, Box<dyn Error>>

Set the path to a preprocessor command.

When this is set, instead of searching files directly, the given command will be run with the file path as the first argument, and the output of that command will be searched instead.

source

pub fn preprocessor_globs( &mut self, globs: Override ) -> &mut SearchWorkerBuilder

Set the globs for determining which files should be run through the preprocessor. By default, with no globs and a preprocessor specified, every file is run through the preprocessor.

source

pub fn search_zip(&mut self, yes: bool) -> &mut SearchWorkerBuilder

Enable the decompression and searching of common compressed files.

When enabled, if a particular file path is recognized as a compressed file, then it is decompressed before searching.

Note that if a preprocessor command is set, then it overrides this setting.

source

pub fn binary_detection_implicit( &mut self, detection: BinaryDetection ) -> &mut SearchWorkerBuilder

Set the binary detection that should be used when searching files found via a recursive directory search.

Generally, this binary detection may be BinaryDetection::quit if we want to skip binary files completely.

By default, no binary detection is performed.

source

pub fn binary_detection_explicit( &mut self, detection: BinaryDetection ) -> &mut SearchWorkerBuilder

Set the binary detection that should be used when searching files explicitly supplied by an end user.

Generally, this binary detection should NOT be BinaryDetection::quit, since we never want to automatically filter files supplied by the end user.

By default, no binary detection is performed.

Trait Implementations§

source§

impl Clone for SearchWorkerBuilder

source§

fn clone(&self) -> SearchWorkerBuilder

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 SearchWorkerBuilder

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for SearchWorkerBuilder

source§

fn default() -> SearchWorkerBuilder

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. 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 Twhere 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> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for Twhere T: Clone,

§

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 Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.