package main import ( "os" "io" "fmt" "golang.flu0r1ne.net/planr/cmd/sub" ) const ( VERSION = "0.0.1" ) 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 ") } func dieUsage() { printUsage(os.Stderr) os.Exit(1) } func main() { 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": sub.Evaluate(subargs) case "help", "-h", "-help", "--help": printUsage(os.Stdout) default: fmt.Fprintf(os.Stderr, "unrecognized command %s\n", subcommand) dieUsage() } }