[PATCH 7 of 8 STABLE] pager: unify handling of 'ui.pager' and '--pager'
Pierre-Yves David
pierre-yves.david at ens-lyon.org
Mon May 1 13:46:30 EDT 2017
On 05/01/2017 07:33 PM, Martin von Zweigbergk wrote:
> On Mon, May 1, 2017 at 9:12 AM, Pierre-Yves David
> <pierre-yves.david at ens-lyon.org> wrote:
>> # HG changeset patch
>> # User Pierre-Yves David <pierre-yves.david at ens-lyon.org>
>> # Date 1493651095 -7200
>> # Mon May 01 17:04:55 2017 +0200
>> # Branch stable
>> # Node ID 2605f6e2ed168e6915fba6df575d80b962418ec6
>> # Parent bdd42fa505b60739fa337e683a0f64b8dc1c4707
>> # EXP-Topic pager
>> # Available At https://www.mercurial-scm.org/repo/users/marmoute/mercurial/
>> # hg pull https://www.mercurial-scm.org/repo/users/marmoute/mercurial/ -r 2605f6e2ed16
>> pager: unify handling of 'ui.pager' and '--pager'
>>
>> This is similar to what we do with 'ui.color' and '--color'. Both now takes the
>> same possible values. The config option act as a default for the global command
>> line flag.
>>
>> In practice, this means 'ui.color' can now accept 'auto' as a value.
>>
>> diff --git a/hgext/pager.py b/hgext/pager.py
>> --- a/hgext/pager.py
>> +++ b/hgext/pager.py
>> @@ -39,7 +39,10 @@ testedwith = 'ships-with-hg-core'
>> def uisetup(ui):
>>
>> def pagecmd(orig, ui, options, cmd, cmdfunc):
>> - auto = options['pager'] == 'auto'
>> + pageropt = options.get('pager')
>> + if not pageropt:
>> + pageropt = ui.config('ui', 'pager', 'auto')
>> + auto = pageropt == 'auto'
>> if auto and not ui.pageractive:
>> usepager = False
>> attend = ui.configlist('pager', 'attend', attended)
>> diff --git a/mercurial/commands.py b/mercurial/commands.py
>> --- a/mercurial/commands.py
>> +++ b/mercurial/commands.py
>> @@ -99,7 +99,7 @@ globalopts = [
>> ('', 'version', None, _('output version information and exit')),
>> ('h', 'help', None, _('display help and exit')),
>> ('', 'hidden', False, _('consider hidden changesets')),
>> - ('', 'pager', 'auto',
>> + ('', 'pager', '',
>> _("when to paginate (boolean, always, auto, or never)"), _('TYPE')),
>> ]
>>
>> diff --git a/mercurial/dispatch.py b/mercurial/dispatch.py
>> --- a/mercurial/dispatch.py
>> +++ b/mercurial/dispatch.py
>> @@ -833,9 +833,13 @@ def _dispatch(req):
>> for ui_ in uis:
>> ui_.setconfig('ui', 'interactive', 'off', '-y')
>>
>> - if util.parsebool(options['pager']):
>> + pageropt = options.get('pager')
>> + if not pageropt:
>> + pageropt = ui.config('ui', 'pager', 'auto')
>> +
>> + if util.parsebool(pageropt):
>> ui.pager('internal-always-' + cmd)
>> - elif options['pager'] != 'auto':
>> + elif pageropt != 'auto':
>> ui.disablepager()
>>
>> if cmdoptions.get('insecure', False):
>> diff --git a/mercurial/help/config.txt b/mercurial/help/config.txt
>> --- a/mercurial/help/config.txt
>> +++ b/mercurial/help/config.txt
>> @@ -1963,8 +1963,8 @@ User interface controls.
>> not a directory, one will be created.
>>
>> ``pager``
>> - Control the pagination of command output (default: True). See :hg:`help pager`
>> - for details.
>> + Control the pagination of command output. Possible values are: on, auto, off
>> + (defaul: auto). See :hg:`help pager` for details.
>
> The possible values for --pager was documented as "boolean, always,
> auto, or never". Same for --color (except that it also allows
> "debug"). ui.color is documented to support "auto, always, never, or
> debug". Seems like we should pick one way of describing it. I vote for
> copying the texts from the --pager/color descriptions.
Good catch, +1 for always/never. I automatically used 'never' in patch 8
without realizing.
--
Pierre-Yves David
More information about the Mercurial-devel
mailing list