From 46d032cd21b0e8e2c94a32333d3805ec76980cca Mon Sep 17 00:00:00 2001 From: ewy Date: Mon, 1 Jun 2026 18:47:44 +0200 Subject: add man(1) generation --- run/edit.go | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'run') diff --git a/run/edit.go b/run/edit.go index f4742ff..47d6362 100644 --- a/run/edit.go +++ b/run/edit.go @@ -3,21 +3,33 @@ package run import ( "errors" "github.com/ewy1/pik/model" + "github.com/ewy1/pik/spool" "os" "os/exec" ) var NoEditorError = errors.New("$EDITOR not set") -func Edit(t model.Target, src *model.Source) error { +func Edit(t model.Target, src *model.Source) *spool.ExitCode { editor := os.Getenv("EDITOR") if editor == "" { - return NoEditorError + return &spool.NoEditorFailure } 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() + err := cmd.Run() + code := 0 + msg := "" + var ex *exec.ExitError + if errors.As(err, &ex) { + code = ex.ExitCode() + msg = ex.String() + } + return &spool.ExitCode{ + Value: code, + Message: msg, + } } -- cgit v1.3.1