view hgext/pager.py @ 6486:960bc707ea10

doc: escape .hg at bol in manpages with make (issue1072) This works around a bug in old docbook stylesheets. Remove .*.swp example from hgignore.5.txt. Diagnosis and workaround thanks to Alexis S. L. Carvalho.
author Christian Ebert <blacktrash@gmx.net>
date Mon, 07 Apr 2008 09:02:04 +0200
parents db5324d3c257
children 7ef281e78c64
line wrap: on
line source

# pager.py - display output using a pager
#
# Copyright 2008 David Soria Parra <dsp@php.net>
#
# 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:
#
#   [extension]
#   hgext.pager =
#
# To set the pager that should be used, set the application variable:
#
#   [pager]
#   pager = LESS='FSRX' less
#
# 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:
#
#   [pager]
#   quiet = True

import sys, os, signal

def uisetup(ui):
    p = ui.config("pager", "pager", os.environ.get("PAGER"))
    if p and sys.stdout.isatty() and '--debugger' not in sys.argv:
        if ui.configbool('pager', 'quiet'):
            signal.signal(signal.SIGPIPE, signal.SIG_DFL)
        sys.stderr = sys.stdout = os.popen(p, "wb")