[PATCH] color: show mode warning based on ui.formatted

Sean Farley sean at farley.io
Thu Nov 10 23:36:25 EST 2016


Xidorn Quan <me at upsuper.org> writes:

> # HG changeset patch
> # User Xidorn Quan <me at upsuper.org>
> # Date 1478829965 -39600
> #      Fri Nov 11 13:06:05 2016 +1100
> # Node ID 1ffdeb65f19e74ea211af4d9f7c9c4c1dfaa7069
> # Parent  e1d6aa0e4c3aed73e0dc523b8a8fd5f9fe23510a
> color: show mode warning based on ui.formatted
>
> diff --git a/hgext/color.py b/hgext/color.py
> --- a/hgext/color.py
> +++ b/hgext/color.py
> @@ -270,18 +270,18 @@ def _modesetup(ui, coloropt):
>                  realmode = 'ansi'
>              else:
>                  realmode = 'win32'
>          else:
>              realmode = 'ansi'
>  
>      def modewarn():
>          # only warn if color.mode was explicitly set and we're in
> -        # an interactive terminal
> -        if mode == realmode and ui.interactive():
> +        # a formatted terminal
> +        if mode == realmode and ui.formatted():

Today I learned that ui.interactive is only for input and ui.formatted
is for ouput:

"This [interactive] function refers to input only; for output, see
`ui.formatted()'."

The patch looks good to me (maybe add some explanation to the commit
message but that shouldn't require a resend).


More information about the Mercurial-devel mailing list