2981
Comment:
|
2822
|
Deletions are marked like this. | Additions are marked like this. |
Line 6: | Line 6: |
<!> This extension does not work reliably on Windows. See [[http://bz.selenic.com/show_bug.cgi?id=1677|bug 1677]]. | /!\ This extension is no longer needed for most uses. The pager is now built-in. Removing this extension and all of its configuration should work for most people. If you require custom behaviour beyond using the default pager to page all long commands, consult the built-in docs (''hg help [[Topic:pager]]'') . |
Line 9: | Line 9: |
Browse command output using an external pager | Browse command output using an external pager. |
Line 15: | Line 15: |
[pager] pager = LESS='FSRX' less |
[pager] pager = LESS='FRX' less |
Line 18: | Line 18: |
[extensions] pager = |
[extensions] pager = |
Line 26: | Line 26: |
[pager] quiet = True |
[pager] quiet = True |
Line 29: | Line 29: |
'''The following options are only supported by the pager extension bundled with Mercurial version 1.1 or higher:''' |
|
Line 34: | Line 32: |
[pager] pager = LESS='FSRX' less -d |
[pager] pager = LESS='FRX' less -d |
Line 37: | Line 35: |
where the `-d` argument tells `less` not to complain about 'dumb' terminals. | |
Line 38: | Line 37: |
where the `-d` argument tells `less` not to complain about 'dumb' terminals. | '''The following options are only supported by the pager extension bundled with Mercurial version 1.1 or higher:''' |
Line 43: | Line 42: |
[pager] ignore = version, help, update |
[pager] ignore = version, help, update |
Line 49: | Line 48: |
[pager] attend = annotate, cat, diff, export, glog, log, qdiff |
[pager] attend = annotate, cat, diff, export, glog, log, qdiff |
Line 52: | Line 51: |
If {{{pager.attend}}} is present, the resulting behaviour will be that the pager is used for all commands listed in pager.attend, minus those which also appear in {{{pager.ignore}}} (an empty {{{pager.attend}}} with a non-empty {{{pager.ignore}}} behaves as if the above attend line was specified). | If {{{pager.attend}}} is present, {{{pager.ignore}}} will be ignored. |
Line 56: | Line 55: |
=== See also === AutopagerExtension |
'''The following options are only supported by the pager extension bundled with Mercurial version 1.7 or higher:''' |
Line 59: | Line 57: |
=== Comments === In my opinion, p (plan9's pager) is the most suitable pager for this extension. P copies its standard input to its standard output, stopping at the end of every 22nd line, and between files, to wait for a newline from the user. Thus if the output is less than 22 lines, p works just like cat. If you've p installed on your system (via [[http://swtch.com/plan9port|plan9port]]), you just need to specify it as the pager: |
To control whether the pager is used at all for an individual command, you can use --pager=<value>: * use as needed: `auto`. * require the pager: `yes` or `on`. * suppress the pager: `no` or `off` (any unrecognized value will also work). '''The following options are only supported by the pager extension bundled with Mercurial version 3.1 or higher:''' You can enable and disable paging for individual commands with the {{{attend-<command>}}} option. This setting takes precedence over existing attend and ignore options and defaults: |
Line 64: | Line 69: |
pager = p | attend-cat = false |
Line 66: | Line 71: |
And forget about AutopagerExtension or pager.ignore. To the author of the comment above: That's what the -F and -X switches to less achieve. They simply make it to exit if the output fits in the terminal height. Plus, -R makes it interpret the color escape sequences. Net result is a cat or a pager behavior but always with colorized output. |
=== See also === AutopagerExtension (obsolete) |
Pager Extension
This extension is distributed with Mercurial.
Author: David Soria Parra
This extension is no longer needed for most uses. The pager is now built-in. Removing this extension and all of its configuration should work for most people. If you require custom behaviour beyond using the default pager to page all long commands, consult the built-in docs (hg help pager) .
Overview
Browse command output using an external pager.
Configuration
Configure your .hgrc to enable the extension and set the used pager adding these lines:
[pager] pager = LESS='FRX' less [extensions] pager =
If no pager is set, the pager extension 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
If you see WARNING: terminal is not fully functional messages (which can interfere with scripted use of Mercurial, e.g., Tramp in Emacs), set:
[pager] pager = LESS='FRX' less -d
where the -d argument tells less not to complain about 'dumb' terminals.
The following options are only supported by the pager extension bundled with Mercurial version 1.1 or higher:
You can disable the pager for certain commands (e.g., commands that are interactive) 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. As of Mercurial 1.4, a default attend list with the following commands is provided:
[pager] attend = annotate, cat, diff, export, glog, log, qdiff
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
The following options are only supported by the pager extension bundled with Mercurial version 1.7 or higher:
To control whether the pager is used at all for an individual command, you can use --pager=<value>:
use as needed: auto.
require the pager: yes or on.
suppress the pager: no or off (any unrecognized value will also work).
The following options are only supported by the pager extension bundled with Mercurial version 3.1 or higher:
You can enable and disable paging for individual commands with the attend-<command> option. This setting takes precedence over existing attend and ignore options and defaults:
[pager] attend-cat = false
See also
AutopagerExtension (obsolete)