progressing
parent
97f2cb197f
commit
8b63254cf0
27
cmd/edit.go
27
cmd/edit.go
|
|
@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue