Просмотр исходного кода

Update help option

* Show program usage when no arguments are provided
* Exit program after the -h or --help options are used
Cristhian Amaya 7 лет назад
Родитель
Сommit
8896cf66cd
2 измененных файлов с 19 добавлено и 3 удалено
  1. 4 1
      CHANGELOG.md
  2. 15 2
      main.go

+ 4 - 1
CHANGELOG.md

@@ -1,6 +1,9 @@
 CHANGELOG
 CHANGELOG
 =========
 =========
-
+1.12.1
+----
+- Show program usage when no arguments are provided
+- Exit program after the -h or --help options are used
 1.12.0
 1.12.0
 ----
 ----
 - removing --csv option
 - removing --csv option

+ 15 - 2
main.go

@@ -126,7 +126,7 @@ type gitDiff struct {
 }
 }
 
 
 const defaultGithubURL = "https://api.github.com/"
 const defaultGithubURL = "https://api.github.com/"
-const version = "1.12.0"
+const version = "1.12.1"
 const errExit = 2
 const errExit = 2
 const leakExit = 1
 const leakExit = 1
 const defaultConfig = `
 const defaultConfig = `
@@ -207,7 +207,20 @@ func init() {
 }
 }
 
 
 func main() {
 func main() {
-	_, err := flags.Parse(&opts)
+	parser := flags.NewParser(&opts, flags.Default)
+	_, err := parser.Parse()
+
+	if err != nil {
+		if flagsErr, ok := err.(*flags.Error); ok && flagsErr.Type == flags.ErrHelp {
+			os.Exit(0)
+		}
+	}
+
+	if len(os.Args) == 1 {
+		parser.WriteHelp(os.Stdout)
+		os.Exit(0)
+	}
+
 	if opts.Version {
 	if opts.Version {
 		fmt.Println(version)
 		fmt.Println(version)
 		os.Exit(0)
 		os.Exit(0)