Mercurial > hg
view mercurial/help/pager.txt @ 38047:dabc2237963c
crecord: fallback to text mode if diffs are too big for curses mode
crecord uses curses.newpad to create a region that we can then scroll around in
by moving the main 'screen' as a veiwport into the (probably larger than the
actual screen) pad. Internally, at least in ncurses, pads are implemented using
windows, which have their dimensions limited to a certain size. Depending on
compilation options for ncurses, this size might be pretty small: (signed)
short, or it might be larger ((signed) int).
crecord wants to have enough room to have all of the contents of the main area
of the chunkselector in the pad; this means that the full size with everything
expanded must be less than these (undocumented, afaict) limits.
It's not easy to write tests for this because the limits are platform- and
installation- dependent and undocumented / unqueryable, as far as I can tell.
Differential Revision: https://phab.mercurial-scm.org/D3577
author | Kyle Lippincott <spectral@google.com> |
---|---|
date | Thu, 17 May 2018 23:11:24 -0700 |
parents | 85b978031a75 |
children |
line wrap: on
line source
Some Mercurial commands can produce a lot of output, and Mercurial will attempt to use a pager to make those commands more pleasant. To set the pager that should be used, set the application variable:: [pager] pager = less -FRX If no pager is set in the user or repository configuration, Mercurial uses the environment variable $PAGER. If $PAGER is not set, pager.pager from the default or system configuration is used. If none of these are set, a default pager will be used, typically `less` on Unix and `more` on Windows. .. container:: windows On Windows, `more` is not color aware, so using it effectively disables color. MSYS and Cygwin shells provide `less` as a pager, which can be configured to support ANSI color codes. See :hg:`help config.color.pagermode` to configure the color mode when invoking a pager. You can disable the pager for certain commands by adding them to the pager.ignore list:: [pager] ignore = version, help, update To ignore global commands like :hg:`version` or :hg:`help`, you have to specify them in your user configuration file. 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). To globally turn off all attempts to use a pager, set:: [ui] paginate = never which will prevent the pager from running.