##// END OF EJS Templates
Pager extension: switch it off if --debugger is set...
Pager extension: switch it off if --debugger is set The pager is preventing the debugger prompt and much of the debugger output to be refreshed. Moreover the pager does not make sense when debugging line by line. (This supersedes the similar ui.debugflag patch. Disabling the pager for debug output doesn't make that much sense, as this is actually when the pager might be useful.)

File last commit:

r6456:db5324d3 default
r6456:db5324d3 default
Show More
pager.py
35 lines | 1.0 KiB | text/x-python | PythonLexer
# 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")