github.com/haagen/force@v0.19.6-0.20140911230915-22addd930b34/main.go (about) 1 package main 2 3 import ( 4 "os" 5 ) 6 7 var commands = []*Command{ 8 cmdLogin, 9 cmdLogout, 10 cmdLogins, 11 cmdActive, 12 cmdWhoami, 13 cmdSobject, 14 cmdField, 15 cmdRecord, 16 cmdBulk, 17 cmdExport, 18 cmdFetch, 19 cmdImport, 20 cmdQuery, 21 cmdBulk, 22 cmdApex, 23 cmdOauth, 24 cmdTest, 25 cmdVersion, 26 cmdUpdate, 27 cmdHelp, 28 cmdPush, 29 cmdPushAura, 30 cmdAura, 31 cmdPassword, 32 cmdNotifySet, 33 } 34 35 func main() { 36 args := os.Args[1:] 37 if len(args) < 1 { 38 usage() 39 } 40 41 for _, cmd := range commands { 42 if cmd.Name() == args[0] && cmd.Run != nil { 43 cmd.Flag.Usage = func() { 44 cmd.printUsage() 45 } 46 if err := cmd.Flag.Parse(args[1:]); err != nil { 47 os.Exit(2) 48 } 49 cmd.Run(cmd, cmd.Flag.Args()) 50 return 51 } 52 } 53 usage() 54 }