add hg and python
This commit is contained in:
parent
3a742c699f
commit
458120dd40
3709 changed files with 1244309 additions and 1 deletions
64
sys/lib/python/hgext/pager.py
Normal file
64
sys/lib/python/hgext/pager.py
Normal file
|
@ -0,0 +1,64 @@
|
|||
# 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 version 2, incorporated herein by reference.
|
||||
#
|
||||
# To load the extension, add it to your .hgrc file:
|
||||
#
|
||||
# [extension]
|
||||
# hgext.pager =
|
||||
#
|
||||
# Run "hg help pager" to get info on configuration.
|
||||
|
||||
'''browse command output with an external 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
|
||||
|
||||
You can disable the pager for certain commands by adding them to the
|
||||
pager.ignore list::
|
||||
|
||||
[pager]
|
||||
ignore = version, help, update
|
||||
|
||||
You can also enable the pager only for certain commands using
|
||||
pager.attend::
|
||||
|
||||
[pager]
|
||||
attend = log
|
||||
|
||||
If pager.attend is present, pager.ignore will be ignored.
|
||||
|
||||
To ignore global commands like "hg version" or "hg help", you have to
|
||||
specify them in the global .hgrc
|
||||
'''
|
||||
|
||||
import sys, os, signal
|
||||
from mercurial import dispatch, util, extensions
|
||||
|
||||
def uisetup(ui):
|
||||
def pagecmd(orig, ui, options, cmd, cmdfunc):
|
||||
p = ui.config("pager", "pager", os.environ.get("PAGER"))
|
||||
if p and sys.stdout.isatty() and '--debugger' not in sys.argv:
|
||||
attend = ui.configlist('pager', 'attend')
|
||||
if (cmd in attend or
|
||||
(cmd not in ui.configlist('pager', 'ignore') and not attend)):
|
||||
sys.stderr = sys.stdout = util.popen(p, "wb")
|
||||
if ui.configbool('pager', 'quiet'):
|
||||
signal.signal(signal.SIGPIPE, signal.SIG_DFL)
|
||||
return orig(ui, options, cmd, cmdfunc)
|
||||
|
||||
extensions.wrapfunction(dispatch, '_runcommand', pagecmd)
|
Loading…
Add table
Add a link
Reference in a new issue