Differences between revisions 23 and 31 (spanning 8 versions)
Revision 23 as of 2013-05-11 01:36:32
Size: 2870
Editor: cpe-071-077-042-241
Comment:
Revision 31 as of 2019-07-03 01:02:31
Size: 2822
Editor: JordiGH
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
/!\ 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 7: Line 9:
Browse command output using an external pager Browse command output using an external pager.
Line 13: Line 15:
  [pager]
  pager = LESS='FRX' less
[pager]
pager = LESS='FRX' less
Line 16: Line 18:
  [extensions]
  pager =
[extensions]
pager =
Line 24: Line 26:
  [pager]
  quiet = True
[pager]
quiet = True
Line 30: Line 32:
  [pager]
  pager = LESS='FRX' less -d
[pager]
pager = LESS='FRX' less -d
Line 40: Line 42:
  [pager]
  ignore = version, help, update
[pager]
ignore = version, help, update
Line 46: Line 48:
  [pager]
  attend = annotate, cat, diff, export, glog, log, qdiff
[pager]
attend = annotate, cat, diff, export, glog, log, qdiff
Line 49: 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 53: Line 55:
'''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
}}}
Line 56: Line 74:
=== 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.

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)


CategoryBundledExtension

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