# HG changeset patch # User Gregory Szorc # Date 1492054124 25200 # Node ID 3e9f118cc8347270655f4623ba8876a748b42c35 # Parent bc0579a25f82702a79c81e5ad50c4b5980a27f71 show: fix formatting of multiple commands Because we're formatting to RST, short lines wrap and there needs to be an extra line break between paragraphs to prevent that. In addition, the indentation in the old code was a bit off. Refactor the code to a function (so we don't leak variables outside the module) and modify it so it renders more correctly. diff -r bc0579a25f82 -r 3e9f118cc834 hgext/show.py --- a/hgext/show.py Wed Apr 12 18:42:20 2017 -0700 +++ b/hgext/show.py Wed Apr 12 20:28:44 2017 -0700 @@ -71,7 +71,6 @@ ``-T/--template``. List of available views: - """ if ui.plain() and not template: hint = _('invoke with -T/--template to control output format') @@ -134,7 +133,15 @@ # into core or when another extension wants to provide a view, we'll need # to do this more robustly. # TODO make this more robust. -longest = max(map(len, showview._table.keys())) -for key in sorted(showview._table.keys()): - cmdtable['show'][0].__doc__ += pycompat.sysstr(' %s %s\n' % ( - key.ljust(longest), showview._table[key]._origdoc)) +def _updatedocstring(): + longest = max(map(len, showview._table.keys())) + entries = [] + for key in sorted(showview._table.keys()): + entries.append(pycompat.sysstr(' %s %s' % ( + key.ljust(longest), showview._table[key]._origdoc))) + + cmdtable['show'][0].__doc__ = pycompat.sysstr('%s\n\n%s\n ') % ( + cmdtable['show'][0].__doc__.rstrip(), + pycompat.sysstr('\n\n').join(entries)) + +_updatedocstring() diff -r bc0579a25f82 -r 3e9f118cc834 tests/test-show.t --- a/tests/test-show.t Wed Apr 12 18:42:20 2017 -0700 +++ b/tests/test-show.t Wed Apr 12 20:28:44 2017 -0700 @@ -37,7 +37,7 @@ List of available views: - bookmarks bookmarks and their associated changeset + bookmarks bookmarks and their associated changeset (use 'hg help -e show' to show help for the show extension)