equal
deleted
inserted
replaced
261 'name' is None, describe the commands available. |
261 'name' is None, describe the commands available. |
262 ''' |
262 ''' |
263 |
263 |
264 import commands # avoid cycle |
264 import commands # avoid cycle |
265 |
265 |
266 def helpcmd(name): |
266 def helpcmd(name, subtopic=None): |
267 try: |
267 try: |
268 aliases, entry = cmdutil.findcmd(name, commands.table, |
268 aliases, entry = cmdutil.findcmd(name, commands.table, |
269 strict=unknowncmd) |
269 strict=unknowncmd) |
270 except error.AmbiguousCommand as inst: |
270 except error.AmbiguousCommand as inst: |
271 # py3k fix: except vars can't be used outside the scope of the |
271 # py3k fix: except vars can't be used outside the scope of the |
430 rst.append(_('\n(use "hg help -v%s" to show built-in aliases ' |
430 rst.append(_('\n(use "hg help -v%s" to show built-in aliases ' |
431 'and global options)\n') |
431 'and global options)\n') |
432 % (name and " " + name or "")) |
432 % (name and " " + name or "")) |
433 return rst |
433 return rst |
434 |
434 |
435 def helptopic(name): |
435 def helptopic(name, subtopic=None): |
436 for names, header, doc in helptable: |
436 for names, header, doc in helptable: |
437 if name in names: |
437 if name in names: |
438 break |
438 break |
439 else: |
439 else: |
440 raise error.UnknownCommand(name) |
440 raise error.UnknownCommand(name) |
458 'the %s command\n') % (name, name)) |
458 'the %s command\n') % (name, name)) |
459 except error.UnknownCommand: |
459 except error.UnknownCommand: |
460 pass |
460 pass |
461 return rst |
461 return rst |
462 |
462 |
463 def helpext(name): |
463 def helpext(name, subtopic=None): |
464 try: |
464 try: |
465 mod = extensions.find(name) |
465 mod = extensions.find(name) |
466 doc = gettext(mod.__doc__) or _('no help text available') |
466 doc = gettext(mod.__doc__) or _('no help text available') |
467 except KeyError: |
467 except KeyError: |
468 mod = None |
468 mod = None |
494 else: |
494 else: |
495 rst.append(_('(use "hg help extensions" for information on enabling' |
495 rst.append(_('(use "hg help extensions" for information on enabling' |
496 ' extensions)\n')) |
496 ' extensions)\n')) |
497 return rst |
497 return rst |
498 |
498 |
499 def helpextcmd(name): |
499 def helpextcmd(name, subtopic=None): |
500 cmd, ext, mod = extensions.disabledcmd(ui, name, |
500 cmd, ext, mod = extensions.disabledcmd(ui, name, |
501 ui.configbool('ui', 'strict')) |
501 ui.configbool('ui', 'strict')) |
502 doc = gettext(mod.__doc__).splitlines()[0] |
502 doc = gettext(mod.__doc__).splitlines()[0] |
503 |
503 |
504 rst = listexts(_("'%s' is provided by the following " |
504 rst = listexts(_("'%s' is provided by the following " |
543 queries += [helpcmd] |
543 queries += [helpcmd] |
544 if not queries: |
544 if not queries: |
545 queries = (helptopic, helpcmd, helpext, helpextcmd) |
545 queries = (helptopic, helpcmd, helpext, helpextcmd) |
546 for f in queries: |
546 for f in queries: |
547 try: |
547 try: |
548 rst = f(name) |
548 rst = f(name, subtopic) |
549 break |
549 break |
550 except error.UnknownCommand: |
550 except error.UnknownCommand: |
551 pass |
551 pass |
552 else: |
552 else: |
553 if unknowncmd: |
553 if unknowncmd: |