From 24fb9be6fbd8c0a55077cff5d60ed7ef161600e6 Mon Sep 17 00:00:00 2001 From: "Thomas G. Lopes" Date: Thu, 19 Feb 2026 16:29:30 +0000 Subject: [PATCH] Add --cwd override for relative paths --- main.go | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/main.go b/main.go index cf0f9f5..d3f9904 100644 --- a/main.go +++ b/main.go @@ -28,17 +28,28 @@ func main() { os.Exit(1) } + args := os.Args[1:] + cwd := "" + if len(args) >= 2 && args[0] == "--cwd" { + cwd = args[1] + args = args[2:] + if len(args) == 0 { + usage() + os.Exit(1) + } + } + var err error - switch os.Args[1] { + switch args[0] { case "apply": err = applyCmd() case "add": - err = addCmd(os.Args[2:]) + err = addCmd(args[1:], cwd) case "help", "-h", "--help": usage() return default: - err = fmt.Errorf("unknown command %q", os.Args[1]) + err = fmt.Errorf("unknown command %q", args[0]) } if err != nil { @@ -105,16 +116,14 @@ func applyCmd() error { return nil } -func addCmd(args []string) error { +func addCmd(args []string, cwd string) error { if len(args) < 1 { return errors.New("missing path") } argPath := args[0] - if !filepath.IsAbs(argPath) { - if cwd := os.Getenv("SIGIL_CWD"); cwd != "" { - argPath = filepath.Join(cwd, argPath) - } + if !filepath.IsAbs(argPath) && cwd != "" { + argPath = filepath.Join(cwd, argPath) } absPath, err := filepath.Abs(argPath)