pub struct PatternMatcher { /* private fields */ }Expand description
Pattern matcher with precompiled glob patterns
Implementations§
Source§impl PatternMatcher
impl PatternMatcher
Sourcepub fn new(
includes: &[&str],
excludes: &[&str],
negation_first: bool,
) -> Result<Self>
pub fn new( includes: &[&str], excludes: &[&str], negation_first: bool, ) -> Result<Self>
Create a new pattern matcher
Sourcepub fn matches_sync(&self, path: &str) -> bool
pub fn matches_sync(&self, path: &str) -> bool
Synchronous match for use with rayon - zero allocation
Sourcepub fn partition_files_parallel(
&self,
files: &[ChangedFile],
interner: &StringInterner,
) -> (Vec<u32>, Vec<u32>)
pub fn partition_files_parallel( &self, files: &[ChangedFile], interner: &StringInterner, ) -> (Vec<u32>, Vec<u32>)
Index-based partitioning replacing clone-based filter
Returns (matched_indices, unmatched_indices) - zero cloning, 4 bytes per file.
Auto Trait Implementations§
impl Freeze for PatternMatcher
impl RefUnwindSafe for PatternMatcher
impl Send for PatternMatcher
impl Sync for PatternMatcher
impl Unpin for PatternMatcher
impl UnsafeUnpin for PatternMatcher
impl UnwindSafe for PatternMatcher
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
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more