From b573c5bfa90c57190f3594f447b1b8c515b93629 Mon Sep 17 00:00:00 2001 From: Kuthumi Pepple Date: Tue, 26 Apr 2022 16:03:02 +0100 Subject: [PATCH] define usage template and improve readability --- pkg/cmd/root.go | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/pkg/cmd/root.go b/pkg/cmd/root.go index 44d198a247..d743e715ba 100644 --- a/pkg/cmd/root.go +++ b/pkg/cmd/root.go @@ -85,9 +85,7 @@ func kamelPreAddCommandInit(options *RootCmdOptions) *cobra.Command { cmd.PersistentFlags().StringVarP(&options.Namespace, "namespace", "n", "", "Namespace to use for all operations") cobra.AddTemplateFunc("wrappedFlagUsages", wrappedFlagUsages) - usageTmpl := cmd.UsageTemplate() - usageTmpl = strings.Replace(usageTmpl, ".LocalFlags.FlagUsages", " wrappedFlagUsages .", 1) - cmd.SetUsageTemplate(usageTmpl) + cmd.SetUsageTemplate(usageTemplate) return &cmd } @@ -251,3 +249,28 @@ func wrappedFlagUsages(cmd *cobra.Command) string { } return cmd.Flags().FlagUsagesWrapped(width - 1) } + +var usageTemplate = `Usage:{{if .Runnable}} + {{.UseLine}}{{end}}{{if .HasAvailableSubCommands}} + {{.CommandPath}} [command]{{end}}{{if gt (len .Aliases) 0}} + +Aliases: + {{.NameAndAliases}}{{end}}{{if .HasExample}} + +Examples: +{{.Example}}{{end}}{{if .HasAvailableSubCommands}} + +Available Commands:{{range .Commands}}{{if (or .IsAvailableCommand (eq .Name "help"))}} + {{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}{{end}}{{if .HasAvailableLocalFlags}} + +Flags: +{{ wrappedFlagUsages . | trimTrailingWhitespaces}}{{end}}{{if .HasAvailableInheritedFlags}} + +Global Flags: +{{.InheritedFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}{{if .HasHelpSubCommands}} + +Additional help topics:{{range .Commands}}{{if .IsAdditionalHelpTopicCommand}} + {{rpad .CommandPath .CommandPathPadding}} {{.Short}}{{end}}{{end}}{{end}}{{if .HasAvailableSubCommands}} + +Use "{{.CommandPath}} [command] --help" for more information about a command.{{end}} +`