aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHarald Eilertsen <haraldei@anduin.net>2025-01-01 19:00:34 +0100
committerHarald Eilertsen <haraldei@anduin.net>2025-01-01 19:00:34 +0100
commit59758226f37bd8f10afcf135b807bdea15a5d5ff (patch)
tree0e948badea733b7e5b7aa31d1c46ce9e5b747d09 /src
parent09280123b1f225b79bd5ff23268c7b1229fd779c (diff)
downloadicaltool-59758226f37bd8f10afcf135b807bdea15a5d5ff.tar.gz
icaltool-59758226f37bd8f10afcf135b807bdea15a5d5ff.tar.bz2
icaltool-59758226f37bd8f10afcf135b807bdea15a5d5ff.zip
Match against all properties if only regex given.
Diffstat (limited to 'src')
-rw-r--r--src/main.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs
index f9c9685..4aeca51 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -71,7 +71,12 @@ fn match_event(event: &ical::parser::ical::component::IcalEvent, pattern: &str)
}
else {
let parts: Vec<&str> = pattern.split(':').collect();
- let (key, pat) = (parts[0].to_uppercase(), parts[1]);
+
+ let (key, pat) = if parts.len() == 2 {
+ (parts[0].to_uppercase(), parts[1])
+ } else {
+ (String::from("*"), parts[0])
+ };
let re = RegexBuilder::new(&pat)
.case_insensitive(true)
@@ -79,7 +84,7 @@ fn match_event(event: &ical::parser::ical::component::IcalEvent, pattern: &str)
.unwrap();
event.properties.iter()
- .filter(|ref p| p.name == key && re.is_match(&p.value.clone().unwrap()))
+ .filter(|ref p| (&key == "*" || p.name == key) && re.is_match(&p.value.clone().unwrap()))
.count() > 0
}
}