package main import ( "flag" "log" "os" "github.com/itzg/go-flagsfiller" ) func main() { if len(os.Args) < 2 { return } var cmd *cmd for n, c := range commands { if os.Args[1] == n { cmd = &c break } } if cmd == nil { return } if cmd.config != nil { filler := flagsfiller.New() err := filler.Fill(flag.CommandLine, cmd.config) if err != nil { log.Fatal(err) } } cmd.Run() }