diff mercurial/debugcommands.py @ 39378:0f549da54379

stringutil: teach pprint() to indent This will make data structure dumping in various places a bit easier to read and diff. Since I wanted this for `hg debugwireproto` output, I added indentation to it. A more advanced pretty printer implementation would conditionally add newlines if output is too long. But it is vastly simpler to be consistent and always add newlines when indenting. Again, I'm not crazy about the verbosity of the code and there is room to consolidate logic for "print a collection." But this isn't the most complicated code in the world and I'm not convinced it is worth doing. Differential Revision: https://phab.mercurial-scm.org/D4399
author Gregory Szorc <gregory.szorc@gmail.com>
date Mon, 27 Aug 2018 09:13:58 -0700
parents 655b5b465953
children e5eb67dea6e8
line wrap: on
line diff
--- a/mercurial/debugcommands.py	Wed Aug 22 08:20:51 2018 +0800
+++ b/mercurial/debugcommands.py	Mon Aug 27 09:13:58 2018 -0700
@@ -3244,11 +3244,10 @@
                 if isinstance(res, wireprotov2peer.commandresponse):
                     val = list(res.cborobjects())
                     ui.status(_('response: %s\n') %
-                              stringutil.pprint(val, bprefix=True))
-
+                              stringutil.pprint(val, bprefix=True, indent=2))
                 else:
                     ui.status(_('response: %s\n') %
-                              stringutil.pprint(res, bprefix=True))
+                              stringutil.pprint(res, bprefix=True, indent=2))
 
         elif action == 'batchbegin':
             if batchedcommands is not None:
@@ -3322,7 +3321,8 @@
 
             if res.headers.get('Content-Type') == 'application/mercurial-cbor':
                 ui.write(_('cbor> %s\n') %
-                         stringutil.pprint(cbor.loads(body), bprefix=True))
+                         stringutil.pprint(cbor.loads(body), bprefix=True,
+                                           indent=2))
 
         elif action == 'close':
             peer.close()