progressing

master
Bel LaPointe 2023-11-06 13:29:21 -07:00
parent 97f2cb197f
commit 8b63254cf0
1 changed files with 26 additions and 1 deletions

View File

@ -110,13 +110,38 @@ func inEditableDir(filepaths []string) (string, error) {
} }
func copyTodoToDir(d string, filepaths []string) error { func copyTodoToDir(d string, filepaths []string) error {
inboxes := []string{}
for _, target := range filepaths { for _, target := range filepaths {
p := path.Join(d, path.Base(target)) p := path.Join(d, path.Base(target))
if strings.Contains(path.Base(target), ".todo.") {
inboxes = append(inboxes, target)
continue
}
if root, err := pttodo.NewRootFromFile(target); err != nil { if root, err := pttodo.NewRootFromFile(target); err != nil {
return err return err
} else if b, err := yaml.Marshal(root.Todo); err != nil { } else if b, err := yaml.Marshal(root.Todo); err != nil {
return err return err
} else if err := ioutil.WriteFile(p, b, os.ModePerm); err != nil { } else if err := os.WriteFile(p, b, os.ModePerm); err != nil {
return err
}
}
for _, inbox := range inboxes {
target := path.Join(path.Dir(inbox), strings.Split(path.Base(inbox), ".todo.")[0])
p := path.Join(d, path.Base(target))
root, err := pttodo.NewRootFromFile(p)
if err != nil {
return err
}
subroot, err := pttodo.NewRootFromFile(inbox)
if err != nil {
return err
}
root.MergeIn(subroot)
if b, err := yaml.Marshal(root.Todo); err != nil {
return err
} else if err := os.WriteFile(p, b, os.ModePerm); err != nil {
return err return err
} }
} }