| package cli |
| |
| var helpNameTemplate = `{{$v := offset .HelpName 6}}{{wrap .HelpName 3}}{{if .Usage}} - {{wrap .Usage $v}}{{end}}` |
| var usageTemplate = `{{if .UsageText}}{{wrap .UsageText 3}}{{else}}{{.HelpName}}{{if .VisibleFlags}} [command options]{{end}}{{if .ArgsUsage}} {{.ArgsUsage}}{{else}}{{if .Args}} [arguments...]{{end}}{{end}}{{end}}` |
| var descriptionTemplate = `{{wrap .Description 3}}` |
| var authorsTemplate = `{{with $length := len .Authors}}{{if ne 1 $length}}S{{end}}{{end}}: |
| {{range $index, $author := .Authors}}{{if $index}} |
| {{end}}{{$author}}{{end}}` |
| var visibleCommandTemplate = `{{ $cv := offsetCommands .VisibleCommands 5}}{{range .VisibleCommands}} |
| {{$s := join .Names ", "}}{{$s}}{{ $sp := subtract $cv (offset $s 3) }}{{ indent $sp ""}}{{wrap .Usage $cv}}{{end}}` |
| var visibleCommandCategoryTemplate = `{{range .VisibleCategories}}{{if .Name}} |
| {{.Name}}:{{range .VisibleCommands}} |
| {{join .Names ", "}}{{"\t"}}{{.Usage}}{{end}}{{else}}{{template "visibleCommandTemplate" .}}{{end}}{{end}}` |
| var visibleFlagCategoryTemplate = `{{range .VisibleFlagCategories}} |
| {{if .Name}}{{.Name}} |
| |
| {{end}}{{$flglen := len .Flags}}{{range $i, $e := .Flags}}{{if eq (subtract $flglen $i) 1}}{{$e}} |
| {{else}}{{$e}} |
| {{end}}{{end}}{{end}}` |
| |
| var visibleFlagTemplate = `{{range $i, $e := .VisibleFlags}} |
| {{wrap $e.String 6}}{{end}}` |
| |
| var versionTemplate = `{{if .Version}}{{if not .HideVersion}} |
| |
| VERSION: |
| {{.Version}}{{end}}{{end}}` |
| |
| var copyrightTemplate = `{{wrap .Copyright 3}}` |
| |
| // AppHelpTemplate is the text template for the Default help topic. |
| // cli.go uses text/template to render templates. You can |
| // render custom help text by setting this variable. |
| var AppHelpTemplate = `NAME: |
| {{template "helpNameTemplate" .}} |
| |
| USAGE: |
| {{if .UsageText}}{{wrap .UsageText 3}}{{else}}{{.HelpName}} {{if .VisibleFlags}}[global options]{{end}}{{if .Commands}} command [command options]{{end}}{{if .ArgsUsage}} {{.ArgsUsage}}{{else}}{{if .Args}} [arguments...]{{end}}{{end}}{{end}}{{if .Version}}{{if not .HideVersion}} |
| |
| VERSION: |
| {{.Version}}{{end}}{{end}}{{if .Description}} |
| |
| DESCRIPTION: |
| {{template "descriptionTemplate" .}}{{end}} |
| {{- if len .Authors}} |
| |
| AUTHOR{{template "authorsTemplate" .}}{{end}}{{if .VisibleCommands}} |
| |
| COMMANDS:{{template "visibleCommandCategoryTemplate" .}}{{end}}{{if .VisibleFlagCategories}} |
| |
| GLOBAL OPTIONS:{{template "visibleFlagCategoryTemplate" .}}{{else if .VisibleFlags}} |
| |
| GLOBAL OPTIONS:{{template "visibleFlagTemplate" .}}{{end}}{{if .Copyright}} |
| |
| COPYRIGHT: |
| {{template "copyrightTemplate" .}}{{end}} |
| ` |
| |
| // CommandHelpTemplate is the text template for the command help topic. |
| // cli.go uses text/template to render templates. You can |
| // render custom help text by setting this variable. |
| var CommandHelpTemplate = `NAME: |
| {{template "helpNameTemplate" .}} |
| |
| USAGE: |
| {{template "usageTemplate" .}}{{if .Category}} |
| |
| CATEGORY: |
| {{.Category}}{{end}}{{if .Description}} |
| |
| DESCRIPTION: |
| {{template "descriptionTemplate" .}}{{end}}{{if .VisibleFlagCategories}} |
| |
| OPTIONS:{{template "visibleFlagCategoryTemplate" .}}{{else if .VisibleFlags}} |
| |
| OPTIONS:{{template "visibleFlagTemplate" .}}{{end}} |
| ` |
| |
| // SubcommandHelpTemplate is the text template for the subcommand help topic. |
| // cli.go uses text/template to render templates. You can |
| // render custom help text by setting this variable. |
| var SubcommandHelpTemplate = `NAME: |
| {{template "helpNameTemplate" .}} |
| |
| USAGE: |
| {{template "usageTemplate" .}}{{if .Category}} |
| |
| CATEGORY: |
| {{.Category}}{{end}}{{if .Description}} |
| |
| DESCRIPTION: |
| {{template "descriptionTemplate" .}}{{end}}{{if .VisibleCommands}} |
| |
| COMMANDS:{{template "visibleCommandCategoryTemplate" .}}{{end}}{{if .VisibleFlagCategories}} |
| |
| OPTIONS:{{template "visibleFlagCategoryTemplate" .}}{{else if .VisibleFlags}} |
| |
| OPTIONS:{{template "visibleFlagTemplate" .}}{{end}} |
| ` |
| |
| var MarkdownDocTemplate = `{{if gt .SectionNum 0}}% {{ .App.Name }} {{ .SectionNum }} |
| |
| {{end}}# NAME |
| |
| {{ .App.Name }}{{ if .App.Usage }} - {{ .App.Usage }}{{ end }} |
| |
| # SYNOPSIS |
| |
| {{ .App.Name }} |
| {{ if .SynopsisArgs }} |
| ` + "```" + ` |
| {{ range $v := .SynopsisArgs }}{{ $v }}{{ end }}` + "```" + ` |
| {{ end }}{{ if .App.Description }} |
| # DESCRIPTION |
| |
| {{ .App.Description }} |
| {{ end }} |
| **Usage**: |
| |
| ` + "```" + `{{ if .App.UsageText }} |
| {{ .App.UsageText }} |
| {{ else }} |
| {{ .App.Name }} [GLOBAL OPTIONS] command [COMMAND OPTIONS] [ARGUMENTS...] |
| {{ end }}` + "```" + ` |
| {{ if .GlobalArgs }} |
| # GLOBAL OPTIONS |
| {{ range $v := .GlobalArgs }} |
| {{ $v }}{{ end }} |
| {{ end }}{{ if .Commands }} |
| # COMMANDS |
| {{ range $v := .Commands }} |
| {{ $v }}{{ end }}{{ end }}` |
| |
| var FishCompletionTemplate = `# {{ .App.Name }} fish shell completion |
| |
| function __fish_{{ .App.Name }}_no_subcommand --description 'Test if there has been any subcommand yet' |
| for i in (commandline -opc) |
| if contains -- $i{{ range $v := .AllCommands }} {{ $v }}{{ end }} |
| return 1 |
| end |
| end |
| return 0 |
| end |
| |
| {{ range $v := .Completions }}{{ $v }} |
| {{ end }}` |