Size: 1272
Comment:
|
Size: 2981
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
Line 5: | Line 4: |
''Author: [wiki:DavidSoria David Soria Parra]'' | ''Author: [[DavidSoria|David Soria Parra]]'' <!> This extension does not work reliably on Windows. See [[http://bz.selenic.com/show_bug.cgi?id=1677|bug 1677]]. |
Line 11: | Line 12: |
Configure your .hgrc to enable the extension and set the used pager adding these lines: | Configure your [[.hgrc]] to enable the extension and set the used pager adding these lines: |
Line 15: | Line 17: |
[extensions] pager = |
|
Line 16: | Line 21: |
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. | |
Line 17: | Line 23: |
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: |
Line 21: | Line 25: |
If you notice {{{BROKEN PIPE}}} error messages, you can disable them by setting: |
|
Line 27: | Line 29: |
'''The following options are only supported by the pager extension bundled with Mercurial version 1.1 or higher:''' | |
Line 28: | Line 31: |
'''The following options are not supported by the extensions bundled with Mercurial 1.0.1, but can be found in the Crew Repository:''' |
If you see `WARNING: terminal is not fully functional` messages (which can interfere with scripted use of Mercurial, e.g., [[http://www.gnu.org/software/tramp/|Tramp in Emacs]]), set: |
Line 31: | Line 33: |
You can disable the pager for certain commands by adding them to the {{{pager.ignore}}} list: |
{{{ [pager] pager = LESS='FSRX' less -d }}} where the `-d` argument tells `less` not to complain about 'dumb' terminals. You can disable the pager for certain commands (e.g., commands that are interactive) by adding them to the {{{pager.ignore}}} list: |
Line 37: | Line 46: |
You can also enable the pager only for certain commands using {{{pager.attend}}}: | 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: |
Line 40: | Line 50: |
attend = log | attend = annotate, cat, diff, export, glog, log, qdiff |
Line 42: | Line 52: |
If {{{pager.attend}}} is present, {{{pager.ignore}}} will be ignored. | 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). |
Line 44: | Line 54: |
To ignore global commands like {{{hg version}}} or {{{hg help}}}, you have to specify them in the global {{{.hgrc}}} |
To ignore global commands like {{{hg version}}} or {{{hg help}}}, you have to specify them in the global {{{.hgrc}}} === See also === AutopagerExtension === 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: {{{ [pager] pager = p }}} 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. |
Line 47: | Line 71: |
CategoryExtension | CategoryBundledExtension |
Pager Extension
This extension is distributed with Mercurial.
Author: David Soria Parra
This extension does not work reliably on Windows. See bug 1677.
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='FSRX' 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
The following options are only supported by the pager extension bundled with Mercurial version 1.1 or higher:
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='FSRX' less -d
where the -d argument tells less not to complain about 'dumb' terminals.
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, 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).
To ignore global commands like hg version or hg help, you have to specify them in the global .hgrc
See also
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 plan9port), you just need to specify it as the pager:
[pager] pager = p
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.