From 2b28ee919614d5ddaceda26ce488a0ca4c851cb3 Mon Sep 17 00:00:00 2001 From: ewy Date: Wed, 29 Apr 2026 01:30:12 +0200 Subject: simplify the contracts --- run/edit.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 run/edit.go (limited to 'run/edit.go') 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() +} -- cgit v1.3.1