summaryrefslogtreecommitdiff
path: root/run
diff options
context:
space:
mode:
authorewy <ewy0@protonmail.com>2026-04-29 01:30:12 +0200
committerewy <ewy0@protonmail.com>2026-04-29 01:30:12 +0200
commit2b28ee919614d5ddaceda26ce488a0ca4c851cb3 (patch)
treedf9a9af3f6b37165c9522eefea8456aa1baea9d5 /run
parent19f68366eb4a2c01f801b29585fd0a36bdf47488 (diff)
simplify the contracts
Diffstat (limited to 'run')
-rw-r--r--run/edit.go23
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()
+}