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

@@ -127,6 +127,7 @@ def main():
('$RTV_URLVIEWER', os.getenv('RTV_URLVIEWER')), ('$RTV_URLVIEWER', os.getenv('RTV_URLVIEWER')),
('$RTV_BROWSER', RTV_BROWSER), ('$RTV_BROWSER', RTV_BROWSER),
('$BROWSER', BROWSER), ('$BROWSER', BROWSER),
('$RTV_PAGER', os.getenv('RTV_PAGER')),
('$PAGER', os.getenv('PAGER')), ('$PAGER', os.getenv('PAGER')),
('$VISUAL', os.getenv('VISUAL')), ('$VISUAL', os.getenv('VISUAL')),
('$EDITOR', os.getenv('EDITOR'))] ('$EDITOR', os.getenv('EDITOR'))]

View File

@@ -560,12 +560,17 @@ class Terminal(object):
def open_pager(self, data, wrap=None): 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. 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) command = shlex.split(pager)
if wrap: if wrap: