Jan Chaloupka 005d87
From 481e731c01426bd7488011352515db03a46aa280 Mon Sep 17 00:00:00 2001
Jan Chaloupka 005d87
From: Jan Chaloupka <jchaloup@redhat.com>
Jan Chaloupka 005d87
Date: Mon, 6 Nov 2017 23:05:19 +0100
Jan Chaloupka 005d87
Subject: [PATCH] hack-to-generate-man-pages
Jan Chaloupka 005d87
Jan Chaloupka 005d87
---
Jan Chaloupka 005d87
 .../_workspace/src/github.com/urfave/cli/flag.go   |  4 +-
Jan Chaloupka 005d87
 etcdctl/ctlv2/ctl.go                               | 62 ++++++++++++++++++++++
Jan Chaloupka 005d87
 etcdctl/ctlv3/ctl_nocov.go                         | 13 +++--
Jan Chaloupka 005d87
 3 files changed, 74 insertions(+), 5 deletions(-)
Jan Chaloupka 005d87
Jan Chaloupka 005d87
diff --git a/Godeps/_workspace/src/github.com/urfave/cli/flag.go b/Godeps/_workspace/src/github.com/urfave/cli/flag.go
Jan Chaloupka 005d87
index f8a28d1..9787fe1 100644
Jan Chaloupka 005d87
--- a/Godeps/_workspace/src/github.com/urfave/cli/flag.go
Jan Chaloupka 005d87
+++ b/Godeps/_workspace/src/github.com/urfave/cli/flag.go
Jan Chaloupka 005d87
@@ -752,7 +752,7 @@ func prefixedNames(fullName, placeholder string) string {
Jan Chaloupka 005d87
 	parts := strings.Split(fullName, ",")
Jan Chaloupka 005d87
 	for i, name := range parts {
Jan Chaloupka 005d87
 		name = strings.Trim(name, " ")
Jan Chaloupka 005d87
-		prefixed += prefixFor(name) + name
Jan Chaloupka 005d87
+		prefixed += "\\fB" + prefixFor(name) + name + "\\fP"
Jan Chaloupka 005d87
 		if placeholder != "" {
Jan Chaloupka 005d87
 			prefixed += " " + placeholder
Jan Chaloupka 005d87
 		}
Jan Chaloupka 005d87
@@ -828,7 +828,7 @@ func stringifyFlag(f Flag) string {
Jan Chaloupka 005d87
 	usageWithDefault := strings.TrimSpace(fmt.Sprintf("%s%s", usage, defaultValueString))
Jan Chaloupka 005d87
 
Jan Chaloupka 005d87
 	return withEnvHint(fv.FieldByName("EnvVar").String(),
Jan Chaloupka 005d87
-		fmt.Sprintf("%s\t%s", prefixedNames(fv.FieldByName("Name").String(), placeholder), usageWithDefault))
Jan Chaloupka 005d87
+		fmt.Sprintf("%s\n\t\t\t%s", prefixedNames(fv.FieldByName("Name").String(), placeholder), usageWithDefault))
Jan Chaloupka 005d87
 }
Jan Chaloupka 005d87
 
Jan Chaloupka 005d87
 func stringifyIntSliceFlag(f IntSliceFlag) string {
Jan Chaloupka 005d87
diff --git a/etcdctl/ctlv2/ctl.go b/etcdctl/ctlv2/ctl.go
Jan Chaloupka 005d87
index e949b06..eb5170a 100644
Jan Chaloupka 005d87
--- a/etcdctl/ctlv2/ctl.go
Jan Chaloupka 005d87
+++ b/etcdctl/ctlv2/ctl.go
Jan Chaloupka 005d87
@@ -42,6 +42,68 @@ func Start(apiv string) {
Jan Chaloupka 005d87
 			"   Set environment variable ETCDCTL_API=3 to use v3 API or ETCDCTL_API=2 to use v2 API."
Jan Chaloupka 005d87
 	}
Jan Chaloupka 005d87
 
Jan Chaloupka 005d87
+	cli.AppHelpTemplate = `.TH "ETCD" "1" " etcd User Manuals" "Etcd contributors" "Nov 2017"  ""
Jan Chaloupka 005d87
+.SH NAME:
Jan Chaloupka 005d87
+{{.Name}} - {{.Usage}}
Jan Chaloupka 005d87
+
Jan Chaloupka 005d87
+{{if .Version}}
Jan Chaloupka 005d87
+.SH VERSION:
Jan Chaloupka 005d87
+   {{.Version}}
Jan Chaloupka 005d87
+{{end}}
Jan Chaloupka 005d87
+
Jan Chaloupka 005d87
+.SH USAGE:
Jan Chaloupka 005d87
+   {{.HelpName}} {{if .VisibleFlags}}[global options]{{end}}{{if .Commands}} command [command options]{{end}} {{if .ArgsUsage}}{{.ArgsUsage}}{{else}}[arguments...]{{end}}
Jan Chaloupka 005d87
+   {{if .Commands}}
Jan Chaloupka 005d87
+
Jan Chaloupka 005d87
+.SH COMMANDS:
Jan Chaloupka 005d87
+{{range .Commands}}{{if not .HideHelp}}\fB{{ .Name }}\fP{{ "\n\t\t\t" }}{{.Usage}}{{ "\n" }}
Jan Chaloupka 005d87
+
Jan Chaloupka 005d87
+{{end}}{{end}}{{end}}{{if .VisibleFlags}}
Jan Chaloupka 005d87
+
Jan Chaloupka 005d87
+.SH GLOBAL OPTIONS:
Jan Chaloupka 005d87
+{{range .VisibleFlags}}{{ . }}
Jan Chaloupka 005d87
+
Jan Chaloupka 005d87
+{{end}}{{end}}
Jan Chaloupka 005d87
+
Jan Chaloupka 005d87
+.SH SEE ALSO
Jan Chaloupka 005d87
+{{range .Commands}}{{if not .HideHelp}}{{if ne .Name "help" }}\fBetcdctl-{{ .Name }}(1)\fP,
Jan Chaloupka 005d87
+{{end}}{{end}}{{end}}
Jan Chaloupka 005d87
+`
Jan Chaloupka 005d87
+
Jan Chaloupka 005d87
+	cli.CommandHelpTemplate = `.TH "ETCD" "1" " etcd User Manuals" "Etcd contributors" "Nov 2017"  ""
Jan Chaloupka 005d87
+.SH NAME:
Jan Chaloupka 005d87
+   {{.HelpName}} - {{.Usage}}
Jan Chaloupka 005d87
+
Jan Chaloupka 005d87
+.SH USAGE:
Jan Chaloupka 005d87
+   {{.HelpName}}{{if .VisibleFlags}} [command options]{{end}} {{if .ArgsUsage}}{{.ArgsUsage}}{{else}}[arguments...]{{end}}
Jan Chaloupka 005d87
+
Jan Chaloupka 005d87
+{{if .VisibleFlags}}
Jan Chaloupka 005d87
+.SH OPTIONS:
Jan Chaloupka 005d87
+   {{range .VisibleFlags}}{{.}}
Jan Chaloupka 005d87
+   {{end}}{{end}}
Jan Chaloupka 005d87
+`
Jan Chaloupka 005d87
+
Jan Chaloupka 005d87
+
Jan Chaloupka 005d87
+	cli.SubcommandHelpTemplate = `.TH "ETCD" "1" " etcd User Manuals" "Etcd contributors" "Nov 2017"  ""
Jan Chaloupka 005d87
+.SH NAME:
Jan Chaloupka 005d87
+   {{.HelpName}} - {{.Usage}}
Jan Chaloupka 005d87
+
Jan Chaloupka 005d87
+.SH USAGE:
Jan Chaloupka 005d87
+   {{.HelpName}} command{{if .VisibleFlags}} [command options]{{end}} {{if .ArgsUsage}}{{.ArgsUsage}}{{else}}[arguments...]{{end}}
Jan Chaloupka 005d87
+
Jan Chaloupka 005d87
+.SH COMMANDS:
Jan Chaloupka 005d87
+{{range .VisibleCategories}}{{if .Name}}
Jan Chaloupka 005d87
+{{.Name}}:{{end}}{{range .VisibleCommands}}
Jan Chaloupka 005d87
+\fB{{ .Name }}\fP{{"\n\t\t\t"}}{{.Usage}}{{ "\n" }}{{end}}
Jan Chaloupka 005d87
+{{end}}
Jan Chaloupka 005d87
+
Jan Chaloupka 005d87
+{{if .VisibleFlags}}
Jan Chaloupka 005d87
+.SH OPTIONS:
Jan Chaloupka 005d87
+{{range .VisibleFlags}}{{.}}
Jan Chaloupka 005d87
+{{end}}{{end}}
Jan Chaloupka 005d87
+`
Jan Chaloupka 005d87
+
Jan Chaloupka 005d87
+
Jan Chaloupka 005d87
 	app.Flags = []cli.Flag{
Jan Chaloupka 005d87
 		cli.BoolFlag{Name: "debug", Usage: "output cURL commands which can be used to reproduce the request"},
Jan Chaloupka 005d87
 		cli.BoolFlag{Name: "no-sync", Usage: "don't synchronize cluster information before sending request"},
Jan Chaloupka 005d87
diff --git a/etcdctl/ctlv3/ctl_nocov.go b/etcdctl/ctlv3/ctl_nocov.go
Jan Chaloupka 005d87
index 52751fe..e3089cf 100644
Jan Chaloupka 005d87
--- a/etcdctl/ctlv3/ctl_nocov.go
Jan Chaloupka 005d87
+++ b/etcdctl/ctlv3/ctl_nocov.go
Jan Chaloupka 005d87
@@ -16,13 +16,20 @@
Jan Chaloupka 005d87
 
Jan Chaloupka 005d87
 package ctlv3
Jan Chaloupka 005d87
 
Jan Chaloupka 005d87
-import "github.com/coreos/etcd/etcdctl/ctlv3/command"
Jan Chaloupka 005d87
+//import "github.com/coreos/etcd/etcdctl/ctlv3/command"
Jan Chaloupka 005d87
+import "github.com/spf13/cobra"
Jan Chaloupka 005d87
 
Jan Chaloupka 005d87
 func Start() {
Jan Chaloupka 005d87
 	rootCmd.SetUsageFunc(usageFunc)
Jan Chaloupka 005d87
 	// Make help just show the usage
Jan Chaloupka 005d87
 	rootCmd.SetHelpTemplate(`{{.UsageString}}`)
Jan Chaloupka 005d87
-	if err := rootCmd.Execute(); err != nil {
Jan Chaloupka 005d87
-		command.ExitWithError(command.ExitError, err)
Jan Chaloupka 005d87
+	//if err := rootCmd.Execute(); err != nil {
Jan Chaloupka 005d87
+	//	command.ExitWithError(command.ExitError, err)
Jan Chaloupka 005d87
+	//}
Jan Chaloupka 005d87
+	header := &cobra.GenManHeader{
Jan Chaloupka 005d87
+		Title: "etcdctl3",
Jan Chaloupka 005d87
+		Section: "1",
Jan Chaloupka 005d87
 	}
Jan Chaloupka 005d87
+
Jan Chaloupka 005d87
+	cobra.GenManTree(rootCmd, header, "")
Jan Chaloupka 005d87
 }
Jan Chaloupka 005d87
-- 
Jan Chaloupka 005d87
2.7.5
Jan Chaloupka 005d87