Struct ignore::types::TypesBuilder
[−]
[src]
pub struct TypesBuilder { /* fields omitted */ }
TypesBuilder builds a type matcher from a set of file type definitions and a set of file type selections.
Methods
impl TypesBuilder
[src]
fn new() -> TypesBuilder
Create a new builder for a file type matcher.
The builder contains no type definitions to start with. A set
of default type definitions can be added with add_defaults
, and
additional type definitions can be added with select
and negate
.
fn build(&self) -> Result<Types, Error>
Build the current set of file type definitions and selections into a file type matcher.
fn definitions(&self) -> Vec<FileTypeDef>
Return the set of current file type definitions.
Definitions and globs are sorted.
fn select(&mut self, name: &str) -> &mut TypesBuilder
Select the file type given by name
.
If name
is all
, then all file types currently defined are selected.
fn negate(&mut self, name: &str) -> &mut TypesBuilder
Ignore the file type given by name
.
If name
is all
, then all file types currently defined are negated.
fn clear(&mut self, name: &str) -> &mut TypesBuilder
Clear any file type definitions for the type name given.
fn add(&mut self, name: &str, glob: &str) -> Result<(), Error>
Add a new file type definition. name
can be arbitrary and pat
should be a glob recognizing file paths belonging to the name
type.
If name
is all
or otherwise contains any character that is not a
Unicode letter or number, then an error is returned.
fn add_def(&mut self, def: &str) -> Result<(), Error>
Add a new file type definition specified in string form. There are two
valid formats:
1. {name}:{glob}
. This defines a 'root' definition that associates the
given name with the given glob.
2. `{name}:include:{comma-separated list of already defined names}.
This defines an 'include' definition that associates the given name
with the definitions of the given existing types.
Names may not include any characters that are not
Unicode letters or numbers.
fn add_defaults(&mut self) -> &mut TypesBuilder
Add a set of default file type definitions.