Add support for the "g" flag

This commit is contained in:
Yash Karandikar 2022-07-19 19:09:21 -05:00
parent bc6e4b7710
commit c57d719a0a
Signed by untrusted user: karx
GPG key ID: A794DA2529474BA5

View file

@ -26,8 +26,16 @@ impl Trigger for Sed {
};
if let (Some(find), Some(replace)) = (captures.name("r"), captures.name("w")) {
// TODO: karx plz add flags
//let flags = matches.name("f").map(|m| m.as_str());
let result = message.replace(find.as_str(), replace.as_str());
let (global, ignore_case) = captures
.name("f")
.map(|m| m.as_str())
.map(|s| (s.contains('g'), s.contains('i')))
.unwrap_or_default();
let result = if global {
message.replace(find.as_str(), replace.as_str())
} else {
message.replacen(find.as_str(), replace.as_str(), 1)
};
if foreign_author {
Ok(format!(
"(edited by {}) <{}> {}",