Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/help.py @ 8864:cad6370a15cb
help: refactor extensions listing, and show enabled ones in the dedicated topic
author | C?dric Duval <cedricduval@free.fr> |
---|---|
date | Sat, 20 Jun 2009 20:55:49 +0200 |
parents | 7b19c3c0172b |
children | 37d8a5ddd499 |
comparison
equal
deleted
inserted
replaced
8863:7b19c3c0172b | 8864:cad6370a15cb |
---|---|
96 if len(name) > maxlength: | 96 if len(name) > maxlength: |
97 maxlength = len(name) | 97 maxlength = len(name) |
98 | 98 |
99 return exts, maxlength | 99 return exts, maxlength |
100 | 100 |
101 def enabledextensions(): | |
102 '''Return the list of enabled extensions, and max name length''' | |
103 enabled = list(extensions.extensions()) | |
104 exts = {} | |
105 maxlength = 0 | |
106 | |
107 if enabled: | |
108 exthelps = [] | |
109 for ename, ext in enabled: | |
110 doc = (gettext(ext.__doc__) or _('(no help text available)')) | |
111 ename = ename.split('.')[-1] | |
112 maxlength = max(len(ename), maxlength) | |
113 exts[ename] = doc.splitlines(0)[0].strip() | |
114 | |
115 return exts, maxlength | |
116 | |
117 def extensionslisting(header, exts, maxlength): | |
118 '''Return a text listing of the given extensions''' | |
119 result = '' | |
120 | |
121 if exts: | |
122 result += '\n%s\n\n' % header | |
123 for name, desc in sorted(exts.iteritems()): | |
124 result += ' %s %s\n' % (name.ljust(maxlength), desc) | |
125 | |
126 return result | |
127 | |
101 def topicextensions(): | 128 def topicextensions(): |
102 doc = _(r''' | 129 doc = _(r''' |
103 Mercurial has an extension mechanism for adding new features. | 130 Mercurial has an extension mechanism for adding new features. |
104 | 131 |
105 To enable an extension "foo" bundled with Mercurial, create an | 132 To enable an extension "foo" bundled with Mercurial, create an |
107 | 134 |
108 [extensions] | 135 [extensions] |
109 foo = | 136 foo = |
110 ''') | 137 ''') |
111 | 138 |
139 exts, maxlength = enabledextensions() | |
140 doc += extensionslisting(_('enabled extensions:'), exts, maxlength) | |
141 | |
112 exts, maxlength = additionalextensions() | 142 exts, maxlength = additionalextensions() |
113 if exts: | 143 doc += extensionslisting(_('non-enabled extensions:'), exts, maxlength) |
114 doc += _('\nnon-enabled extensions:\n\n') | |
115 for name, desc in sorted(exts.iteritems()): | |
116 doc += ' %s %s\n' % (name.ljust(maxlength), desc) | |
117 | 144 |
118 return doc | 145 return doc |
119 | 146 |
120 helptable = ( | 147 helptable = ( |
121 (["dates"], _("Date Formats"), | 148 (["dates"], _("Date Formats"), |