Add error message support to task done

This commit is contained in:
Dheepak Krishnamurthy 2020-07-30 15:52:08 -06:00
parent ca1444865a
commit d13ae4b567
2 changed files with 14 additions and 10 deletions

View file

@ -638,9 +638,9 @@ impl App {
} }
} }
pub fn task_delete(&self) { pub fn task_delete(&self) -> Result<(), String> {
if self.tasks.len() == 0 { if self.tasks.len() == 0 {
return return Ok(())
} }
let selected = self.state.selected().unwrap_or_default(); let selected = self.state.selected().unwrap_or_default();
let task_id = self.tasks[selected].id().unwrap_or_default(); let task_id = self.tasks[selected].id().unwrap_or_default();
@ -649,13 +649,11 @@ impl App {
.arg("rc.confirmation=off") .arg("rc.confirmation=off")
.arg("delete") .arg("delete")
.arg(format!("{}", task_id)) .arg(format!("{}", task_id))
.output() .output();
.expect( match output {
&format!( Ok(_) => Ok(()),
"Cannot run `task delete` for task `{}`. Check documentation for more information", Err(_) => Err(format!("Cannot run `task delete` for task `{}`. Check documentation for more information",task_id)),
task_id }
)[..],
);
} }
pub fn task_done(&mut self) { pub fn task_done(&mut self) {

View file

@ -55,7 +55,13 @@ fn main() -> Result<(), Box<dyn Error>> {
Key::Down | Key::Char('j') => app.next(), Key::Down | Key::Char('j') => app.next(),
Key::Up | Key::Char('k') => app.previous(), Key::Up | Key::Char('k') => app.previous(),
Key::Char('d') => app.task_done(), Key::Char('d') => app.task_done(),
Key::Char('x') => app.task_delete(), Key::Char('x') => match app.task_delete() {
Ok(_) => (),
Err(e) => {
app.mode = AppMode::TaskError;
app.error = e;
}
},
Key::Char('s') => match app.task_start_or_stop() { Key::Char('s') => match app.task_start_or_stop() {
Ok(_) => (), Ok(_) => (),
Err(e) => { Err(e) => {