aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvsyukov Denis Anatolyevich <[email protected]>2020-03-10 09:29:27 +0300
committerEvsyukov Denis Anatolyevich <[email protected]>2020-03-10 09:29:27 +0300
commit071d08e41b5b896af95a58a48bb4fc5077701502 (patch)
treeeb3a2c5ae38e68a295a5a5c298d251d06470b749
parent[+] remove and edit tasks (diff)
downloadt-071d08e41b5b896af95a58a48bb4fc5077701502.tar.xz
t-071d08e41b5b896af95a58a48bb4fc5077701502.zip
[+] support for multiple ids in remove and finish
-rw-r--r--src/main.rs30
1 files changed, 18 insertions, 12 deletions
diff --git a/src/main.rs b/src/main.rs
index 8ee376a..201d77d 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -92,25 +92,31 @@ Usage: t [-t DIR] [-l LIST] [options] [TEXT]";
// finish task
if matches.opt_present("f") {
let task = matches.opt_str("f").unwrap();
- let key = matches.opt_str("f").unwrap();
- if tasks.contains_key(&task) {
- done.insert(task, tasks.get(&key).unwrap().to_string());
- tasks.remove(&key);
- write_files(tasks, done, taskpath, donepath, delete_empty);
- } else {
- println!("Task does not exist: {}", &task);
+ for t in task.split(',') {
+ let t = String::from(t);
+ let key = String::from(&t);
+ if tasks.contains_key(&t) {
+ done.insert(t, tasks.get(&key).unwrap().to_string());
+ tasks.remove(&key);
+ } else {
+ println!("Task does not exist: {}", &t);
+ }
}
+ write_files(tasks, done, taskpath, donepath, delete_empty);
return;
}
// remove task
if matches.opt_present("r") {
let task = matches.opt_str("r").unwrap();
- if tasks.contains_key(&task) {
- tasks.remove(&task);
- write_files(tasks, done, taskpath, donepath, delete_empty);
- } else {
- println!("Task does not exist: {}", &task);
+ for t in task.split(',') {
+ let t = String::from(t);
+ if tasks.contains_key(&t) {
+ tasks.remove(&t);
+ } else {
+ println!("Task does not exist: {}", &task);
+ }
}
+ write_files(tasks, done, taskpath, donepath, delete_empty);
return;
}