Mercurial > hg-stable
changeset 6324:ee1077b41d5c
pager: further simplify code, clean up comments
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Thu, 20 Mar 2008 11:12:35 -0500 |
parents | 6e1308a09ffd |
children | 41c77bb8d7f3 |
files | hgext/pager.py |
diffstat | 1 files changed, 14 insertions(+), 33 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/pager.py Thu Mar 20 00:57:14 2008 +0100 +++ b/hgext/pager.py Thu Mar 20 11:12:35 2008 -0500 @@ -5,50 +5,31 @@ # This software may be used and distributed according to the terms # of the GNU General Public License, incorporated herein by reference. # -# To load the extension add it to your .hgrc file +# To load the extension, add it to your .hgrc file: # # [extension] # hgext.pager = # -# To set the pager that should be used, set the application variable -# -# [pager] -# application = less -# -# You can also set environment variables there +# To set the pager that should be used, set the application variable: # # [pager] -# application = LESS='FSRX' less +# pager = LESS='FSRX' less # -# If no application is set, the pager extensions use the environment -# variable $PAGER. If neither pager.application, nor -# $PAGER is set, no pager is used. +# If no pager is set, the pager extensions uses the environment +# variable $PAGER. If neither pager.pager, nor $PAGER is set, no pager +# is used. # # If you notice "BROKEN PIPE" error messages, you can disable them -# by setting +# by setting: # -# [pager] -# quiet = True -# +# [pager] +# quiet = True import sys, os, signal -def getpager(ui): - '''return a pager - - We separate this method from the pager class as we don't want to - instantiate a pager if it is not used at all - ''' - if sys.stdout.isatty(): - return (ui.config("pager", "application") - or os.environ.get("PAGER")) - def uisetup(ui): - # disable broken pipe error messages - if ui.configbool('pager', 'quiet', False): - signal.signal(signal.SIGPIPE, signal.SIG_DFL) - - if getpager(ui): - pager = os.popen(getpager(ui), 'wb') - sys.stderr = pager - sys.stdout = pager + p = ui.config("pager", "pager", os.environ.get("PAGER")) + if p and sys.stdout.isatty(): + if ui.configbool('pager', 'quiet'): + signal.signal(signal.SIGPIPE, signal.SIG_DFL) + sys.stderr = sys.stdout = os.popen(p, "wb")