-
Notifications
You must be signed in to change notification settings - Fork 44
/
Copy pathhelp-command-adoc.stg
83 lines (66 loc) · 1.27 KB
/
help-command-adoc.stg
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
// TITLE
title(commandName, commandShortDesc) ::= <<
= <commandName>
<commandShortDesc>
>>
// NAME
name(commandName, commandShortDesc) ::= <<
== NAME
<commandName>
>>
// SYNOPSIS
synopsisOption(option) ::= <%
<if(option.required)>
<("[")>
<endif>
<first(option.arguments)> <(option.type)>
<if(option.required)>
<("]")>
<endif>
%>
synopsis(commandName, options) ::= <<
== SYNOPSIS
====
[source]
----
<commandName> <options: { o | <synopsisOption(o)>}; separator=" ">
----
====
>>
// OPTIONS
arguments(arguments) ::= <<
<arguments: { a | <a>}; separator=" or ">
>>
type(type) ::= <<
<type>
>>
required(option) ::= <%
*
<if(option.required)>
<("Mandatory")>
<else>
<("Optional")>
<endif>
<if(option.hasDefaultValue)>
<(", default = ")><(option.defaultValue)>
<endif>
*
%>
option(option) ::= <<
`<arguments(option.arguments)>` <type(option.type)> <option.description> <required(option)>
>>
options(options) ::= <<
== OPTIONS
<options:{ o | <option(o)>}; separator="\n">
>>
footer(commandNames) ::= <<
include::footers/<commandNames: { c | <c>}; separator="-">-footer.adoc[opts=optional]
>>
// main
main(model) ::= <<
<title(model.name, model.description)>
<name(model.name, model.description)>
<synopsis(model.name, model.parameters)>
<options(model.parameters)>
<footer(model.names)>
>>