package main // This software is licensed for under the Free Software Foundations's GPL v2, as retrieved // from https://opensource.org/licenses/gpl-2.0.php (2021). import ( "os" "io" "fmt" "golang.flu0r1ne.net/zsu/cmd" ) 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, " list [-paths|-p] ") fmt.Fprintln(w, " diff .. ") fmt.Fprintln(w, " cat ") } 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 "list": cmd.List(subargs) case "version": fmt.Printf("%s\n", VERSION) case "cat": cmd.Cat(subargs) case "diff": cmd.Diff(subargs) case "-h", "-help", "--help", "help": printUsage(os.Stdout) default: fmt.Fprintf(os.Stderr, "unrecognized command %s\n", subcommand) dieUsage() } }