pub struct FileFilter { /* private fields */ }Expand description
File filter that can check if individual files should be included. This is built once and reused for watch mode filtering.
This filter replicates the ignore sources used by WalkBuilder:
- Hidden files/directories (starting with
.) - .gitignore files (all levels)
- .git/info/exclude
- Global gitignore (~/.config/git/ignore or core.excludesFile)
- .ignore files (ripgrep-style, all levels)
- .contextignore files (all levels)
- Default ignores from ctx
- Custom ignore patterns from CLI
Implementations§
Source§impl FileFilter
impl FileFilter
Sourcepub fn new(root: &Path, config: &WalkerConfig) -> Result<Self>
pub fn new(root: &Path, config: &WalkerConfig) -> Result<Self>
Build a file filter from walker configuration.
This builds matchers that replicate WalkBuilder’s ignore behavior, ensuring watch mode filtering is consistent with initial indexing.
Sourcepub fn should_include(&self, file_path: &Path) -> bool
pub fn should_include(&self, file_path: &Path) -> bool
Check if a file should be included.
Auto Trait Implementations§
impl Freeze for FileFilter
impl RefUnwindSafe for FileFilter
impl Send for FileFilter
impl Sync for FileFilter
impl Unpin for FileFilter
impl UnsafeUnpin for FileFilter
impl UnwindSafe for FileFilter
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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