hub/main.go

38 строки
578 B
Go
Исходник Обычный вид История

2013-04-09 08:53:13 +04:00
package main
import (
"fmt"
2013-05-29 22:58:46 +04:00
"github.com/jingweno/gh/commands"
2013-04-09 08:53:13 +04:00
"os"
2013-04-30 06:45:57 +04:00
)
2013-04-22 07:36:21 +04:00
2013-04-09 08:53:13 +04:00
func main() {
args := os.Args[1:]
if len(args) < 1 {
2013-05-29 22:58:46 +04:00
commands.Usage()
2013-04-09 08:53:13 +04:00
}
2013-06-18 01:15:59 +04:00
for _, cmd := range commands.All() {
2013-05-29 22:58:46 +04:00
if cmd.Name() == args[0] && cmd.Runnable() {
2013-06-18 00:56:57 +04:00
cmdArgs := args[1:]
if !cmd.GitExtension {
cmd.Flag.Usage = func() {
cmd.PrintUsage()
}
if err := cmd.Flag.Parse(args[1:]); err != nil {
os.Exit(2)
}
cmdArgs = cmd.Flag.Args()
2013-04-09 08:53:13 +04:00
}
2013-06-18 00:56:57 +04:00
cmd.Run(cmd, cmdArgs)
2013-04-09 08:53:13 +04:00
return
}
}
fmt.Fprintf(os.Stderr, "Unknown command: %s\n", args[0])
2013-05-29 22:58:46 +04:00
commands.Usage()
}