Allow tasks to be canceled
This commit is contained in:
parent
e0cb1c8f23
commit
0e4ef7fef3
13 changed files with 107 additions and 14 deletions
15
src/cli.rs
15
src/cli.rs
|
|
@ -13,6 +13,7 @@ use crate::files::{self, Files};
|
|||
use self::error::Result;
|
||||
use self::layout::line::LineLayout;
|
||||
|
||||
mod cancel;
|
||||
mod done;
|
||||
mod error;
|
||||
mod layout;
|
||||
|
|
@ -49,6 +50,12 @@ pub enum Command {
|
|||
#[structopt(required = true)]
|
||||
entries: Vec<usize>,
|
||||
},
|
||||
/// Marks one or more entries as canceled
|
||||
Cancel {
|
||||
/// Entries to mark as done
|
||||
#[structopt(required = true)]
|
||||
entries: Vec<usize>,
|
||||
},
|
||||
/// Reformat all loaded files
|
||||
Fmt,
|
||||
}
|
||||
|
|
@ -107,6 +114,14 @@ fn run_command(opt: &Opt, files: &mut Files, range: DateRange, now: NaiveDateTim
|
|||
let layout = find_layout(files, &entries, range, now);
|
||||
print::print(&layout);
|
||||
}
|
||||
Some(Command::Cancel { entries: ns }) => {
|
||||
let entries = find_entries(files, range)?;
|
||||
let layout = find_layout(files, &entries, range, now);
|
||||
cancel::cancel(files, &entries, &layout, ns, now)?;
|
||||
let entries = find_entries(files, range)?;
|
||||
let layout = find_layout(files, &entries, range, now);
|
||||
print::print(&layout);
|
||||
}
|
||||
Some(Command::Fmt) => files.mark_all_dirty(),
|
||||
}
|
||||
Ok(())
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue