color: move '_effect_str' function into the core module
authorPierre-Yves David <pierre-yves.david@ens-lyon.org>
Thu, 22 Dec 2016 02:37:18 +0100
changeset 30972 a3c7e42c7a1f
parent 30971 bb6385882cfa
child 30973 e5363cb96233
color: move '_effect_str' function into the core module
hgext/color.py
mercurial/color.py
--- a/hgext/color.py	Thu Dec 22 02:34:22 2016 +0100
+++ b/hgext/color.py	Thu Dec 22 02:37:18 2016 +0100
@@ -297,27 +297,6 @@
         return realmode
     return None
 
-def _effect_str(effect):
-    '''Helper function for render_effects().'''
-
-    bg = False
-    if effect.endswith('_background'):
-        bg = True
-        effect = effect[:-11]
-    try:
-        attr, val, termcode = color._terminfo_params[effect]
-    except KeyError:
-        return ''
-    if attr:
-        if termcode:
-            return termcode
-        else:
-            return curses.tigetstr(val)
-    elif bg:
-        return curses.tparm(curses.tigetstr('setab'), val)
-    else:
-        return curses.tparm(curses.tigetstr('setaf'), val)
-
 def render_effects(text, effects):
     'Wrap text in commands to turn on each effect.'
     if not text:
@@ -327,9 +306,9 @@
         start = '\033[' + ';'.join(start) + 'm'
         stop = '\033[' + str(color._effects['none']) + 'm'
     else:
-        start = ''.join(_effect_str(effect)
+        start = ''.join(color._effect_str(effect)
                         for effect in ['none'] + effects.split())
-        stop = _effect_str('none')
+        stop = color._effect_str('none')
     return ''.join([start, text, stop])
 
 class colorui(uimod.ui):
--- a/mercurial/color.py	Thu Dec 22 02:34:22 2016 +0100
+++ b/mercurial/color.py	Thu Dec 22 02:37:18 2016 +0100
@@ -137,3 +137,24 @@
     return ((not _terminfo_params and effect in _effects)
              or (effect in _terminfo_params
                  or effect[:-11] in _terminfo_params))
+
+def _effect_str(effect):
+    '''Helper function for render_effects().'''
+
+    bg = False
+    if effect.endswith('_background'):
+        bg = True
+        effect = effect[:-11]
+    try:
+        attr, val, termcode = _terminfo_params[effect]
+    except KeyError:
+        return ''
+    if attr:
+        if termcode:
+            return termcode
+        else:
+            return curses.tigetstr(val)
+    elif bg:
+        return curses.tparm(curses.tigetstr('setab'), val)
+    else:
+        return curses.tparm(curses.tigetstr('setaf'), val)