color: move the 'colorlabel' function in the core module
authorPierre-Yves David <pierre-yves.david@ens-lyon.org>
Thu, 23 Feb 2017 19:10:24 +0100
changeset 31103 e6082078c853
parent 31102 3422de9b657e
child 31104 894bdcdc75df
color: move the 'colorlabel' function in the core module The extract code is relocated in core.
hgext/color.py
mercurial/color.py
--- a/hgext/color.py	Thu Feb 23 19:00:26 2017 +0100
+++ b/hgext/color.py	Thu Feb 23 19:10:24 2017 +0100
@@ -331,29 +331,7 @@
     def label(self, msg, label):
         if self._colormode is None:
             return super(colorui, self).label(msg, label)
-        return colorlabel(self, msg, label)
-
-def colorlabel(ui, msg, label):
-    """add color control code according to the mode"""
-    if ui._colormode == 'debug':
-        if label and msg:
-            if msg[-1] == '\n':
-                msg = "[%s|%s]\n" % (label, msg[:-1])
-            else:
-                msg = "[%s|%s]" % (label, msg)
-    elif ui._colormode is not None:
-        effects = []
-        for l in label.split():
-            s = color._styles.get(l, '')
-            if s:
-                effects.append(s)
-            elif color.valideffect(l):
-                effects.append(l)
-        effects = ' '.join(effects)
-        if effects:
-            msg = '\n'.join([color._render_effects(line, effects)
-                             for line in msg.split('\n')])
-    return msg
+        return color.colorlabel(self, msg, label)
 
 def uisetup(ui):
     if ui.plain():
--- a/mercurial/color.py	Thu Feb 23 19:00:26 2017 +0100
+++ b/mercurial/color.py	Thu Feb 23 19:10:24 2017 +0100
@@ -175,6 +175,28 @@
         stop = '\033[' + str(_effects['none']) + 'm'
     return ''.join([start, text, stop])
 
+def colorlabel(ui, msg, label):
+    """add color control code according to the mode"""
+    if ui._colormode == 'debug':
+        if label and msg:
+            if msg[-1] == '\n':
+                msg = "[%s|%s]\n" % (label, msg[:-1])
+            else:
+                msg = "[%s|%s]" % (label, msg)
+    elif ui._colormode is not None:
+        effects = []
+        for l in label.split():
+            s = _styles.get(l, '')
+            if s:
+                effects.append(s)
+            elif valideffect(l):
+                effects.append(l)
+        effects = ' '.join(effects)
+        if effects:
+            msg = '\n'.join([_render_effects(line, effects)
+                             for line in msg.split('\n')])
+    return msg
+
 w32effects = None
 if pycompat.osname == 'nt':
     import ctypes