mercurial/commands.py
changeset 6658 7ca74741259f
parent 6646 9eb274d773d9
parent 6654 2713e42dcf4e
child 6668 034f444902d9
equal deleted inserted replaced
6646:9eb274d773d9 6658:7ca74741259f
  1251 
  1251 
  1252     def helpcmd(name):
  1252     def helpcmd(name):
  1253         if with_version:
  1253         if with_version:
  1254             version_(ui)
  1254             version_(ui)
  1255             ui.write('\n')
  1255             ui.write('\n')
  1256         aliases, i = cmdutil.findcmd(ui, name, table)
  1256 
       
  1257         try:
       
  1258             aliases, i = cmdutil.findcmd(ui, name, table)
       
  1259         except cmdutil.AmbiguousCommand, inst:
       
  1260             select = lambda c: c.lstrip('^').startswith(inst.args[0])
       
  1261             helplist(_('list of commands:\n\n'), select)
       
  1262             return
       
  1263 
  1257         # synopsis
  1264         # synopsis
  1258         ui.write("%s\n" % i[2])
  1265         ui.write("%s\n" % i[2])
  1259 
  1266 
  1260         # aliases
  1267         # aliases
  1261         if not ui.quiet and len(aliases) > 1:
  1268         if not ui.quiet and len(aliases) > 1:
  1312         if not ui.quiet:
  1319         if not ui.quiet:
  1313             addglobalopts(True)
  1320             addglobalopts(True)
  1314 
  1321 
  1315     def helptopic(name):
  1322     def helptopic(name):
  1316         v = None
  1323         v = None
  1317         for i in help.helptable:
  1324         for i, d in help.helptable:
  1318             l = i.split('|')
  1325             l = i.split('|')
  1319             if name in l:
  1326             if name in l:
  1320                 v = i
  1327                 v = i
  1321                 header = l[-1]
  1328                 header = l[-1]
       
  1329                 doc = d
  1322         if not v:
  1330         if not v:
  1323             raise cmdutil.UnknownCommand(name)
  1331             raise cmdutil.UnknownCommand(name)
  1324 
  1332 
  1325         # description
  1333         # description
  1326         doc = help.helptable[v]
       
  1327         if not doc:
  1334         if not doc:
  1328             doc = _("(No help text available)")
  1335             doc = _("(No help text available)")
  1329         if callable(doc):
  1336         if callable(doc):
  1330             doc = doc()
  1337             doc = doc()
  1331 
  1338 
  1391                                           longopt and " --%s" % longopt),
  1398                                           longopt and " --%s" % longopt),
  1392                                "%s%s" % (desc,
  1399                                "%s%s" % (desc,
  1393                                          default
  1400                                          default
  1394                                          and _(" (default: %s)") % default
  1401                                          and _(" (default: %s)") % default
  1395                                          or "")))
  1402                                          or "")))
       
  1403 
       
  1404     if ui.verbose:
       
  1405         ui.write(_("\nspecial help topics:\n"))
       
  1406         topics = []
       
  1407         for i, d in help.helptable:
       
  1408             l = i.split('|')
       
  1409             topics.append((", ".join(l[:-1]), l[-1]))
       
  1410         topics_len = max([len(s[0]) for s in topics])
       
  1411         for t, desc in topics:
       
  1412             ui.write(" %-*s  %s\n" % (topics_len, t, desc))
  1396 
  1413 
  1397     if opt_output:
  1414     if opt_output:
  1398         opts_len = max([len(line[0]) for line in opt_output if line[1]] or [0])
  1415         opts_len = max([len(line[0]) for line in opt_output if line[1]] or [0])
  1399         for first, second in opt_output:
  1416         for first, second in opt_output:
  1400             if second:
  1417             if second: