[PATCH 3 of 9 pager v2] ui: introduce neverpager() call
Augie Fackler
raf at durin42.com
Thu Feb 16 11:59:12 EST 2017
# HG changeset patch
# User Augie Fackler <augie at google.com>
# Date 1487198883 18000
# Wed Feb 15 17:48:03 2017 -0500
# Node ID 2dcaa379926fbe6a5a3d628642ae61f363b500c4
# Parent 1a7ae87a4e564240a76d4841f91ffdd4331c90ee
ui: introduce neverpager() call
I'm about to add direct paging support to some commands, and as a
result we need a way to communicate from the higher layers of dispatch
that paging is explicitly disabled.
diff --git a/mercurial/dispatch.py b/mercurial/dispatch.py
--- a/mercurial/dispatch.py
+++ b/mercurial/dispatch.py
@@ -749,6 +749,9 @@ def _dispatch(req):
for ui_ in uis:
ui_.setconfig('ui', 'interactive', 'off', '-y')
+ if options['pager'] != 'auto' and not util.parsebool(options['pager']):
+ ui.neverpager()
+
if cmdoptions.get('insecure', False):
for ui_ in uis:
ui_.insecureconnections = True
diff --git a/mercurial/ui.py b/mercurial/ui.py
--- a/mercurial/ui.py
+++ b/mercurial/ui.py
@@ -160,6 +160,7 @@ class ui(object):
self.ferr = src.ferr
self.fin = src.fin
self.pageractive = src.pageractive
+ self._neverpager = src._neverpager
self._tcfg = src._tcfg.copy()
self._ucfg = src._ucfg.copy()
@@ -178,6 +179,7 @@ class ui(object):
self.ferr = util.stderr
self.fin = util.stdin
self.pageractive = False
+ self._neverpager = False
# shared read-only environment
self.environ = encoding.environ
@@ -836,6 +838,9 @@ class ui(object):
return False
return util.isatty(fh)
+ def neverpager(self):
+ self._neverpager = True
+
def pager(self, command):
"""Start a pager for subsequent command output.
@@ -849,7 +854,8 @@ class ui(object):
command: The full, non-aliased name of the command. That is, "log"
not "history, "summary" not "summ", etc.
"""
- if (self.pageractive
+ if (self._neverpager
+ or self.pageractive
# TODO: if we want to allow HGPLAINEXCEPT=pager,
# formatted() will need some adjustment.
or not self.formatted()
More information about the Mercurial-devel
mailing list