summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs26
1 files changed, 25 insertions, 1 deletions
diff --git a/src/main.rs b/src/main.rs
index 59a7a0d..06431e8 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -54,7 +54,31 @@ fn command_generate(week: &str) {
}
fn command_validate() {
- // TODO
+ let today = Local::now().date().naive_local();
+ let paths = relevant_files_starting(&today);
+ let mut tasks: Vec<Task> = vec![];
+ for path in paths {
+ for task in tasks_from_path(&path) {
+ if task.date >= today && task.start_time.is_some() && task.end_time.is_some() {
+ tasks.push(task);
+ }
+ }
+ }
+ tasks.sort_by(cmp_tasks);
+ let n_tasks = tasks.len();
+ for i in 0..n_tasks {
+ let task_a = &tasks[i];
+ for j in (i + 1)..n_tasks {
+ let task_b = &tasks[j];
+ if tasks_overlap(task_a, task_b) {
+ println!("Overlap found: '{}' overlaps with '{}'",
+ task_a.raw.replace("\n", "").trim(),
+ task_b.raw.replace("\n", "").trim());
+ } else {
+ break;
+ }
+ }
+ }
}
// https://doc.rust-lang.org/std/fs/struct.File.html
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback