Struct Gitignore
struct Gitignore { ... }
Gitignore is a matcher for the globs in one or more gitignore files in the same directory.
Implementations
impl Gitignore
fn new<P: AsRef<Path>>(gitignore_path: P) -> (Gitignore, Option<Error>)Creates a new gitignore matcher from the gitignore file path given.
If it's desirable to include multiple gitignore files in a single matcher, or read gitignore globs from a different source, then use
GitignoreBuilder.This always returns a valid matcher, even if it's empty. In particular, a Gitignore file can be partially valid, e.g., when one glob is invalid but the rest aren't.
Note that I/O errors are ignored. For more granular control over errors, use
GitignoreBuilder.fn global() -> (Gitignore, Option<Error>)Creates a new gitignore matcher from the global ignore file, if one exists.
The global config file path is specified by git's
core.excludesFileconfig option.Git's config file location is
$HOME/.gitconfig. If$HOME/.gitconfigdoes not exist or does not specifycore.excludesFile, then$XDG_CONFIG_HOME/git/ignoreis read. If$XDG_CONFIG_HOMEis not set or is empty, then$HOME/.config/git/ignoreis used instead.fn empty() -> GitignoreCreates a new empty gitignore matcher that never matches anything.
Its path is empty.
fn path(self: &Self) -> &PathReturns the directory containing this gitignore matcher.
All matches are done relative to this path.
fn is_empty(self: &Self) -> boolReturns true if and only if this gitignore has zero globs, and therefore never matches any file path.
fn len(self: &Self) -> usizeReturns the total number of globs, which should be equivalent to
num_ignores + num_whitelists.fn num_ignores(self: &Self) -> u64Returns the total number of ignore globs.
fn num_whitelists(self: &Self) -> u64Returns the total number of whitelisted globs.
fn matched<P: AsRef<Path>>(self: &Self, path: P, is_dir: bool) -> Match<&Glob>Returns whether the given path (file or directory) matched a pattern in this gitignore matcher.
is_dirshould be true if the path refers to a directory and false otherwise.The given path is matched relative to the path given when building the matcher. Specifically, before matching
path, its prefix (as determined by a common suffix of the directory containing this gitignore) is stripped. If there is no common suffix/prefix overlap, thenpathis assumed to be relative to this matcher.fn matched_path_or_any_parents<P: AsRef<Path>>(self: &Self, path: P, is_dir: bool) -> Match<&Glob>Returns whether the given path (file or directory, and expected to be under the root) or any of its parent directories (up to the root) matched a pattern in this gitignore matcher.
NOTE: This method is more expensive than walking the directory hierarchy top-to-bottom and matching the entries. But, is easier to use in cases when a list of paths are available without a hierarchy.
is_dirshould be true if the path refers to a directory and false otherwise.The given path is matched relative to the path given when building the matcher. Specifically, before matching
path, its prefix (as determined by a common suffix of the directory containing this gitignore) is stripped. If there is no common suffix/prefix overlap, thenpathis assumed to be relative to this matcher.Panics
This method panics if the given file path is not under the root path of this matcher.
impl Clone for Gitignore
fn clone(self: &Self) -> Gitignore
impl Debug for Gitignore
fn fmt(self: &Self, f: &mut $crate::fmt::Formatter<'_>) -> $crate::fmt::Result
impl Freeze for Gitignore
impl RefUnwindSafe for Gitignore
impl Send for Gitignore
impl Sync for Gitignore
impl Unpin for Gitignore
impl UnwindSafe for Gitignore
impl<T> Any for Gitignore
fn type_id(self: &Self) -> TypeId
impl<T> Borrow for Gitignore
fn borrow(self: &Self) -> &T
impl<T> BorrowMut for Gitignore
fn borrow_mut(self: &mut Self) -> &mut T
impl<T> CloneToUninit for Gitignore
unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)
impl<T> From for Gitignore
fn from(t: T) -> TReturns the argument unchanged.
impl<T> Pointable for Gitignore
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> ToOwned for Gitignore
fn to_owned(self: &Self) -> Tfn clone_into(self: &Self, target: &mut T)
impl<T, U> Into for Gitignore
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 Gitignore
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for Gitignore
fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>