diff options
Diffstat (limited to 'run/edit.go')
| -rw-r--r-- | run/edit.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/run/edit.go b/run/edit.go new file mode 100644 index 0000000..ad7645c --- /dev/null +++ b/run/edit.go @@ -0,0 +1,23 @@ +package run + +import ( + "errors" + "os" + "os/exec" + "pik/model" +) + +var NoEditorError = errors.New("$EDITOR not set") + +func Edit(t model.Target, src *model.Source) error { + editor := os.Getenv("EDITOR") + if editor == "" { + return NoEditorError + } + cmd := exec.Command(editor, t.File(src)) + cmd.Stdin = os.Stdin + cmd.Stdout = os.Stdout + cmd.Stderr = os.Stderr + cmd.Dir = src.Path + return cmd.Run() +} |
