From 071d08e41b5b896af95a58a48bb4fc5077701502 Mon Sep 17 00:00:00 2001 From: Evsyukov Denis Anatolyevich Date: Tue, 10 Mar 2020 09:29:27 +0300 Subject: [+] support for multiple ids in remove and finish --- src/main.rs | 30 ++++++++++++++++++------------ 1 file 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; } -- cgit v1.2.3