From 00e03ce591b5aea612d5257b935402ddeca6c1c6 Mon Sep 17 00:00:00 2001 From: flu0r1ne Date: Wed, 21 Jul 2021 19:12:45 -0500 Subject: Directory structure for list cmd --- main.go | 47 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 2 deletions(-) (limited to 'main.go') diff --git a/main.go b/main.go index 8bc5cc2..ea477f4 100644 --- a/main.go +++ b/main.go @@ -1,7 +1,50 @@ package main -import "fmt" +import ( + "os" + "io" + "fmt" + "golang.flu0r1ne.net/zfdiff/cmds" +) + +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 [-walk|-w] .. ") + fmt.Fprintln(w, " cat ") + fmt.Fprintln(w, " overwrite [-backup|-b] ") +} + +func dieUsage() { + printUsage(os.Stderr) + os.Exit(1) +} func main() { - fmt.Println("Hello"); + + if len(os.Args) < 2 { + dieUsage() + } + + subcommand := os.Args[1] + subargs := os.Args[2:] + + switch subcommand { + case "list": + cmd.List(subargs) + case "overwrite": + //overwrite(subargs) + case "cat": + //cmd.Cat(subargs) + case "diff": + //diff(subargs) + case "-h", "-help", "--help", "help": + printUsage(os.Stdout) + default: + fmt.Fprintf(os.Stderr, "unrecognized command %s\n", subcommand) + dieUsage() + } + } -- cgit v1.2.3