pub enum Error {
Partial(Vec<Error>),
WithLineNumber {
line: u64,
err: Box<Error>,
},
WithPath {
path: PathBuf,
err: Box<Error>,
},
WithDepth {
depth: usize,
err: Box<Error>,
},
Loop {
ancestor: PathBuf,
child: PathBuf,
},
Io(Error),
Glob {
glob: Option<String>,
err: String,
},
UnrecognizedFileType(String),
InvalidDefinition,
}
Expand description
Represents an error that can occur when parsing a gitignore file.
Variants§
Partial(Vec<Error>)
A collection of “soft” errors. These occur when adding an ignore file partially succeeded.
WithLineNumber
An error associated with a specific line number.
WithPath
An error associated with a particular file path.
WithDepth
An error associated with a particular directory depth when recursively walking a directory.
Loop
Fields
An error that occurs when a file loop is detected when traversing symbolic links.
Io(Error)
An error that occurs when doing I/O, such as reading an ignore file.
Glob
Fields
glob: Option<String>
The original glob that caused this error. This glob, when
available, always corresponds to the glob provided by an end user.
e.g., It is the glob as written in a .gitignore
file.
(This glob may be distinct from the glob that is actually
compiled, after accounting for gitignore
semantics.)
An error that occurs when trying to parse a glob.
UnrecognizedFileType(String)
A type selection for a file type that is not defined.
InvalidDefinition
A user specified file type definition could not be parsed.
Implementations§
source§impl Error
impl Error
sourcepub fn is_partial(&self) -> bool
pub fn is_partial(&self) -> bool
Returns true if this is a partial error.
A partial error occurs when only some operations failed while others may have succeeded. For example, an ignore file may contain an invalid glob among otherwise valid globs.
sourcepub fn io_error(&self) -> Option<&Error>
pub fn io_error(&self) -> Option<&Error>
Inspect the original std::io::Error
if there is one.
None
is returned if the Error
doesn’t correspond to an
std::io::Error
. This might happen, for example, when the error was
produced because a cycle was found in the directory tree while
following symbolic links.
This method returns a borrowed value that is bound to the lifetime of the Error
. To
obtain an owned value, the into_io_error
can be used instead.
This is the original
std::io::Error
and is not the same asimpl From<Error> for std::io::Error
which contains additional context about the error.
sourcepub fn into_io_error(self) -> Option<Error>
pub fn into_io_error(self) -> Option<Error>
Similar to io_error
except consumes self to convert to the original
std::io::Error
if one exists.