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 {
return
return Ok(())
}
let selected = self.state.selected().unwrap_or_default();
let task_id = self.tasks[selected].id().unwrap_or_default();
@ -649,13 +649,11 @@ impl App {
.arg("rc.confirmation=off")
.arg("delete")
.arg(format!("{}", task_id))
.output()
.expect(
&format!(
"Cannot run `task delete` for task `{}`. Check documentation for more information",
task_id
)[..],
);
.output();
match output {
Ok(_) => Ok(()),
Err(_) => Err(format!("Cannot run `task delete` for task `{}`. Check documentation for more information",task_id)),
}
}
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::Up | Key::Char('k') => app.previous(),
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() {
Ok(_) => (),
Err(e) => {