forked from rayjohnson/cobraman
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtemplate-troff.go
91 lines (88 loc) · 2.57 KB
/
template-troff.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
// Copyright © 2018 Ray Johnson <[email protected]>.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package cobraman
func init() {
RegisterTemplate("troff", "-", "use_section", troffManTemplate)
}
// troffManTemplate generates a man page with only basic troff macros.
// nolint:lll // this is a template
const troffManTemplate = `.TH "{{.CommandPath | dashify | backslashify | upper}}" "{{ .Section }}" "{{.CenterFooter}}" "{{.LeftFooter}}" "{{.CenterHeader}}"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
." This file auto-generated by github.com/PaddleHQ/cobraman
.SH NAME
{{ .CommandPath | dashify | backslashify }}
{{- if .ShortDescription }} - {{ .ShortDescription }}
{{- end }}
.SH SYNOPSIS
.sp
{{- if .SubCommands }}
{{- range .SubCommands }}
\fB{{ .CommandPath }}\fR [ flags ]
.br{{ end }}
{{- else }}
\fB{{ .CommandPath }} \fR
{{- range .AllFlags -}}
[{{ if .Shorthand }}\fI{{ print "-" .Shorthand | backslashify }}\fP|{{ end -}}
\fI{{ print "--" .Name | backslashify }}\fP] {{ end }}
{{- if not .NoArgs }}[<args>]{{ end }}
{{- end }}
.SH DESCRIPTION
.PP
{{ .Description | simpleToTroff }}
{{- if .AllFlags }}
.SH OPTIONS
{{ range .AllFlags -}}
.TP
{{ if .Shorthand }}\fB{{ print "-" .Shorthand | backslashify }}\fP, {{ end -}}
\fB{{ print "--" .Name | backslashify }}\fP{{ if not .NoOptDefVal }} =
{{- if .ArgHint }} <{{ .ArgHint }}>{{ else }} {{ .DefValue }}{{ end }}{{ end }}
{{ .Usage | backslashify }}
{{ end }}
{{- end -}}
{{- if .Environment }}
.SH ENVIRONMENT
.PP
{{ .Environment | simpleToTroff }}
{{- end }}
{{- if .Files }}
.SH FILES
.PP
{{ .Files | simpleToTroff }}
{{- end }}
{{- if .Bugs }}
.SH BUGS
.PP
{{ .Bugs | simpleToTroff }}
{{- end }}
{{- if .Examples }}
.SH EXAMPLES
.PP
{{ .Examples | simpleToTroff }}
{{- end }}
.SH AUTHOR
{{- if .Author }}
{{ .Author }}
{{- end }}
.PP
.SM Page auto-generated by rayjohnson/cobraman and spf13/cobra
{{- if .SeeAlsos }}
.SH SEE ALSO
{{- range .SeeAlsos }}
.BR {{ .CmdPath | dashify | backslashify }} ({{ .Section }})
{{- end }}
{{- end }}
." This file auto-generated by github.com/PaddleHQ/cobraman
`