Mercurial > hg
comparison hgext/pager.py @ 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 | a150173da1c1 |
children | d3e2d39b97ea |
comparison
equal
deleted
inserted
replaced
30721:4ab19763d71c | 30722:117e15c30e6c |
---|---|
116 | 116 |
117 def uisetup(ui): | 117 def uisetup(ui): |
118 if '--debugger' in sys.argv or not ui.formatted(): | 118 if '--debugger' in sys.argv or not ui.formatted(): |
119 return | 119 return |
120 | 120 |
121 class pagerui(ui.__class__): | |
122 def _runpager(self, pagercmd): | |
123 _runpager(self, pagercmd) | |
124 | |
125 ui.__class__ = pagerui | |
126 | |
121 # chg has its own pager implementation | 127 # chg has its own pager implementation |
122 argv = sys.argv[:] | 128 argv = sys.argv[:] |
123 if 'chgunix' in dispatch._earlygetopt(['--cmdserver'], argv): | 129 if 'chgunix' in dispatch._earlygetopt(['--cmdserver'], argv): |
124 return | 130 return |
125 | 131 |
155 if usepager: | 161 if usepager: |
156 ui.setconfig('ui', 'formatted', ui.formatted(), 'pager') | 162 ui.setconfig('ui', 'formatted', ui.formatted(), 'pager') |
157 ui.setconfig('ui', 'interactive', False, 'pager') | 163 ui.setconfig('ui', 'interactive', False, 'pager') |
158 if util.safehasattr(signal, "SIGPIPE"): | 164 if util.safehasattr(signal, "SIGPIPE"): |
159 signal.signal(signal.SIGPIPE, signal.SIG_DFL) | 165 signal.signal(signal.SIGPIPE, signal.SIG_DFL) |
160 _runpager(ui, p) | 166 ui._runpager(p) |
161 return orig(ui, options, cmd, cmdfunc) | 167 return orig(ui, options, cmd, cmdfunc) |
162 | 168 |
163 # Wrap dispatch._runcommand after color is loaded so color can see | 169 # Wrap dispatch._runcommand after color is loaded so color can see |
164 # ui.pageractive. Otherwise, if we loaded first, color's wrapped | 170 # ui.pageractive. Otherwise, if we loaded first, color's wrapped |
165 # dispatch._runcommand would run without having access to ui.pageractive. | 171 # dispatch._runcommand would run without having access to ui.pageractive. |