Mercurial > hg
changeset 30722:117e15c30e6c
pager: wrap ui._runpager
As discussed at [1], ui._runpager will be the new low-level API accepting a
pager command to actually run the pager. And ui.pager is the high-level API
which reads config directly from self.
This change is necessary for chgserver to override _runpager cleanly.
[1]: www.mercurial-scm.org/pipermail/mercurial-devel/2016-December/091656.html
author | Jun Wu <quark@fb.com> |
---|---|
date | Mon, 26 Dec 2016 00:25:44 +0000 |
parents | 4ab19763d71c |
children | 6ef9f32d76c6 |
files | hgext/pager.py |
diffstat | 1 files changed, 7 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/pager.py Sat Jan 07 12:24:15 2017 +0100 +++ b/hgext/pager.py Mon Dec 26 00:25:44 2016 +0000 @@ -118,6 +118,12 @@ if '--debugger' in sys.argv or not ui.formatted(): return + class pagerui(ui.__class__): + def _runpager(self, pagercmd): + _runpager(self, pagercmd) + + ui.__class__ = pagerui + # chg has its own pager implementation argv = sys.argv[:] if 'chgunix' in dispatch._earlygetopt(['--cmdserver'], argv): @@ -157,7 +163,7 @@ ui.setconfig('ui', 'interactive', False, 'pager') if util.safehasattr(signal, "SIGPIPE"): signal.signal(signal.SIGPIPE, signal.SIG_DFL) - _runpager(ui, p) + ui._runpager(p) return orig(ui, options, cmd, cmdfunc) # Wrap dispatch._runcommand after color is loaded so color can see