Differences between revisions 12 and 29 (spanning 17 versions)
Revision 12 as of 2011-02-21 13:30:42
Size: 2030
Editor: weakish
Comment: introduce p (plan9's pager)
Revision 29 as of 2016-11-16 00:18:41
Size: 2507
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
Line 12: Line 11:
Line 13: Line 13:
  [pager]
  pager = LESS='FSRX' less
[pager]
pager = LESS='FRX' less
Line 16: Line 16:
  [extensions]
  pager =
[extensions]
pager =
Line 19: Line 19:
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 20: 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.
If you notice {{{BROKEN PIPE}}} error messages, you can disable them by setting:
Line 24: Line 23:
If you notice {{{BROKEN PIPE}}} error messages, you can disable them
by setting:
Line 27: Line 24:
  [pager]
  quiet = True
[pager]
quiet = True
Line 30: Line 27:
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:

{{{
[pager]
pager = LESS='FRX' less -d
}}}
where the `-d` argument tells `less` not to complain about 'dumb' terminals.
Line 33: Line 37:
You can disable the pager for certain commands (e.g., commands that are interactive) by adding them to the
{{{pager.ignore}}} list:
You can disable the pager for certain commands (e.g., commands that are interactive) by adding them to the {{{pager.ignore}}} list:
Line 36: Line 40:
  [pager]
  ignore = version, help, update
[pager]
ignore = version, help, update
Line 40: Line 44:
Line 41: Line 46:
  [pager]
  attend = annotate, cat, diff, export, glog, log, qdiff
[pager]
attend = annotate, cat, diff, export, glog, log, qdiff
Line 46: Line 51:
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}}}
Line 49: Line 53:
=== See also ===
AutopagerExtension
'''The following options are only supported by the pager extension bundled with Mercurial version 1.7 or higher:'''
Line 52: Line 55:
=== Comments === To control whether the pager is used at all for an individual command, you can use --pager=<value>:
Line 54: Line 57:
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:
 * 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 61: Line 67:
pager = p attend-cat = false
Line 63: Line 69:

And
forget about AutopagerExtension or pager.ignore.
=== See also ===
AutopagerExtension (obsolete)

Pager Extension

This extension is distributed with Mercurial.

Author: David Soria Parra

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)


CategoryBundledExtension

PagerExtension (last edited 2019-07-03 01:05:56 by JordiGH)