mercurial/formatter.py
changeset 34255 d6af8da4a3b8
parent 34131 0fa781320203
child 34256 ebe3d0095c69
equal deleted inserted replaced
34254:cd022a11ec83 34255:d6af8da4a3b8
    43 
    43 
    44 >>> def show(fn, verbose=False, **opts):
    44 >>> def show(fn, verbose=False, **opts):
    45 ...     import sys
    45 ...     import sys
    46 ...     from . import ui as uimod
    46 ...     from . import ui as uimod
    47 ...     ui = uimod.ui()
    47 ...     ui = uimod.ui()
    48 ...     ui.fout = sys.stdout  # redirect to doctest
       
    49 ...     ui.verbose = verbose
    48 ...     ui.verbose = verbose
    50 ...     return fn(ui, ui.formatter(fn.__name__, opts))
    49 ...     ui.pushbuffer()
       
    50 ...     try:
       
    51 ...         return fn(ui, ui.formatter(fn.__name__, opts))
       
    52 ...     finally:
       
    53 ...         print(pycompat.sysstr(ui.popbuffer()), end='')
    51 
    54 
    52 Basic example:
    55 Basic example:
    53 
    56 
    54 >>> def files(ui, fm):
    57 >>> def files(ui, fm):
    55 ...     files = [(b'foo', 123, (0, 0)), (b'bar', 456, (1, 0))]
    58 ...     files = [(b'foo', 123, (0, 0)), (b'bar', 456, (1, 0))]
    99 bar
   102 bar
   100 >>> show(subrepos, template=b'{repo}: {join(files % "{path}", ", ")}\\n')
   103 >>> show(subrepos, template=b'{repo}: {join(files % "{path}", ", ")}\\n')
   101 baz: foo, bar
   104 baz: foo, bar
   102 """
   105 """
   103 
   106 
   104 from __future__ import absolute_import
   107 from __future__ import absolute_import, print_function
   105 
   108 
   106 import collections
   109 import collections
   107 import contextlib
   110 import contextlib
   108 import itertools
   111 import itertools
   109 import os
   112 import os