Mercurial > hg
changeset 42394:ad55a0a5894f
help: include subtopic in error message if passed
Differential Revision: https://phab.mercurial-scm.org/D6442
author | Nathan Goldbaum <nathan12343@gmail.com> |
---|---|
date | Thu, 23 May 2019 11:14:32 -0400 |
parents | a84564b1a0b1 |
children | eddff539f5be |
files | mercurial/help.py tests/test-help.t |
diffstat | 2 files changed, 19 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/help.py Thu May 23 10:47:10 2019 -0400 +++ b/mercurial/help.py Thu May 23 11:14:32 2019 -0400 @@ -453,7 +453,7 @@ addtopichook('config', inserttweakrc) def help_(ui, commands, name, unknowncmd=False, full=True, subtopic=None, - **opts): + fullname=None, **opts): ''' Generate the help for 'name' as unformatted restructured text. If 'name' is None, describe the commands available. @@ -814,8 +814,16 @@ if unknowncmd: raise error.UnknownCommand(name) else: - msg = _('no such help topic: %s') % name - hint = _("try 'hg help --keyword %s'") % name + if fullname: + formatname = fullname + else: + formatname = name + if subtopic: + hintname = subtopic + else: + hintname = name + msg = _('no such help topic: %s') % formatname + hint = _("try 'hg help --keyword %s'") % hintname raise error.Abort(msg, hint=hint) else: # program name @@ -850,7 +858,7 @@ termwidth = ui.termwidth() - 2 if textwidth <= 0 or termwidth < textwidth: textwidth = termwidth - text = help_(ui, commands, name, + text = help_(ui, commands, name, fullname=fullname, subtopic=subtopic, unknowncmd=unknowncmd, full=full, **opts) blocks, pruned = minirst.parse(text, keep=keep)
--- a/tests/test-help.t Thu May 23 10:47:10 2019 -0400 +++ b/tests/test-help.t Thu May 23 11:14:32 2019 -0400 @@ -1303,6 +1303,13 @@ *empty chunk* at the end of each *delta group* denotes the boundary to the next filelog sub-segment. +non-existent subtopics print an error + + $ hg help internals.foo + abort: no such help topic: internals.foo + (try 'hg help --keyword foo') + [255] + test advanced, deprecated and experimental options are hidden in command help $ hg help debugoptADV hg debugoptADV