Mercurial > hg
comparison tests/test-pager.t @ 31954:e518192d6bac
pager: set some environment variables if they're not set
Git did this already [1] [2]. We want this behavior too [3].
This provides a better default user experience (like, supporting colors) if
users have things like "PAGER=less" set, which is not uncommon.
The environment variables are provided by a method so extensions can
override them on demand.
[1]: https://github.com/git/git/blob/6a5ff7acb5965718cc7016c0ab6c601454fd7cde/pager.c#L87
[2]: https://github.com/git/git/blob/6a5ff7acb5965718cc7016c0ab6c601454fd7cde/Makefile#L1545
[3]: https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-March/094780.html
author | Jun Wu <quark@fb.com> |
---|---|
date | Thu, 13 Apr 2017 08:27:19 -0700 |
parents | 9335dc6b2a9c |
children | d323d9e0d7b4 |
comparison
equal
deleted
inserted
replaced
31953:cc2382b60007 | 31954:e518192d6bac |
---|---|
252 6: a 6 | 252 6: a 6 |
253 7: a 7 | 253 7: a 7 |
254 8: a 8 | 254 8: a 8 |
255 9: a 9 | 255 9: a 9 |
256 10: a 10 | 256 10: a 10 |
257 | |
258 Environment variables like LESS and LV are set automatically: | |
259 $ cat > $TESTTMP/printlesslv.py <<EOF | |
260 > import os, sys | |
261 > sys.stdin.read() | |
262 > for name in ['LESS', 'LV']: | |
263 > sys.stdout.write(('%s=%s\n') % (name, os.environ.get(name, '-'))) | |
264 > sys.stdout.flush() | |
265 > EOF | |
266 | |
267 $ cat >> $HGRCPATH <<EOF | |
268 > [alias] | |
269 > noop = log -r 0 -T '' | |
270 > [ui] | |
271 > formatted=1 | |
272 > [pager] | |
273 > pager = $PYTHON $TESTTMP/printlesslv.py | |
274 > EOF | |
275 $ unset LESS | |
276 $ unset LV | |
277 $ hg noop --pager=on | |
278 LESS=FRX | |
279 LV=-c | |
280 $ LESS=EFGH hg noop --pager=on | |
281 LESS=EFGH | |
282 LV=-c |