...
1 package cli
2
3 var helpNameTemplate = `{{$v := offset .HelpName 6}}{{wrap .HelpName 3}}{{if .Usage}} - {{wrap .Usage $v}}{{end}}`
4 var usageTemplate = `{{if .UsageText}}{{wrap .UsageText 3}}{{else}}{{.HelpName}}{{if .VisibleFlags}} [command options]{{end}} {{if .ArgsUsage}}{{.ArgsUsage}}{{else}}{{if .Args}}[arguments...]{{end}}[arguments...]{{end}}{{end}}`
5 var descriptionTemplate = `{{wrap .Description 3}}`
6 var authorsTemplate = `{{with $length := len .Authors}}{{if ne 1 $length}}S{{end}}{{end}}:
7 {{range $index, $author := .Authors}}{{if $index}}
8 {{end}}{{$author}}{{end}}`
9 var visibleCommandTemplate = `{{ $cv := offsetCommands .VisibleCommands 5}}{{range .VisibleCommands}}
10 {{$s := join .Names ", "}}{{$s}}{{ $sp := subtract $cv (offset $s 3) }}{{ indent $sp ""}}{{wrap .Usage $cv}}{{end}}`
11 var visibleCommandCategoryTemplate = `{{range .VisibleCategories}}{{if .Name}}
12 {{.Name}}:{{range .VisibleCommands}}
13 {{join .Names ", "}}{{"\t"}}{{.Usage}}{{end}}{{else}}{{template "visibleCommandTemplate" .}}{{end}}{{end}}`
14 var visibleFlagCategoryTemplate = `{{range .VisibleFlagCategories}}
15 {{if .Name}}{{.Name}}
16
17 {{end}}{{$flglen := len .Flags}}{{range $i, $e := .Flags}}{{if eq (subtract $flglen $i) 1}}{{$e}}
18 {{else}}{{$e}}
19 {{end}}{{end}}{{end}}`
20
21 var visibleFlagTemplate = `{{range $i, $e := .VisibleFlags}}
22 {{wrap $e.String 6}}{{end}}`
23
24 var versionTemplate = `{{if .Version}}{{if not .HideVersion}}
25
26 VERSION:
27 {{.Version}}{{end}}{{end}}`
28
29 var copyrightTemplate = `{{wrap .Copyright 3}}`
30
31
32
33
34 var AppHelpTemplate = `NAME:
35 {{template "helpNameTemplate" .}}
36
37 USAGE:
38 {{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}}
39
40 VERSION:
41 {{.Version}}{{end}}{{end}}{{if .Description}}
42
43 DESCRIPTION:
44 {{template "descriptionTemplate" .}}{{end}}
45 {{- if len .Authors}}
46
47 AUTHOR{{template "authorsTemplate" .}}{{end}}{{if .VisibleCommands}}
48
49 COMMANDS:{{template "visibleCommandCategoryTemplate" .}}{{end}}{{if .VisibleFlagCategories}}
50
51 GLOBAL OPTIONS:{{template "visibleFlagCategoryTemplate" .}}{{else if .VisibleFlags}}
52
53 GLOBAL OPTIONS:{{template "visibleFlagTemplate" .}}{{end}}{{if .Copyright}}
54
55 COPYRIGHT:
56 {{template "copyrightTemplate" .}}{{end}}
57 `
58
59
60
61
62 var CommandHelpTemplate = `NAME:
63 {{template "helpNameTemplate" .}}
64
65 USAGE:
66 {{template "usageTemplate" .}}{{if .Category}}
67
68 CATEGORY:
69 {{.Category}}{{end}}{{if .Description}}
70
71 DESCRIPTION:
72 {{template "descriptionTemplate" .}}{{end}}{{if .VisibleFlagCategories}}
73
74 OPTIONS:{{template "visibleFlagCategoryTemplate" .}}{{else if .VisibleFlags}}
75
76 OPTIONS:{{template "visibleFlagTemplate" .}}{{end}}
77 `
78
79
80
81
82 var SubcommandHelpTemplate = `NAME:
83 {{template "helpNameTemplate" .}}
84
85 USAGE:
86 {{if .UsageText}}{{wrap .UsageText 3}}{{else}}{{.HelpName}} {{if .VisibleFlags}}command [command options]{{end}} {{if .ArgsUsage}}{{.ArgsUsage}}{{else}}{{if .Args}}[arguments...]{{end}}{{end}}{{end}}{{if .Description}}
87
88 DESCRIPTION:
89 {{template "descriptionTemplate" .}}{{end}}{{if .VisibleCommands}}
90
91 COMMANDS:{{template "visibleCommandCategoryTemplate" .}}{{end}}{{if .VisibleFlagCategories}}
92
93 OPTIONS:{{template "visibleFlagCategoryTemplate" .}}{{else if .VisibleFlags}}
94
95 OPTIONS:{{template "visibleFlagTemplate" .}}{{end}}
96 `
97
98 var MarkdownDocTemplate = `{{if gt .SectionNum 0}}% {{ .App.Name }} {{ .SectionNum }}
99
100 {{end}}# NAME
101
102 {{ .App.Name }}{{ if .App.Usage }} - {{ .App.Usage }}{{ end }}
103
104 # SYNOPSIS
105
106 {{ .App.Name }}
107 {{ if .SynopsisArgs }}
108 ` + "```" + `
109 {{ range $v := .SynopsisArgs }}{{ $v }}{{ end }}` + "```" + `
110 {{ end }}{{ if .App.Description }}
111 # DESCRIPTION
112
113 {{ .App.Description }}
114 {{ end }}
115 **Usage**:
116
117 ` + "```" + `{{ if .App.UsageText }}
118 {{ .App.UsageText }}
119 {{ else }}
120 {{ .App.Name }} [GLOBAL OPTIONS] command [COMMAND OPTIONS] [ARGUMENTS...]
121 {{ end }}` + "```" + `
122 {{ if .GlobalArgs }}
123 # GLOBAL OPTIONS
124 {{ range $v := .GlobalArgs }}
125 {{ $v }}{{ end }}
126 {{ end }}{{ if .Commands }}
127 # COMMANDS
128 {{ range $v := .Commands }}
129 {{ $v }}{{ end }}{{ end }}`
130
131 var FishCompletionTemplate = `# {{ .App.Name }} fish shell completion
132
133 function __fish_{{ .App.Name }}_no_subcommand --description 'Test if there has been any subcommand yet'
134 for i in (commandline -opc)
135 if contains -- $i{{ range $v := .AllCommands }} {{ $v }}{{ end }}
136 return 1
137 end
138 end
139 return 0
140 end
141
142 {{ range $v := .Completions }}{{ $v }}
143 {{ end }}`
144
View as plain text