Add --cwd override for relative paths
This commit is contained in:
23
main.go
23
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,17 +116,15 @@ 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 != "" {
|
||||
if !filepath.IsAbs(argPath) && cwd != "" {
|
||||
argPath = filepath.Join(cwd, argPath)
|
||||
}
|
||||
}
|
||||
|
||||
absPath, err := filepath.Abs(argPath)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user