From 938d608c9c47401fbdb60f3188c718e2f2569bd0 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Tue, 21 Apr 2009 08:01:17 -0700 Subject: [PATCH] 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 --- subcmds/help.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/subcmds/help.py b/subcmds/help.py index fafceadb..c5979fd6 100644 --- a/subcmds/help.py +++ b/subcmds/help.py @@ -107,7 +107,7 @@ See 'repo help --all' for a complete list of recognized commands. 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 @@ See 'repo help --all' for a complete list of recognized commands. 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