diff --git a/cmd/pttodo-cli/cli.go b/cmd/pttodo-cli/cli.go index dae7d4b..6771f94 100644 --- a/cmd/pttodo-cli/cli.go +++ b/cmd/pttodo-cli/cli.go @@ -158,15 +158,22 @@ func edit(dry bool, filepaths []string) error { return nil } for _, target := range filepaths { + b, err := ioutil.ReadFile(path.Join(tempDir, path.Base(target))) + if err != nil { + return err + } + var newTodos []pttodo.Todo + if err := yaml.Unmarshal(b, &newTodos); err != nil { + return err + } original := originals[target] - if b, err := ioutil.ReadFile(path.Join(tempDir, path.Base(target))); err != nil { + original.Todo = newTodos + original.AutoMove() + c, err := yaml.Marshal(original) + if err != nil { return err - } else if err := yaml.Unmarshal(b, &original.Todo); err != nil { - return err - } else if original.AutoMove(); false { - } else if c, err := yaml.Marshal(original); err != nil { - return err - } else if err := ioutil.WriteFile(target, c, os.ModePerm); err != nil { + } + if err := ioutil.WriteFile(target, c, os.ModePerm); err != nil { return err } } diff --git a/cmd/pttodo-cli/pttodo-cli b/cmd/pttodo-cli/pttodo-cli index 65d1bc4..a02e6a8 100755 Binary files a/cmd/pttodo-cli/pttodo-cli and b/cmd/pttodo-cli/pttodo-cli differ