##// END OF EJS Templates
gendoc: nest command headers under category headers...
Sietse Brouwer -
r42438:a42cc325 default
parent child Browse files
Show More
@@ -120,7 +120,7 b' def showdoc(ui):'
120 120
121 121 # print cmds
122 122 ui.write(minirst.section(_(b"Commands")))
123 commandprinter(ui, table, minirst.subsection)
123 commandprinter(ui, table, minirst.subsection, minirst.subsubsection)
124 124
125 125 # print help topics
126 126 # The config help topic is included in the hgrc.5 man page.
@@ -143,7 +143,8 b' def showdoc(ui):'
143 143 cmdtable = getattr(mod, 'cmdtable', None)
144 144 if cmdtable:
145 145 ui.write(minirst.subsubsection(_(b'Commands')))
146 commandprinter(ui, cmdtable, minirst.subsubsubsection)
146 commandprinter(ui, cmdtable, minirst.subsubsubsection,
147 minirst.subsubsubsubsection)
147 148
148 149 def showtopic(ui, topic):
149 150 extrahelptable = [
@@ -177,7 +178,27 b' def helpprinter(ui, helptable, sectionfu'
177 178 ui.write(doc)
178 179 ui.write(b"\n")
179 180
180 def commandprinter(ui, cmdtable, sectionfunc):
181 def commandprinter(ui, cmdtable, sectionfunc, subsectionfunc):
182 """Render restructuredtext describing a list of commands and their
183 documentations, grouped by command category.
184
185 Args:
186 ui: UI object to write the output to
187 cmdtable: a dict that maps a string of the command name plus its aliases
188 (separated with pipes) to a 3-tuple of (the command's function, a list
189 of its option descriptions, and a string summarizing available
190 options). Example, with aliases added for demonstration purposes:
191
192 'phase|alias1|alias2': (
193 <function phase at 0x7f0816b05e60>,
194 [ ('p', 'public', False, 'set changeset phase to public'),
195 ...,
196 ('r', 'rev', [], 'target revision', 'REV')],
197 '[-p|-d|-s] [-f] [-r] [REV...]'
198 )
199 sectionfunc: minirst function to format command category headers
200 subsectionfunc: minirst function to format command headers
201 """
181 202 h = {}
182 203 for c, attr in cmdtable.items():
183 204 f = c.split(b"|")[0]
@@ -221,7 +242,7 b' def commandprinter(ui, cmdtable, section'
221 242 if f.startswith(b"debug"):
222 243 continue
223 244 d = get_cmd(h[f], cmdtable)
224 ui.write(sectionfunc(d[b'cmd']))
245 ui.write(subsectionfunc(d[b'cmd']))
225 246 # short description
226 247 ui.write(d[b'desc'][0])
227 248 # synopsis
General Comments 0
You need to be logged in to leave comments. Login now