# HG changeset patch # User Gregory Szorc # Date 1450033485 28800 # Node ID d1c998d7b1036747501d1deee8255ed9932d18e2 # Parent fc810d9502789aa7b856ca6e01e71b2070473f7d help: pass subtopic into help() Now that we have multiple directories where help topics can live, we need a mechanism to access them. We already use "." to separate topic from section. So it seems logical to also use "." to denote the sub-directory of a topic. This patch teaches the help command to parse out the possible sub-topic and pass it to the help system. diff -r fc810d950278 -r d1c998d7b103 mercurial/commands.py --- a/mercurial/commands.py Sun Dec 13 10:35:03 2015 -0800 +++ b/mercurial/commands.py Sun Dec 13 11:04:45 2015 -0800 @@ -4367,11 +4367,16 @@ keep.append(sys.platform.lower()) section = None + subtopic = None if name and '.' in name: name, section = name.split('.', 1) section = section.lower() - - text = help.help_(ui, name, **opts) + if '.' in section: + subtopic, section = section.split('.', 1) + else: + subtopic = section + + text = help.help_(ui, name, subtopic=subtopic, **opts) formatted, pruned = minirst.format(text, textwidth, keep=keep, section=section) diff -r fc810d950278 -r d1c998d7b103 mercurial/help.py --- a/mercurial/help.py Sun Dec 13 10:35:03 2015 -0800 +++ b/mercurial/help.py Sun Dec 13 11:04:45 2015 -0800 @@ -255,7 +255,7 @@ addtopicsymbols('hgweb', '.. webcommandsmarker', webcommands.commands, dedent=True) -def help_(ui, name, unknowncmd=False, full=True, **opts): +def help_(ui, name, unknowncmd=False, full=True, subtopic=None, **opts): ''' Generate the help for 'name' as unformatted restructured text. If 'name' is None, describe the commands available.