From 1d26cf125fcdd85414681c22637ea19256912697 Mon Sep 17 00:00:00 2001 From: Bel LaPointe Date: Wed, 23 Mar 2022 08:04:35 -0600 Subject: [PATCH] if item in todo is scheduled for later, then move it --- pttodo/root.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pttodo/root.go b/pttodo/root.go index a4b2723..0059958 100644 --- a/pttodo/root.go +++ b/pttodo/root.go @@ -20,6 +20,23 @@ func (root Root) Equals(other Root) bool { return true } +func (root *Root) AutoMove() { + root.MoveScheduledToTodo() + root.MoveTodoToScheduled() +} + +func (root *Root) MoveTodoToScheduled() { + for i := len(root.Todo) - 1; i >= 0; i-- { + if root.Todo[i].Schedule != "" && !root.Todo[i].Triggered() { + root.Scheduled = append(root.Scheduled, root.Todo[i]) + for j := i; j < len(root.Todo)-1; j++ { + root.Todo[j] = root.Todo[j+1] + } + root.Todo = root.Todo[:len(root.Todo)-1] + } + } +} + func (root *Root) MoveScheduledToTodo() { for i := len(root.Scheduled) - 1; i >= 0; i-- { if root.Scheduled[i].Triggered() {