implement unset

This commit is contained in:
Greg 2020-04-15 17:22:09 -04:00
parent 04666c5fb7
commit 9a39c056e8
No known key found for this signature in database
GPG key ID: 2E44FAEEDC94B1E2
2 changed files with 13 additions and 0 deletions

View file

@ -26,6 +26,9 @@ enum Cmd {
mime: Mime,
handler: Handler,
},
Unset {
mime: Mime
}
}
fn main() -> Result<()> {
@ -55,6 +58,9 @@ fn main() -> Result<()> {
},
Cmd::List => {
apps.print()?;
},
Cmd::Unset { mime } => {
apps.remove_handler(&mime)?;
}
};

View file

@ -21,6 +21,13 @@ impl MimeApps {
self.save()?;
Ok(())
}
pub fn remove_handler(&mut self, mime: &Mime) -> Result<()> {
if let Some(_removed) = self.default_apps.remove(mime) {
self.save()?;
}
Ok(())
}
pub fn get_handler(&self, mime: &Mime) -> Result<Handler> {
self.default_apps
.get(mime)