pager: Add RTV_PAGER to support a reddit-specific setting

Reddit submissions and comments are styled with Markdown.  If you have a
Markdown-aware pager/viewer on your system it is convenient to be able to
use it rather than the default 'less'/'more'/etc. one used for everything
else on the system.  Support a high-priority environment variable that
will be consulted prior to checking $PAGER and/or defaulting to 'less'.

Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
This commit is contained in:
Joe MacDonald
2018-07-02 15:14:20 -04:00
parent 13340c294a
commit 3fd389c5c2
2 changed files with 8 additions and 2 deletions

View File

@@ -560,12 +560,17 @@ class Terminal(object):
def open_pager(self, data, wrap=None):
"""
View a long block of text using the system's default pager.
View a long block of text using an external pager / viewer. The setting
of the RTV_PAGER variable will be used if set, otherwise the system's
default pager is chosen, finally defaulting to 'less' if both RTV_PAGER
and PAGER is unset in the calling environment.
The data string will be piped directly to the pager.
"""
pager = os.getenv('PAGER') or 'less'
pager = os.getenv('RTV_PAGER')
if pager is None:
pager = os.getenv('PAGER') or 'less'
command = shlex.split(pager)
if wrap: