pub struct OverrideBuilder { /* private fields */ }Expand description
Builds a matcher for a set of glob overrides.
Implementations§
Source§impl OverrideBuilder
impl OverrideBuilder
Sourcepub fn new<P: AsRef<Path>>(path: P) -> OverrideBuilder
pub fn new<P: AsRef<Path>>(path: P) -> OverrideBuilder
Create a new override builder.
Matching is done relative to the directory path provided.
Sourcepub fn build(&self) -> Result<Override, Error>
pub fn build(&self) -> Result<Override, Error>
Builds a new override matcher from the globs added so far.
Once a matcher is built, no new globs can be added to it.
Sourcepub fn add(&mut self, glob: &str) -> Result<&mut OverrideBuilder, Error>
pub fn add(&mut self, glob: &str) -> Result<&mut OverrideBuilder, Error>
Add a glob to the set of overrides.
Globs provided here have precisely the same semantics as a single
line in a gitignore file, where the meaning of ! is inverted:
namely, ! at the beginning of a glob will ignore a file. Without !,
all matches of the glob provided are treated as whitelist matches.
Sourcepub fn case_insensitive(
&mut self,
yes: bool,
) -> Result<&mut OverrideBuilder, Error>
pub fn case_insensitive( &mut self, yes: bool, ) -> Result<&mut OverrideBuilder, Error>
Toggle whether the globs should be matched case insensitively or not.
When this option is changed, only globs added after the change will be affected.
This is disabled by default.
Sourcepub fn allow_unclosed_class(&mut self, yes: bool) -> &mut OverrideBuilder
pub fn allow_unclosed_class(&mut self, yes: bool) -> &mut OverrideBuilder
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.
This default is different from the default for Gitignore. Namely,
Gitignore is intended to match git’s behavior as-is. But this
abstraction for “override” globs does not necessarily conform to any
other known specification and instead prioritizes better error
messages.
Trait Implementations§
Source§impl Clone for OverrideBuilder
impl Clone for OverrideBuilder
Source§fn clone(&self) -> OverrideBuilder
fn clone(&self) -> OverrideBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more