Struct GlobBuilder

Source
pub struct GlobBuilder<'a> { /* private fields */ }
Expand description

A builder for a pattern.

This builder enables configuring the match semantics of a pattern. For example, one can make matching case insensitive.

The lifetime 'a refers to the lifetime of the pattern string.

Implementations§

Source§

impl<'a> GlobBuilder<'a>

Source

pub fn new(glob: &'a str) -> GlobBuilder<'a>

Create a new builder for the pattern given.

The pattern is not compiled until build is called.

Source

pub fn build(&self) -> Result<Glob, Error>

Parses and builds the pattern.

Source

pub fn case_insensitive(&mut self, yes: bool) -> &mut GlobBuilder<'a>

Toggle whether the pattern matches case insensitively or not.

This is disabled by default.

Source

pub fn literal_separator(&mut self, yes: bool) -> &mut GlobBuilder<'a>

Toggle whether a literal / is required to match a path separator.

By default this is false: * and ? will match /.

Source

pub fn backslash_escape(&mut self, yes: bool) -> &mut GlobBuilder<'a>

When enabled, a back slash (\) may be used to escape special characters in a glob pattern. Additionally, this will prevent \ from being interpreted as a path separator on all platforms.

This is enabled by default on platforms where \ is not a path separator and disabled by default on platforms where \ is a path separator.

Source

pub fn empty_alternates(&mut self, yes: bool) -> &mut GlobBuilder<'a>

Toggle whether an empty pattern in a list of alternates is accepted.

For example, if this is set then the glob foo{,.txt} will match both foo and foo.txt.

By default this is false.

Source

pub fn allow_unclosed_class(&mut self, yes: bool) -> &mut GlobBuilder<'a>

Toggle whether unclosed character classes are allowed. When allowed, a [ without a matching ] is treated literally instead of resulting in a parse error.

For example, if this is set then the glob [abc will be treated as the literal string [abc instead of returning an error.

By default, this is false. Generally speaking, enabling this leads to worse failure modes since the glob parser becomes more permissive. You might want to enable this when compatibility (e.g., with POSIX glob implementations) is more important than good error messages.

Trait Implementations§

Source§

impl<'a> Clone for GlobBuilder<'a>

Source§

fn clone(&self) -> GlobBuilder<'a>

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for GlobBuilder<'a>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for GlobBuilder<'a>

§

impl<'a> RefUnwindSafe for GlobBuilder<'a>

§

impl<'a> Send for GlobBuilder<'a>

§

impl<'a> Sync for GlobBuilder<'a>

§

impl<'a> Unpin for GlobBuilder<'a>

§

impl<'a> UnwindSafe for GlobBuilder<'a>

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.