mirror of
https://github.com/wahyd4/forego.git
synced 2026-08-09 05:07:05 +10:00
35 lines
453 B
Go
35 lines
453 B
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
)
|
|
|
|
var commands = []*Command{
|
|
cmdStart,
|
|
cmdRun,
|
|
cmdUpdate,
|
|
cmdVersion,
|
|
cmdHelp,
|
|
}
|
|
|
|
func main() {
|
|
args := os.Args[1:]
|
|
if len(args) < 1 {
|
|
usage()
|
|
}
|
|
|
|
for _, cmd := range commands {
|
|
if cmd.Name() == args[0] && cmd.Run != nil {
|
|
cmd.Flag.Usage = func() {
|
|
cmd.printUsage()
|
|
}
|
|
if err := cmd.Flag.Parse(args[1:]); err != nil {
|
|
os.Exit(2)
|
|
}
|
|
cmd.Run(cmd, cmd.Flag.Args())
|
|
return
|
|
}
|
|
}
|
|
usage()
|
|
}
|