annotate mercurial/help/pager.txt @ 37290:cc5a040fe150

wireproto: syntax for encoding CBOR into frames We just vendored a library for encoding and decoding the CBOR data format. While the intent of that vendor was to support state files, CBOR is really a nice data format. It is extensible and compact. I've been feeling dirty inventing my own data formats for frame payloads. While custom formats can always beat out a generic format, there is a cost to be paid in terms of implementation, comprehension, etc. CBOR is compact enough that I'm not too worried about efficiency loss. I think the benefits of using a standardized format outweigh rolling our own formats. So I plan to make heavy use of CBOR in the wire protocol going forward. This commit introduces support for encoding CBOR data in frame payloads to our function to make a frame from a human string. We do need to employ some low-level Python code in order to evaluate a string as a Python expression. But other than that, this should hopefully be pretty straightforward. Unit tests for this function have been added. Differential Revision: https://phab.mercurial-scm.org/D2948
author Gregory Szorc <gregory.szorc@gmail.com>
date Wed, 28 Mar 2018 15:05:39 -0700
parents 85b978031a75
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
32138
edbbd18a47ab help: attempt to clarify that pager usage is not output length based
Matt Harbison <matt_harbison@yahoo.com>
parents: 32137
diff changeset
1 Some Mercurial commands can produce a lot of output, and Mercurial will
31061
900996da577a pager: move most help to a new help topic and deprecate extension
Augie Fackler <augie@google.com>
parents:
diff changeset
2 attempt to use a pager to make those commands more pleasant.
900996da577a pager: move most help to a new help topic and deprecate extension
Augie Fackler <augie@google.com>
parents:
diff changeset
3
900996da577a pager: move most help to a new help topic and deprecate extension
Augie Fackler <augie@google.com>
parents:
diff changeset
4 To set the pager that should be used, set the application variable::
900996da577a pager: move most help to a new help topic and deprecate extension
Augie Fackler <augie@google.com>
parents:
diff changeset
5
900996da577a pager: move most help to a new help topic and deprecate extension
Augie Fackler <augie@google.com>
parents:
diff changeset
6 [pager]
900996da577a pager: move most help to a new help topic and deprecate extension
Augie Fackler <augie@google.com>
parents:
diff changeset
7 pager = less -FRX
900996da577a pager: move most help to a new help topic and deprecate extension
Augie Fackler <augie@google.com>
parents:
diff changeset
8
32608
85b978031a75 help: clarify the choice of pager
Xavier Lepaul <xalep@google.com>
parents: 32138
diff changeset
9 If no pager is set in the user or repository configuration, Mercurial uses the
85b978031a75 help: clarify the choice of pager
Xavier Lepaul <xalep@google.com>
parents: 32138
diff changeset
10 environment variable $PAGER. If $PAGER is not set, pager.pager from the default
85b978031a75 help: clarify the choice of pager
Xavier Lepaul <xalep@google.com>
parents: 32138
diff changeset
11 or system configuration is used. If none of these are set, a default pager will
85b978031a75 help: clarify the choice of pager
Xavier Lepaul <xalep@google.com>
parents: 32138
diff changeset
12 be used, typically `less` on Unix and `more` on Windows.
31061
900996da577a pager: move most help to a new help topic and deprecate extension
Augie Fackler <augie@google.com>
parents:
diff changeset
13
32137
c4eb23116a09 help: document color/pager pitfalls on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32104
diff changeset
14 .. container:: windows
c4eb23116a09 help: document color/pager pitfalls on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32104
diff changeset
15
c4eb23116a09 help: document color/pager pitfalls on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32104
diff changeset
16 On Windows, `more` is not color aware, so using it effectively disables color.
c4eb23116a09 help: document color/pager pitfalls on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32104
diff changeset
17 MSYS and Cygwin shells provide `less` as a pager, which can be configured to
c4eb23116a09 help: document color/pager pitfalls on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32104
diff changeset
18 support ANSI color codes. See :hg:`help config.color.pagermode` to configure
c4eb23116a09 help: document color/pager pitfalls on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32104
diff changeset
19 the color mode when invoking a pager.
c4eb23116a09 help: document color/pager pitfalls on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32104
diff changeset
20
31061
900996da577a pager: move most help to a new help topic and deprecate extension
Augie Fackler <augie@google.com>
parents:
diff changeset
21 You can disable the pager for certain commands by adding them to the
900996da577a pager: move most help to a new help topic and deprecate extension
Augie Fackler <augie@google.com>
parents:
diff changeset
22 pager.ignore list::
900996da577a pager: move most help to a new help topic and deprecate extension
Augie Fackler <augie@google.com>
parents:
diff changeset
23
900996da577a pager: move most help to a new help topic and deprecate extension
Augie Fackler <augie@google.com>
parents:
diff changeset
24 [pager]
900996da577a pager: move most help to a new help topic and deprecate extension
Augie Fackler <augie@google.com>
parents:
diff changeset
25 ignore = version, help, update
900996da577a pager: move most help to a new help topic and deprecate extension
Augie Fackler <augie@google.com>
parents:
diff changeset
26
900996da577a pager: move most help to a new help topic and deprecate extension
Augie Fackler <augie@google.com>
parents:
diff changeset
27 To ignore global commands like :hg:`version` or :hg:`help`, you have
900996da577a pager: move most help to a new help topic and deprecate extension
Augie Fackler <augie@google.com>
parents:
diff changeset
28 to specify them in your user configuration file.
900996da577a pager: move most help to a new help topic and deprecate extension
Augie Fackler <augie@google.com>
parents:
diff changeset
29
900996da577a pager: move most help to a new help topic and deprecate extension
Augie Fackler <augie@google.com>
parents:
diff changeset
30 To control whether the pager is used at all for an individual command,
32084
091d6b9157da help: apply bulk fixes for indentation and literal blocking issues
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32081
diff changeset
31 you can use --pager=<value>:
31061
900996da577a pager: move most help to a new help topic and deprecate extension
Augie Fackler <augie@google.com>
parents:
diff changeset
32
900996da577a pager: move most help to a new help topic and deprecate extension
Augie Fackler <augie@google.com>
parents:
diff changeset
33 - use as needed: `auto`.
900996da577a pager: move most help to a new help topic and deprecate extension
Augie Fackler <augie@google.com>
parents:
diff changeset
34 - require the pager: `yes` or `on`.
900996da577a pager: move most help to a new help topic and deprecate extension
Augie Fackler <augie@google.com>
parents:
diff changeset
35 - suppress the pager: `no` or `off` (any unrecognized value
32084
091d6b9157da help: apply bulk fixes for indentation and literal blocking issues
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32081
diff changeset
36 will also work).
31062
88203f26ea57 pager: add a config knob to just globally turn off the pager
Augie Fackler <augie@google.com>
parents: 31061
diff changeset
37
88203f26ea57 pager: add a config knob to just globally turn off the pager
Augie Fackler <augie@google.com>
parents: 31061
diff changeset
38 To globally turn off all attempts to use a pager, set::
88203f26ea57 pager: add a config knob to just globally turn off the pager
Augie Fackler <augie@google.com>
parents: 31061
diff changeset
39
32104
f06d23af6cdf pager: rename 'pager.enable' to 'ui.paginate'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32084
diff changeset
40 [ui]
f06d23af6cdf pager: rename 'pager.enable' to 'ui.paginate'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32084
diff changeset
41 paginate = never
31062
88203f26ea57 pager: add a config knob to just globally turn off the pager
Augie Fackler <augie@google.com>
parents: 31061
diff changeset
42
88203f26ea57 pager: add a config knob to just globally turn off the pager
Augie Fackler <augie@google.com>
parents: 31061
diff changeset
43 which will prevent the pager from running.