Struct ignore::types::TypesBuilder
source · pub struct TypesBuilder { /* private fields */ }
Expand description
TypesBuilder builds a type matcher from a set of file type definitions and a set of file type selections.
Implementations§
source§impl TypesBuilder
impl TypesBuilder
sourcepub fn new() -> TypesBuilder
pub 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
.
sourcepub fn build(&self) -> Result<Types, Error>
pub fn build(&self) -> Result<Types, Error>
Build the current set of file type definitions and selections into a file type matcher.
sourcepub fn definitions(&self) -> Vec<FileTypeDef>
pub fn definitions(&self) -> Vec<FileTypeDef>
Return the set of current file type definitions.
Definitions and globs are sorted.
sourcepub fn select(&mut self, name: &str) -> &mut TypesBuilder
pub 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.
sourcepub fn negate(&mut self, name: &str) -> &mut TypesBuilder
pub 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.
sourcepub fn clear(&mut self, name: &str) -> &mut TypesBuilder
pub fn clear(&mut self, name: &str) -> &mut TypesBuilder
Clear any file type definitions for the type name given.
sourcepub fn add(&mut self, name: &str, glob: &str) -> Result<(), Error>
pub 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.
sourcepub fn add_def(&mut self, def: &str) -> Result<(), Error>
pub fn add_def(&mut self, def: &str) -> Result<(), Error>
Add a new file type definition specified in string form. There are two valid formats:
{name}:{glob}
. This defines a ‘root’ definition that associates the given name with the given glob.- `{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.
sourcepub fn add_defaults(&mut self) -> &mut TypesBuilder
pub fn add_defaults(&mut self) -> &mut TypesBuilder
Add a set of default file type definitions.