summaryrefslogtreecommitdiffstats
path: root/src/pattern
diff options
context:
space:
mode:
authorCanop <cano.petrole@gmail.com>2021-08-11 12:58:27 +0200
committerCanop <cano.petrole@gmail.com>2021-08-11 12:58:27 +0200
commitc9b840fd85e7eb6393dbb52f4ba3b35cf2f831e7 (patch)
treeaa5771147ccdf761765241ff239e4083a8eba668 /src/pattern
parent35be7733cee3223bec0c69ab1c693da3a0b7d371 (diff)
slightly more concise pattern pattern matching
Diffstat (limited to 'src/pattern')
-rw-r--r--src/pattern/pattern.rs24
1 files changed, 8 insertions, 16 deletions
diff --git a/src/pattern/pattern.rs b/src/pattern/pattern.rs
index bc77576..20edc70 100644
--- a/src/pattern/pattern.rs
+++ b/src/pattern/pattern.rs
@@ -114,14 +114,10 @@ impl Pattern {
candidate: &str,
) -> Option<NameMatch> {
match self {
- Self::NameExact(ep) => ep.find(candidate),
- Self::NameFuzzy(fp) => fp.find(candidate),
- Self::NameRegex(rp) => rp.find(candidate),
- Self::NameTokens(tp) => tp.find(candidate),
- Self::PathExact(ep) => ep.find(candidate),
- Self::PathFuzzy(fp) => fp.find(candidate),
- Self::PathRegex(rp) => rp.find(candidate),
- Self::PathTokens(tp) => tp.find(candidate),
+ Self::NameExact(ep) | Self::PathExact(ep) => ep.find(candidate),
+ Self::NameFuzzy(fp) | Self::PathFuzzy(fp) => fp.find(candidate),
+ Self::NameRegex(rp) | Self::PathRegex(rp) => rp.find(candidate),
+ Self::NameTokens(tp) | Self::PathTokens(tp) => tp.find(candidate),
Self::Composite(cp) => cp.search_string(candidate),
_ => None,
}
@@ -197,16 +193,12 @@ impl Pattern {
/// (it accepts everything)
pub fn is_empty(&self) -> bool {
match self {
- Self::NameExact(ep) => ep.is_empty(),
- Self::NameFuzzy(fp) => fp.is_empty(),
- Self::NameRegex(rp) => rp.is_empty(),
- Self::NameTokens(tp) => tp.is_empty(),
- Self::PathExact(ep) => ep.is_empty(),
- Self::PathFuzzy(fp) => fp.is_empty(),
- Self::PathRegex(rp) => rp.is_empty(),
- Self::PathTokens(tp) => tp.is_empty(),
+ Self::NameExact(ep) | Self::PathExact(ep) => ep.is_empty(),
Self::ContentExact(ep) => ep.is_empty(),
+ Self::NameFuzzy(fp) | Self::PathFuzzy(fp) => fp.is_empty(),
+ Self::NameRegex(rp) | Self::PathRegex(rp) => rp.is_empty(),
Self::ContentRegex(rp) => rp.is_empty(),
+ Self::NameTokens(tp) | Self::PathTokens(tp) => tp.is_empty(),
Self::Composite(cp) => cp.is_empty(),
Self::None => true,
}