diff --git a/cmd/pttodo-cli/cli.go b/cmd/pttodo-cli/cli.go index 3f99cb2..eb1ed84 100644 --- a/cmd/pttodo-cli/cli.go +++ b/cmd/pttodo-cli/cli.go @@ -92,7 +92,10 @@ func edit(dry bool, filepath string) error { return nil } verify := func() error { - return dump(true, io.Discard, tempFile) + if err := dump(true, io.Discard, tempFile); err != nil { + return fmt.Errorf("failed to verify %s: %v", tempFile, err) + } + return nil } save := func() error { if dry { @@ -104,12 +107,12 @@ func edit(dry bool, filepath string) error { for _, foo := range []func() error{cp, vi, verify, save} { if err := foo(); err != nil { - if tempFile != "" && !dry { - os.Remove(tempFile) - } return err } } + if !dry { + os.Remove(tempFile) + } return nil } diff --git a/sample.yaml b/testdata/sample.yaml similarity index 100% rename from sample.yaml rename to testdata/sample.yaml diff --git a/todo.yaml b/todo.yaml index d4da128..9eef4cc 100644 --- a/todo.yaml +++ b/todo.yaml @@ -1,10 +1,16 @@ todo: -- todo: when to run scheduled modifier? like, syncthing could have conflicts if I modify only file on remote +- todo: crap losing on a bad edit hurts + details: | + ? +- vim doesnt source vimrc +- todo: when to run scheduled modifier? like, syncthing could have conflicts if I + modify only file on remote + ts: 1641007992 details: | - if it's a web ui hook or somethin, then it'd only have file conflict if I modify without waiting - but thats a step back from current todo solution - - todo: ez edit on many platforms, even offline and mobile + ts: 1641007992 details: | mobile view + complete method collab editing of file prob resolves mobile and other stuff... @@ -12,22 +18,24 @@ todo: web server access to ops is a web ui for mobile best solution? let git be smart-ish and keep latest? would provide versioning OOTB without touching raw - +scheduled: [] done: -- todo: crontab -e style editing to ensure good syntax +- crontab -e style editing to ensure good syntax - todo: YAML based todo - details: - because goddamnit a year of this shit - isn't significant on disk or in RAM for vim + ts: 1641007992 + details: because goddamnit a year of this shit isn't significant on disk or in RAM + for vim - todo: yaml based todo for plaintext + ts: 1641007992 details: a year isnt even a mb - ez edit, start on many platforms - defer - schedule - looping - details -- todo: let UI be UI for whatever platform +- let UI be UI for whatever platform - tags - todo: sub tasks + ts: 1641007992 subtasks: - a