color: drop the 'colorui' class
Now that all logics formally bared by 'colorui' have been moved to the main ui
class, that class is empty and can be dropped. As a nice side effect we can get
rid of the baroque Initialization associated to it.
There was much rejoicing.
--- a/hgext/color.py Mon Feb 20 12:42:23 2017 +0100
+++ b/hgext/color.py Mon Feb 20 12:42:35 2017 +0100
@@ -296,18 +296,12 @@
return realmode
return None
-class colorui(uimod.ui):
- pass
-
def uisetup(ui):
if ui.plain():
return
- if not isinstance(ui, colorui):
- colorui.__bases__ = (ui.__class__,)
- ui.__class__ = colorui
def colorcmd(orig, ui_, opts, cmd, cmdfunc):
mode = _modesetup(ui_, opts['color'])
- colorui._colormode = mode
+ uimod.ui._colormode = mode
if mode and mode != 'debug':
color.configstyles(ui_)
return orig(ui_, opts, cmd, cmdfunc)
--- a/tests/test-ui-color.py Mon Feb 20 12:42:23 2017 +0100
+++ b/tests/test-ui-color.py Mon Feb 20 12:42:35 2017 +0100
@@ -1,16 +1,13 @@
from __future__ import absolute_import, print_function
import os
-from hgext import (
- color,
-)
from mercurial import (
dispatch,
ui as uimod,
)
# ensure errors aren't buffered
-testui = color.colorui()
+testui = uimod.ui()
testui.pushbuffer()
testui.write(('buffered\n'))
testui.warn(('warning\n'))
@@ -35,6 +32,7 @@
dispatch.dispatch(dispatch.request(['version', '-q'], ui_))
runcmd()
-print("colored? " + str(issubclass(ui_.__class__, color.colorui)))
+print("colored? %s" % (ui_._colormode is not None))
runcmd()
-print("colored? " + str(issubclass(ui_.__class__, color.colorui)))
+print("colored? %s" % (ui_._colormode is not None))
+