always write ts, when a todo with schedule deleted, conditionally go back to schedule for loopers

This commit is contained in:
Bel LaPointe
2022-03-24 09:18:19 -06:00
parent 1b1ed01937
commit 21ccb7ff4c
3 changed files with 37 additions and 4 deletions

View File

@@ -14,6 +14,7 @@ import (
"sort"
"strings"
"syscall"
"time"
"gopkg.in/yaml.v2"
)
@@ -172,14 +173,21 @@ func edit(dry bool, filepaths []string) error {
for i := range newTodos {
newTodoIDs[newTodos[i].ID()] = struct{}{}
}
for i := range original.Todo {
if _, ok := newTodoIDs[original.Todo[i].ID()]; !ok {
original.Done = append(original.Done, original.Todo[i])
original.Todo[i].TS = pttodo.TS(time.Now().Unix())
if string(original.Todo[i].Schedule) != "" && !original.Todo[i].Triggered() {
original.Scheduled = append(original.Scheduled, original.Todo[i])
} else {
original.Done = append(original.Done, original.Todo[i])
}
}
}
original.Todo = newTodos
original.AutoMove()
c, err := yaml.Marshal(original)
if err != nil {
return err