Support a level 2 heading in help description text
The level 2 headings (denoted by ~) indent the heading two spaces,
but continue to use the bold formatter to offset them from the
other surrounding text.
Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/subcmds/help.py b/subcmds/help.py
index fafcead..c5979fd 100644
--- a/subcmds/help.py
+++ b/subcmds/help.py
@@ -107,7 +107,7 @@
body = body.strip()
body = body.replace('%prog', me)
- asciidoc_hdr = re.compile(r'^\n?([^\n]{1,})\n(={2,}|-{2,})$')
+ asciidoc_hdr = re.compile(r'^\n?([^\n]{1,})\n([=~-]{2,})$')
for para in body.split("\n\n"):
if para.startswith(' '):
self.write('%s', para)
@@ -117,9 +117,19 @@
m = asciidoc_hdr.match(para)
if m:
- self.heading('%s', m.group(1))
+ title = m.group(1)
+ type = m.group(2)
+ if type[0] in ('=', '-'):
+ p = self.heading
+ else:
+ def _p(fmt, *args):
+ self.write(' ')
+ self.heading(fmt, *args)
+ p = _p
+
+ p('%s', title)
self.nl()
- self.heading('%s', ''.ljust(len(m.group(1)),'-'))
+ p('%s', ''.ljust(len(title),type[0]))
self.nl()
continue