diff options
| author | ewy <ewy0@protonmail.com> | 2026-04-29 01:30:12 +0200 |
|---|---|---|
| committer | ewy <ewy0@protonmail.com> | 2026-04-29 01:30:12 +0200 |
| commit | 2b28ee919614d5ddaceda26ce488a0ca4c851cb3 (patch) | |
| tree | df9a9af3f6b37165c9522eefea8456aa1baea9d5 /run | |
| parent | 19f68366eb4a2c01f801b29585fd0a36bdf47488 (diff) | |
simplify the contracts
Diffstat (limited to 'run')
| -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() +} |
