package main import ( "fmt" "io" "log" "os" "golang.flu0r1ne.net/planr/cmd/planr/sub" ) const ( VERSION = "0.0.3" ) func printUsage(w io.Writer) { fmt.Fprintf (w, "usage: %s command args ... \n", os.Args[0]) fmt.Fprintln(w, " help ") fmt.Fprintln(w, " version ") fmt.Fprintln(w, " build ") fmt.Fprintln(w, " evaluate ") fmt.Fprintln(w, " clean ") } func dieUsage() { printUsage(os.Stderr) os.Exit(1) } func main() { log.SetFlags(log.Llongfile | log.Lmsgprefix) log.SetPrefix("planr: ") if len(os.Args) < 2 { dieUsage() } subcommand := os.Args[1] subargs := os.Args[2:] switch subcommand { case "version": fmt.Printf("%s\n", VERSION) case "build": sub.Build(subargs) case "evaluate","eval": sub.Evaluate(subargs) case "clean": sub.Clean(subargs) case "help", "-h", "-help", "--help": printUsage(os.Stdout) default: fmt.Fprintf(os.Stderr, "unrecognized command %s\n", subcommand) dieUsage() } }