gopkg.in/frapposelli/wwhrd.v0@v0.2.1/wwhrd.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"os"
     6  
     7  	"github.com/jessevdk/go-flags"
     8  	log "github.com/sirupsen/logrus"
     9  )
    10  
    11  // Initialize and run wwhrd
    12  func main() {
    13  	parser := newCli()
    14  	c, err := parser.Parse()
    15  	if err != nil {
    16  		if _, ok := err.(*flags.Error); ok {
    17  			typ := err.(*flags.Error).Type
    18  			switch {
    19  			case typ == VersionHelp:
    20  				fmt.Println(err.(*flags.Error).Message)
    21  			case typ == flags.ErrHelp:
    22  				parser.WriteHelp(os.Stdout)
    23  			case typ == flags.ErrCommandRequired && len(c[0]) == 0:
    24  				parser.WriteHelp(os.Stdout)
    25  			default:
    26  				log.Info(err.Error() + string(typ))
    27  				parser.WriteHelp(os.Stdout)
    28  			}
    29  		} else {
    30  			log.Fatalf("Exiting: %s", err.Error())
    31  		}
    32  	}
    33  }