Add rule to preserve unread tag when run with --remove-all.
This commit is contained in:
parent
fbe7dade54
commit
7bfef154d9
@ -155,29 +155,34 @@ fn notmuch_from_rules<W: Write>(mut w: W, rules: &[Rule]) -> anyhow::Result<()>
|
|||||||
eprintln!("rule has unknown match {:?}", r);
|
eprintln!("rule has unknown match {:?}", r);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let rule = match m.match_type {
|
||||||
|
MatchType::From => "from:",
|
||||||
|
// TODO(wathiede): something more specific?
|
||||||
|
MatchType::Sender => "from:",
|
||||||
|
MatchType::To => "to:",
|
||||||
|
MatchType::Subject => "subject:",
|
||||||
|
MatchType::List => "List-ID:",
|
||||||
|
MatchType::Body => "",
|
||||||
|
// TODO(wathiede): these will probably require adding fields to notmuch
|
||||||
|
// index. Handle them later.
|
||||||
|
MatchType::DeliveredTo
|
||||||
|
| MatchType::XForwardedTo
|
||||||
|
| MatchType::ReplyTo
|
||||||
|
| MatchType::XOriginalTo
|
||||||
|
| MatchType::XSpam => continue,
|
||||||
|
MatchType::Unknown => unreachable!(),
|
||||||
|
};
|
||||||
|
// Preserve unread status if run with --remove-all
|
||||||
|
lines.push(format!(
|
||||||
|
r#"-unprocessed +{} +unread -- is:unread tag:unprocessed {}"{}""#,
|
||||||
|
t, rule, m.needle
|
||||||
|
));
|
||||||
lines.push(format!(
|
lines.push(format!(
|
||||||
// TODO(wathiede): this assumes `notmuch new` is configured to add
|
// TODO(wathiede): this assumes `notmuch new` is configured to add
|
||||||
// `tag:unprocessed` to all new mail.
|
// `tag:unprocessed` to all new mail.
|
||||||
r#"-unprocessed +{} -- tag:unprocessed {}"{}""#,
|
r#"-unprocessed +{} -- tag:unprocessed {}"{}""#,
|
||||||
t,
|
t, rule, m.needle
|
||||||
match m.match_type {
|
|
||||||
MatchType::From => "from:",
|
|
||||||
// TODO(wathiede): something more specific?
|
|
||||||
MatchType::Sender => "from:",
|
|
||||||
MatchType::To => "to:",
|
|
||||||
MatchType::Subject => "subject:",
|
|
||||||
MatchType::List => "List-ID:",
|
|
||||||
MatchType::Body => "",
|
|
||||||
// TODO(wathiede): these will probably require adding fields to notmuch
|
|
||||||
// index. Handle them later.
|
|
||||||
MatchType::DeliveredTo
|
|
||||||
| MatchType::XForwardedTo
|
|
||||||
| MatchType::ReplyTo
|
|
||||||
| MatchType::XOriginalTo
|
|
||||||
| MatchType::XSpam => continue,
|
|
||||||
MatchType::Unknown => unreachable!(),
|
|
||||||
},
|
|
||||||
m.needle
|
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user