comparison mercurial/help.py @ 14316:d5b525697ddb

extensions: drop maxlength from enabled and disabled This is a bad/silly API. Instead calculate maxlength in one place in help it's used and simplify all the callers.
author Matt Mackall <mpm@selenic.com>
date Fri, 13 May 2011 11:04:51 -0500
parents 135e244776f0
children 660b0c1b6196
comparison
equal deleted inserted replaced
14315:f6b3b346d80c 14316:d5b525697ddb
41 else: 41 else:
42 return None 42 return None
43 43
44 return ''.join(result) 44 return ''.join(result)
45 45
46 def listexts(header, exts, maxlength, indent=1): 46 def listexts(header, exts, indent=1):
47 '''return a text listing of the given extensions''' 47 '''return a text listing of the given extensions'''
48 if not exts: 48 if not exts:
49 return '' 49 return ''
50 maxlength = max(len(e) for e in exts)
50 result = '\n%s\n\n' % header 51 result = '\n%s\n\n' % header
51 for name, desc in sorted(exts.iteritems()): 52 for name, desc in sorted(exts.iteritems()):
52 result += '%s%-*s %s\n' % (' ' * indent, maxlength + 2, 53 result += '%s%-*s %s\n' % (' ' * indent, maxlength + 2,
53 ':%s:' % name, desc) 54 ':%s:' % name, desc)
54 return result 55 return result
55 56
56 def extshelp(): 57 def extshelp():
57 doc = loaddoc('extensions')() 58 doc = loaddoc('extensions')()
58 59 doc += listexts(_('enabled extensions:'), extensions.enabled())
59 exts, maxlength = extensions.enabled() 60 doc += listexts(_('disabled extensions:'), extensions.disabled())
60 doc += listexts(_('enabled extensions:'), exts, maxlength)
61
62 exts, maxlength = extensions.disabled()
63 doc += listexts(_('disabled extensions:'), exts, maxlength)
64
65 return doc 61 return doc
66 62
67 def loaddoc(topic): 63 def loaddoc(topic):
68 """Return a delayed loader for help/topic.txt.""" 64 """Return a delayed loader for help/topic.txt."""
69 65