--- a/mercurial/commands.py Sat Jun 20 20:55:43 2009 +0200
+++ b/mercurial/commands.py Sat Jun 20 20:55:49 2009 +0200
@@ -1483,18 +1483,10 @@
else:
ui.write(' %-*s %s\n' % (m, f, h[f]))
- exts = list(extensions.extensions())
- if exts and name != 'shortlist':
- ui.write(_('\nenabled extensions:\n\n'))
- maxlength = 0
- exthelps = []
- for ename, ext in exts:
- doc = (gettext(ext.__doc__) or _('(no help text available)'))
- ename = ename.split('.')[-1]
- maxlength = max(len(ename), maxlength)
- exthelps.append((ename, doc.splitlines(0)[0].strip()))
- for ename, text in exthelps:
- ui.write(_(' %s %s\n') % (ename.ljust(maxlength), text))
+ if name != 'shortlist':
+ exts, maxlength = help.enabledextensions()
+ ui.write(help.extensionslisting(_('enabled extensions:'),
+ exts, maxlength))
if not ui.quiet:
addglobalopts(True)
--- a/mercurial/help.py Sat Jun 20 20:55:43 2009 +0200
+++ b/mercurial/help.py Sat Jun 20 20:55:49 2009 +0200
@@ -98,6 +98,33 @@
return exts, maxlength
+def enabledextensions():
+ '''Return the list of enabled extensions, and max name length'''
+ enabled = list(extensions.extensions())
+ exts = {}
+ maxlength = 0
+
+ if enabled:
+ exthelps = []
+ for ename, ext in enabled:
+ doc = (gettext(ext.__doc__) or _('(no help text available)'))
+ ename = ename.split('.')[-1]
+ maxlength = max(len(ename), maxlength)
+ exts[ename] = doc.splitlines(0)[0].strip()
+
+ return exts, maxlength
+
+def extensionslisting(header, exts, maxlength):
+ '''Return a text listing of the given extensions'''
+ result = ''
+
+ if exts:
+ result += '\n%s\n\n' % header
+ for name, desc in sorted(exts.iteritems()):
+ result += ' %s %s\n' % (name.ljust(maxlength), desc)
+
+ return result
+
def topicextensions():
doc = _(r'''
Mercurial has an extension mechanism for adding new features.
@@ -109,11 +136,11 @@
foo =
''')
+ exts, maxlength = enabledextensions()
+ doc += extensionslisting(_('enabled extensions:'), exts, maxlength)
+
exts, maxlength = additionalextensions()
- if exts:
- doc += _('\nnon-enabled extensions:\n\n')
- for name, desc in sorted(exts.iteritems()):
- doc += ' %s %s\n' % (name.ljust(maxlength), desc)
+ doc += extensionslisting(_('non-enabled extensions:'), exts, maxlength)
return doc