mirror of
https://github.com/coder/coder.git
synced 2025-07-06 15:41:45 +00:00
fix: Update cli usage template for cobra feature parity (#1463)
Fixes #1423 Related #1233, #1403
This commit is contained in:
committed by
GitHub
parent
b06ef0ae6e
commit
6c1ef851a2
63
cli/root.go
63
cli/root.go
@ -182,21 +182,68 @@ func usageTemplate() string {
|
|||||||
// Customizes the color of headings to make subcommands
|
// Customizes the color of headings to make subcommands
|
||||||
// more visually appealing.
|
// more visually appealing.
|
||||||
header := cliui.Styles.Placeholder
|
header := cliui.Styles.Placeholder
|
||||||
|
cobra.AddTemplateFunc("usageHeader", func(s string) string {
|
||||||
|
return header.Render(s)
|
||||||
|
})
|
||||||
|
|
||||||
return `{{if .HasExample}}` + header.Render("Get Started:") + `
|
return `{{usageHeader "Usage:"}}
|
||||||
|
{{- if .Runnable}}
|
||||||
|
{{.UseLine}}
|
||||||
|
{{end}}
|
||||||
|
{{- if .HasAvailableSubCommands}}
|
||||||
|
{{.CommandPath}} [command]
|
||||||
|
{{end}}
|
||||||
|
|
||||||
|
{{- if gt (len .Aliases) 0}}
|
||||||
|
{{usageHeader "Aliases:"}}
|
||||||
|
{{.NameAndAliases}}
|
||||||
|
{{end}}
|
||||||
|
|
||||||
|
{{- if .HasExample}}
|
||||||
|
{{usageHeader "Get Started:"}}
|
||||||
{{.Example}}
|
{{.Example}}
|
||||||
|
{{end}}
|
||||||
|
|
||||||
{{end}}{{if .HasAvailableLocalFlags}}` + header.Render("Flags:") + `
|
{{- if .HasAvailableSubCommands}}
|
||||||
{{.LocalFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}{{if .HasAvailableSubCommands}}
|
{{usageHeader "Commands:"}}
|
||||||
|
{{- range .Commands}}
|
||||||
|
{{- if (or (and .IsAvailableCommand (eq (len .Annotations) 0)) (eq .Name "help"))}}
|
||||||
|
{{rpad .Name .NamePadding }} {{.Short}}
|
||||||
|
{{- end}}
|
||||||
|
{{- end}}
|
||||||
|
{{end}}
|
||||||
|
|
||||||
` + header.Render("Commands:") + `{{range .Commands}}{{if and .IsAvailableCommand (eq (len .Annotations) 0)}}
|
{{- if and (not .HasParent) .HasAvailableSubCommands}}
|
||||||
{{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}{{end}}{{if not .HasParent }}
|
{{usageHeader "Workspace Commands:"}}
|
||||||
|
{{- range .Commands}}
|
||||||
|
{{- if (and .IsAvailableCommand (ne (index .Annotations "workspaces") ""))}}
|
||||||
|
{{rpad .Name .NamePadding }} {{.Short}}
|
||||||
|
{{- end}}
|
||||||
|
{{- end}}
|
||||||
|
{{end}}
|
||||||
|
|
||||||
` + header.Render("Workspace Commands:") + `{{range .Commands}}{{if and .IsAvailableCommand (ne (index .Annotations "workspaces") "")}}
|
{{- if .HasAvailableLocalFlags}}
|
||||||
{{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}{{end}}
|
{{usageHeader "Flags:"}}
|
||||||
|
{{.LocalFlags.FlagUsages | trimTrailingWhitespaces}}
|
||||||
|
{{end}}
|
||||||
|
|
||||||
|
{{- if .HasAvailableInheritedFlags}}
|
||||||
|
{{usageHeader "Global Flags:"}}
|
||||||
|
{{.InheritedFlags.FlagUsages | trimTrailingWhitespaces}}
|
||||||
|
{{end}}
|
||||||
|
|
||||||
|
{{- if .HasHelpSubCommands}}
|
||||||
|
{{usageHeader "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.
|
Use "{{.CommandPath}} [command] --help" for more information about a command.
|
||||||
`
|
{{end}}`
|
||||||
}
|
}
|
||||||
|
|
||||||
func versionTemplate() string {
|
func versionTemplate() string {
|
||||||
|
Reference in New Issue
Block a user