pub struct FdQuery {
pub base_dir: PathBuf,
pub glob_patterns: Vec<String>,
pub regex_pattern: Option<String>,
pub file_type: FileTypeFilter,
pub size_filter: Option<SizeFilter>,
pub max_depth: Option<usize>,
pub include_hidden: bool,
pub follow_links: bool,
pub case_sensitive: bool,
pub max_results: usize,
pub timeout: Option<Duration>,
pub threads: Option<usize>,
}Expand description
Comprehensive search query for file discovery
Fields§
§base_dir: PathBufBase directory to search from
glob_patterns: Vec<String>Glob patterns to match (e.g., “.rs”, “**/.js”)
regex_pattern: Option<String>Regex pattern for advanced matching
file_type: FileTypeFilterFile type filter
size_filter: Option<SizeFilter>Size constraints
max_depth: Option<usize>Maximum search depth
Include hidden files/directories
follow_links: boolFollow symbolic links
case_sensitive: boolCase sensitive matching
max_results: usizeMaximum number of results (0 = unlimited)
timeout: Option<Duration>Search timeout
threads: Option<usize>Number of parallel threads (None = auto-detect)
Implementations§
Source§impl FdQuery
Builder pattern for FdQuery construction
impl FdQuery
Builder pattern for FdQuery construction
Sourcepub fn new<P: AsRef<Path>>(base_dir: P) -> Self
pub fn new<P: AsRef<Path>>(base_dir: P) -> Self
Create a new query for the given base directory
Sourcepub const fn file_type(self, file_type: FileTypeFilter) -> Self
pub const fn file_type(self, file_type: FileTypeFilter) -> Self
Set file type filter
Include hidden files
Sourcepub const fn follow_links(self, follow: bool) -> Self
pub const fn follow_links(self, follow: bool) -> Self
Follow symbolic links
Sourcepub const fn case_sensitive(self, sensitive: bool) -> Self
pub const fn case_sensitive(self, sensitive: bool) -> Self
Set case sensitivity
Sourcepub const fn max_results(self, max: usize) -> Self
pub const fn max_results(self, max: usize) -> Self
Limit maximum results
Trait Implementations§
Auto Trait Implementations§
impl Freeze for FdQuery
impl RefUnwindSafe for FdQuery
impl Send for FdQuery
impl Sync for FdQuery
impl Unpin for FdQuery
impl UnwindSafe for FdQuery
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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