notmuch: add tag manipulation
This commit is contained in:
parent
f7010fa278
commit
ce836cd1e8
@ -480,11 +480,25 @@ impl Notmuch {
|
|||||||
self.run_notmuch(std::iter::empty::<&str>())
|
self.run_notmuch(std::iter::empty::<&str>())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn tags(&self) -> Result<Vec<String>, NotmuchError> {
|
pub fn tags_for_query(&self, query: &str) -> Result<Vec<String>, NotmuchError> {
|
||||||
let res = self.run_notmuch(["search", "--format=json", "--output=tags", "*"])?;
|
let res = self.run_notmuch(["search", "--format=json", "--output=tags", query])?;
|
||||||
Ok(serde_json::from_slice(&res)?)
|
Ok(serde_json::from_slice(&res)?)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn tags(&self) -> Result<Vec<String>, NotmuchError> {
|
||||||
|
self.tags_for_query("*")
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn tag_add(&self, tag: &str, search_term: &str) -> Result<(), NotmuchError> {
|
||||||
|
self.run_notmuch(["tag", &format!("+{tag}"), search_term])?;
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn tag_remove(&self, tag: &str, search_term: &str) -> Result<(), NotmuchError> {
|
||||||
|
self.run_notmuch(["tag", &format!("-{tag}"), search_term])?;
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
pub fn search(
|
pub fn search(
|
||||||
&self,
|
&self,
|
||||||
query: &str,
|
query: &str,
|
||||||
@ -514,7 +528,7 @@ impl Notmuch {
|
|||||||
let slice = self.run_notmuch([
|
let slice = self.run_notmuch([
|
||||||
"show",
|
"show",
|
||||||
"--include-html=true",
|
"--include-html=true",
|
||||||
"--entire-thread=true",
|
"--entire-thread=false",
|
||||||
"--format=json",
|
"--format=json",
|
||||||
query,
|
query,
|
||||||
])?;
|
])?;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user