Mercurial > public > mercurial-scm > hg
diff mercurial/commands.py @ 16711:497deec204d1
help: add --keyword (-k) for searching help
author | Augie Fackler <raf@durin42.com> |
---|---|
date | Sun, 13 May 2012 06:03:11 -0500 |
parents | 4a02cf4fbb2e |
children | fa24e8db71fd |
line wrap: on
line diff
--- a/mercurial/commands.py Sun May 13 04:27:08 2012 -0500 +++ b/mercurial/commands.py Sun May 13 06:03:11 2012 -0500 @@ -3063,7 +3063,9 @@ @command('help', [('e', 'extension', None, _('show only help for extensions')), - ('c', 'command', None, _('show only help for commands'))], + ('c', 'command', None, _('show only help for commands')), + ('k', 'keyword', '', _('show topics matching keyword')), + ], _('[-ec] [TOPIC]')) def help_(ui, name=None, unknowncmd=False, full=True, **opts): """show help for a given topic or a help overview @@ -3309,7 +3311,7 @@ doc = doc() ui.write("%s\n\n" % header) - ui.write("%s" % minirst.format(doc, textwidth, indent=4)) + ui.write(minirst.format(doc, textwidth, indent=4)) try: cmdutil.findcmd(name, table) ui.write(_('\nuse "hg help -c %s" to see help for ' @@ -3359,6 +3361,18 @@ ui.write(_('use "hg help extensions" for information on enabling ' 'extensions\n')) + kw = opts.get('keyword') + if kw: + matches = help.topicmatch(kw) + for t, title in (('topics', _('Topics')), + ('commands', _('Commands')), + ('extensions', _('Extensions')), + ('extensioncommands', _('Extension Commands'))): + if matches[t]: + ui.write('%s:\n' % title) + ui.write(minirst.format(minirst.maketable(matches[t]))) + return + if name and name != 'shortlist': i = None if unknowncmd: