mercurial/color.py
changeset 37664 483cafc3762a
parent 37662 5340daa85c62
child 37732 35632d392279
equal deleted inserted replaced
37663:fc114a16a484 37664:483cafc3762a
   169         return
   169         return
   170 
   170 
   171     for key, (b, e, c) in ui._terminfoparams.copy().items():
   171     for key, (b, e, c) in ui._terminfoparams.copy().items():
   172         if not b:
   172         if not b:
   173             continue
   173             continue
   174         if not c and not curses.tigetstr(e):
   174         if not c and not curses.tigetstr(pycompat.sysstr(e)):
   175             # Most terminals don't support dim, invis, etc, so don't be
   175             # Most terminals don't support dim, invis, etc, so don't be
   176             # noisy and use ui.debug().
   176             # noisy and use ui.debug().
   177             ui.debug("no terminfo entry for %s\n" % e)
   177             ui.debug("no terminfo entry for %s\n" % e)
   178             del ui._terminfoparams[key]
   178             del ui._terminfoparams[key]
   179     if not curses.tigetstr('setaf') or not curses.tigetstr('setab'):
   179     if not curses.tigetstr(r'setaf') or not curses.tigetstr(r'setab'):
   180         # Only warn about missing terminfo entries if we explicitly asked for
   180         # Only warn about missing terminfo entries if we explicitly asked for
   181         # terminfo mode and we're in a formatted terminal.
   181         # terminfo mode and we're in a formatted terminal.
   182         if mode == "terminfo" and formatted:
   182         if mode == "terminfo" and formatted:
   183             ui.warn(_("no terminfo entry for setab/setaf: reverting to "
   183             ui.warn(_("no terminfo entry for setab/setaf: reverting to "
   184               "ECMA-48 color\n"))
   184               "ECMA-48 color\n"))
   323         return ''
   323         return ''
   324     if attr:
   324     if attr:
   325         if termcode:
   325         if termcode:
   326             return termcode
   326             return termcode
   327         else:
   327         else:
   328             return curses.tigetstr(val)
   328             return curses.tigetstr(pycompat.sysstr(val))
   329     elif bg:
   329     elif bg:
   330         return curses.tparm(curses.tigetstr('setab'), val)
   330         return curses.tparm(curses.tigetstr(r'setab'), val)
   331     else:
   331     else:
   332         return curses.tparm(curses.tigetstr('setaf'), val)
   332         return curses.tparm(curses.tigetstr(r'setaf'), val)
   333 
   333 
   334 def _mergeeffects(text, start, stop):
   334 def _mergeeffects(text, start, stop):
   335     """Insert start sequence at every occurrence of stop sequence
   335     """Insert start sequence at every occurrence of stop sequence
   336 
   336 
   337     >>> s = _mergeeffects(b'cyan', b'[C]', b'|')
   337     >>> s = _mergeeffects(b'cyan', b'[C]', b'|')