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)
|
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
|
var err error
|
||||||
switch os.Args[1] {
|
switch args[0] {
|
||||||
case "apply":
|
case "apply":
|
||||||
err = applyCmd()
|
err = applyCmd()
|
||||||
case "add":
|
case "add":
|
||||||
err = addCmd(os.Args[2:])
|
err = addCmd(args[1:], cwd)
|
||||||
case "help", "-h", "--help":
|
case "help", "-h", "--help":
|
||||||
usage()
|
usage()
|
||||||
return
|
return
|
||||||
default:
|
default:
|
||||||
err = fmt.Errorf("unknown command %q", os.Args[1])
|
err = fmt.Errorf("unknown command %q", args[0])
|
||||||
}
|
}
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -105,17 +116,15 @@ func applyCmd() error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func addCmd(args []string) error {
|
func addCmd(args []string, cwd string) error {
|
||||||
if len(args) < 1 {
|
if len(args) < 1 {
|
||||||
return errors.New("missing path")
|
return errors.New("missing path")
|
||||||
}
|
}
|
||||||
|
|
||||||
argPath := args[0]
|
argPath := args[0]
|
||||||
if !filepath.IsAbs(argPath) {
|
if !filepath.IsAbs(argPath) && cwd != "" {
|
||||||
if cwd := os.Getenv("SIGIL_CWD"); cwd != "" {
|
|
||||||
argPath = filepath.Join(cwd, argPath)
|
argPath = filepath.Join(cwd, argPath)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
absPath, err := filepath.Abs(argPath)
|
absPath, err := filepath.Abs(argPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user