diff hgext/color.py @ 30972:a3c7e42c7a1f

color: move '_effect_str' function into the core module
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
date Thu, 22 Dec 2016 02:37:18 +0100
parents bb6385882cfa
children e5363cb96233
line wrap: on
line diff
--- 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):