Skip to main content

SelectionMatcher

Struct SelectionMatcher 

Source
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

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

pub fn root(&self) -> &Path

Returns the canonical matcher root.

Source

pub const fn options(&self) -> &ScanOptions

Returns the immutable selection options snapshot.

Source

pub fn sources(&self) -> &[IgnoreSourceEvidence]

Returns evidence for every loaded ignore source.

Source

pub fn warnings(&self) -> &[ScanWarning]

Returns non-fatal matcher diagnostics.

Source

pub fn portable(&self) -> bool

Returns whether all matcher inputs are portable.

Trait Implementations§

Source§

impl Clone for SelectionMatcher

Source§

fn clone(&self) -> SelectionMatcher

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SelectionMatcher

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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 T
where 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> ToOwned for T
where T: Clone,

Source§

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

Source§

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

Source§

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.