Struct TypesBuilder
struct TypesBuilder { ... }
TypesBuilder builds a type matcher from a set of file type definitions and a set of file type selections.
Implementations
impl TypesBuilder
fn new() -> TypesBuilderCreate 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 withselectandnegate.fn build(self: &Self) -> Result<Types, Error>Build the current set of file type definitions and selections into a file type matcher.
fn definitions(self: &Self) -> Vec<FileTypeDef>Return the set of current file type definitions.
Definitions and globs are sorted.
fn select(self: &mut Self, name: &str) -> &mut TypesBuilderSelect the file type given by
name.If
nameisall, then all file types currently defined are selected.fn negate(self: &mut Self, name: &str) -> &mut TypesBuilderIgnore the file type given by
name.If
nameisall, then all file types currently defined are negated.fn clear(self: &mut Self, name: &str) -> &mut TypesBuilderClear any file type definitions for the type name given.
fn add(self: &mut Self, name: &str, glob: &str) -> Result<(), Error>Add a new file type definition.
namecan be arbitrary andpatshould be a glob recognizing file paths belonging to thenametype.If
nameisallor otherwise contains any character that is not a Unicode letter or number, then an error is returned.fn add_def(self: &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.
fn add_defaults(self: &mut Self) -> &mut TypesBuilderAdd a set of default file type definitions.
impl Freeze for TypesBuilder
impl RefUnwindSafe for TypesBuilder
impl Send for TypesBuilder
impl Sync for TypesBuilder
impl Unpin for TypesBuilder
impl UnwindSafe for TypesBuilder
impl<T> Any for TypesBuilder
fn type_id(self: &Self) -> TypeId
impl<T> Borrow for TypesBuilder
fn borrow(self: &Self) -> &T
impl<T> BorrowMut for TypesBuilder
fn borrow_mut(self: &mut Self) -> &mut T
impl<T> From for TypesBuilder
fn from(t: T) -> TReturns the argument unchanged.
impl<T> Pointable for TypesBuilder
unsafe fn init(init: <T as Pointable>::Init) -> usizeunsafe fn deref<'a>(ptr: usize) -> &'a Tunsafe fn deref_mut<'a>(ptr: usize) -> &'a mut Tunsafe fn drop(ptr: usize)
impl<T, U> Into for TypesBuilder
fn into(self: Self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom for TypesBuilder
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for TypesBuilder
fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>