[PATCH] ui: add new config flag for interface selection

Yuya Nishihara yuya at tcha.org
Fri Jan 8 08:38:27 CST 2016


On Thu, 7 Jan 2016 20:18:06 +0000, Pierre-Yves David wrote:
> (1) What config section to use
> ------------------------------
> 
> Laurent proposal is:
> 
>    [ui]
>    interface=
>    interface.subtype=
> 
> Yuya proposal is:
> 
>    [interactive-ui]
> 
> Yuya's Rational:
> 
>    I prefer new section rather than putting everything under pseudo 
> 'ui.interface.'
> 
> [my opinion]
> 
> (I've a mild opinion about this. I've some preference but won't see a 
> different direction as problematic.)
> 
> a) We'll have sub values anyway. I expect people to want to configure 
> value on a command basic and etc. so we'll end up with things like:
> 
> ui.interface.hunkselector.commit=foo
> ui.interface.hunkselector.split=bar

I was thinking a separate section because it would be simpler to disable them
if HGPLAIN specified.

       if self.plain():
            for k, v in cfg.items('ui-interface-section'):
                del cfg['ui-interface-section'][k]
            # or implement config.__delitem__() to write
            # del cfg['ui-interface-section']

But anyway, it isn't a big deal, we can iterate each key under 'ui' and test
if it starts with 'interface' or 'interface.'.

> (or something different, but still subvalued, see merge-tools)
> 
> (We are not planning to support this in the initial implementation. But 
> change are quite high that people will ask for it so better keep room 
> for that).
> 
> b) for a change, what we would like put "ui" is exactly about "user 
> interface" (and not about default value and behavior). It would be quite 
> a shame to not use the UI config section for a UI stuff.
> 
> c) I expect most users to just set it once for the top level
> 
>    [ui]
>    interface=curse
> 
> That will not be too noisy. On the other hand a dedicated section with 
> only 1 value used in most case might look silly.
> 
>    [interactive-ui]
>    default=curse

Yep.


More information about the Mercurial-devel mailing list