mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-12-11 14:53:49 +00:00
d5c180e680
It is better developing vmctl tool in VictoriaMetrics repository, so it could be released together with the rest of vmutils tools such as vmalert, vmagent, vmbackup, vmrestore and vmauth.
120 lines
3.7 KiB
Go
120 lines
3.7 KiB
Go
package cli
|
|
|
|
// 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:
|
|
{{.Name}}{{if .Usage}} - {{.Usage}}{{end}}
|
|
|
|
USAGE:
|
|
{{if .UsageText}}{{.UsageText}}{{else}}{{.HelpName}} {{if .VisibleFlags}}[global options]{{end}}{{if .Commands}} command [command options]{{end}} {{if .ArgsUsage}}{{.ArgsUsage}}{{else}}[arguments...]{{end}}{{end}}{{if .Version}}{{if not .HideVersion}}
|
|
|
|
VERSION:
|
|
{{.Version}}{{end}}{{end}}{{if .Description}}
|
|
|
|
DESCRIPTION:
|
|
{{.Description | nindent 3 | trim}}{{end}}{{if len .Authors}}
|
|
|
|
AUTHOR{{with $length := len .Authors}}{{if ne 1 $length}}S{{end}}{{end}}:
|
|
{{range $index, $author := .Authors}}{{if $index}}
|
|
{{end}}{{$author}}{{end}}{{end}}{{if .VisibleCommands}}
|
|
|
|
COMMANDS:{{range .VisibleCategories}}{{if .Name}}
|
|
{{.Name}}:{{range .VisibleCommands}}
|
|
{{join .Names ", "}}{{"\t"}}{{.Usage}}{{end}}{{else}}{{range .VisibleCommands}}
|
|
{{join .Names ", "}}{{"\t"}}{{.Usage}}{{end}}{{end}}{{end}}{{end}}{{if .VisibleFlags}}
|
|
|
|
GLOBAL OPTIONS:
|
|
{{range $index, $option := .VisibleFlags}}{{if $index}}
|
|
{{end}}{{$option}}{{end}}{{end}}{{if .Copyright}}
|
|
|
|
COPYRIGHT:
|
|
{{.Copyright}}{{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:
|
|
{{.HelpName}} - {{.Usage}}
|
|
|
|
USAGE:
|
|
{{if .UsageText}}{{.UsageText}}{{else}}{{.HelpName}}{{if .VisibleFlags}} [command options]{{end}} {{if .ArgsUsage}}{{.ArgsUsage}}{{else}}[arguments...]{{end}}{{end}}{{if .Category}}
|
|
|
|
CATEGORY:
|
|
{{.Category}}{{end}}{{if .Description}}
|
|
|
|
DESCRIPTION:
|
|
{{.Description | nindent 3 | trim}}{{end}}{{if .VisibleFlags}}
|
|
|
|
OPTIONS:
|
|
{{range .VisibleFlags}}{{.}}
|
|
{{end}}{{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:
|
|
{{.HelpName}} - {{.Usage}}
|
|
|
|
USAGE:
|
|
{{if .UsageText}}{{.UsageText}}{{else}}{{.HelpName}} command{{if .VisibleFlags}} [command options]{{end}} {{if .ArgsUsage}}{{.ArgsUsage}}{{else}}[arguments...]{{end}}{{end}}{{if .Description}}
|
|
|
|
DESCRIPTION:
|
|
{{.Description | nindent 3 | trim}}{{end}}
|
|
|
|
COMMANDS:{{range .VisibleCategories}}{{if .Name}}
|
|
{{.Name}}:{{range .VisibleCommands}}
|
|
{{join .Names ", "}}{{"\t"}}{{.Usage}}{{end}}{{else}}{{range .VisibleCommands}}
|
|
{{join .Names ", "}}{{"\t"}}{{.Usage}}{{end}}{{end}}{{end}}{{if .VisibleFlags}}
|
|
|
|
OPTIONS:
|
|
{{range .VisibleFlags}}{{.}}
|
|
{{end}}{{end}}
|
|
`
|
|
|
|
var MarkdownDocTemplate = `% {{ .App.Name }} 8
|
|
|
|
# NAME
|
|
|
|
{{ .App.Name }}{{ if .App.Usage }} - {{ .App.Usage }}{{ end }}
|
|
|
|
# SYNOPSIS
|
|
|
|
{{ .App.Name }}
|
|
{{ if .SynopsisArgs }}
|
|
` + "```" + `
|
|
{{ range $v := .SynopsisArgs }}{{ $v }}{{ end }}` + "```" + `
|
|
{{ end }}{{ if .App.UsageText }}
|
|
# DESCRIPTION
|
|
|
|
{{ .App.UsageText }}
|
|
{{ end }}
|
|
**Usage**:
|
|
|
|
` + "```" + `
|
|
{{ .App.Name }} [GLOBAL OPTIONS] command [COMMAND OPTIONS] [ARGUMENTS...]
|
|
` + "```" + `
|
|
{{ 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 }}`
|