mirror of
https://github.com/BurntSushi/ripgrep.git
synced 2025-04-14 00:58:43 +02:00
commit
1e6c2ac8e3
@ -75,7 +75,7 @@ struct IgnoreOptions {
|
|||||||
|
|
||||||
impl IgnoreOptions {
|
impl IgnoreOptions {
|
||||||
/// Returns true if at least one type of ignore rules should be matched.
|
/// Returns true if at least one type of ignore rules should be matched.
|
||||||
fn should_ignores(&self) -> bool {
|
fn has_any_ignore_options(&self) -> bool {
|
||||||
self.ignore || self.git_global || self.git_ignore || self.git_exclude
|
self.ignore || self.git_global || self.git_ignore || self.git_exclude
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -285,7 +285,7 @@ impl Ignore {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
let mut whitelisted = Match::None;
|
let mut whitelisted = Match::None;
|
||||||
if self.0.opts.should_ignores() {
|
if self.0.opts.has_any_ignore_options() {
|
||||||
let mat = self.matched_ignore(path, is_dir);
|
let mat = self.matched_ignore(path, is_dir);
|
||||||
if mat.is_ignore() {
|
if mat.is_ignore() {
|
||||||
return mat;
|
return mat;
|
||||||
@ -365,19 +365,8 @@ impl Ignore {
|
|||||||
}
|
}
|
||||||
let m_global = self.0.git_global_matcher.matched(&path, is_dir)
|
let m_global = self.0.git_global_matcher.matched(&path, is_dir)
|
||||||
.map(IgnoreMatch::gitignore);
|
.map(IgnoreMatch::gitignore);
|
||||||
if !m_ignore.is_none() {
|
|
||||||
m_ignore
|
m_ignore.or(m_gi).or(m_gi_exclude).or(m_global).or(m_explicit)
|
||||||
} else if !m_gi.is_none() {
|
|
||||||
m_gi
|
|
||||||
} else if !m_gi_exclude.is_none() {
|
|
||||||
m_gi_exclude
|
|
||||||
} else if !m_global.is_none() {
|
|
||||||
m_global
|
|
||||||
} else if !m_explicit.is_none() {
|
|
||||||
m_explicit
|
|
||||||
} else {
|
|
||||||
Match::None
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Returns an iterator over parent ignore matchers, including this one.
|
/// Returns an iterator over parent ignore matchers, including this one.
|
||||||
|
@ -357,4 +357,13 @@ impl<T> Match<T> {
|
|||||||
Match::Whitelist(t) => Match::Whitelist(f(t)),
|
Match::Whitelist(t) => Match::Whitelist(f(t)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Return the match if it is not none. Otherwise, return other.
|
||||||
|
pub fn or(self, other: Self) -> Self {
|
||||||
|
if self.is_none() {
|
||||||
|
other
|
||||||
|
} else {
|
||||||
|
self
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user