pub struct SelectionMatcher { /* private fields */ }Expand description
Reusable matcher for the complete scanner selection policy.
Unlike RepositoryMatcher, this applies depth, symlink, standard
directory, named file-type, extension, and maximum-size policies in
addition to hierarchical ignore and override rules. Self::matched
performs the metadata read needed to classify a standalone path;
Self::matched_entry reuses metadata already captured by a WalkEntry.
Stateful traversal-only conditions such as symlink-cycle ancestry are
reported by WalkEntry::skip_reason when matched_entry is used.
Implementations§
Source§impl SelectionMatcher
impl SelectionMatcher
Sourcepub fn new(root: impl AsRef<Path>) -> Result<Self>
pub fn new(root: impl AsRef<Path>) -> Result<Self>
Builds a matcher with ScanOptions::default.
§Errors
Returns an error when the root or required ignore configuration cannot be read.
Sourcepub fn with_options(
root: impl AsRef<Path>,
options: &ScanOptions,
) -> Result<Self>
pub fn with_options( root: impl AsRef<Path>, options: &ScanOptions, ) -> Result<Self>
Builds a matcher from the same options used by crate::Scanner.
§Errors
Returns an error when the root or required ignore configuration cannot be read.
Sourcepub fn matched(&mut self, path: impl AsRef<Path>) -> Result<SelectionDecision>
pub fn matched(&mut self, path: impl AsRef<Path>) -> Result<SelectionDecision>
Applies the complete selection policy to one existing path.
This convenience method performs symlink_metadata and, when links are
followed, target metadata. Use Self::matched_entry inside an existing
Weavatrix walk to avoid those extra reads.
§Errors
Returns an error for escaped paths, missing entries, metadata failures,
or required ignore-source failures under crate::ErrorPolicy::Abort.
Sourcepub fn matched_entry(&mut self, entry: &WalkEntry) -> Result<SelectionDecision>
pub fn matched_entry(&mut self, entry: &WalkEntry) -> Result<SelectionDecision>
Applies the complete selection policy to a walker entry.
§Errors
Returns an error for escaped paths, metadata failures when the walker did not collect file metadata, or required ignore-source failures.
Sourcepub fn refresh(&mut self) -> Result<bool>
pub fn refresh(&mut self) -> Result<bool>
Atomically reloads ignore inputs while retaining the full selection options.
§Errors
Returns an error when replacement matcher construction fails.
Sourcepub const fn options(&self) -> &ScanOptions
pub const fn options(&self) -> &ScanOptions
Returns the immutable selection options snapshot.
Sourcepub fn sources(&self) -> &[IgnoreSourceEvidence]
pub fn sources(&self) -> &[IgnoreSourceEvidence]
Returns evidence for every loaded ignore source.
Sourcepub fn warnings(&self) -> &[ScanWarning]
pub fn warnings(&self) -> &[ScanWarning]
Returns non-fatal matcher diagnostics.
Trait Implementations§
Source§impl Clone for SelectionMatcher
impl Clone for SelectionMatcher
Source§fn clone(&self) -> SelectionMatcher
fn clone(&self) -> SelectionMatcher
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more