diff options
| author | Evsyukov Denis Anatolyevich <[email protected]> | 2020-03-10 09:29:27 +0300 |
|---|---|---|
| committer | Evsyukov Denis Anatolyevich <[email protected]> | 2020-03-10 09:29:27 +0300 |
| commit | 071d08e41b5b896af95a58a48bb4fc5077701502 (patch) | |
| tree | eb3a2c5ae38e68a295a5a5c298d251d06470b749 | |
| parent | [+] remove and edit tasks (diff) | |
| download | t-071d08e41b5b896af95a58a48bb4fc5077701502.tar.xz t-071d08e41b5b896af95a58a48bb4fc5077701502.zip | |
[+] support for multiple ids in remove and finish
| -rw-r--r-- | src/main.rs | 30 |
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; } |