# HG changeset patch # User Pierre-Yves David # Date 1482370462 -3600 # Node ID bb6385882cfa32cd8cedaea41f74cc6a948fcf22 # Parent 683606a829e889eb25956cd064314af9b5f68838 color: move configstyles into the core module The extension is getting thinner as we speak! diff -r 683606a829e8 -r bb6385882cfa hgext/color.py --- a/hgext/color.py Thu Dec 22 02:30:03 2016 +0100 +++ b/hgext/color.py Thu Dec 22 02:34:22 2016 +0100 @@ -332,22 +332,6 @@ stop = _effect_str('none') return ''.join([start, text, stop]) -def configstyles(ui): - for status, cfgeffects in ui.configitems('color'): - if '.' not in status or status.startswith(('color.', 'terminfo.')): - continue - cfgeffects = ui.configlist('color', status) - if cfgeffects: - good = [] - for e in cfgeffects: - if color.valideffect(e): - good.append(e) - else: - ui.warn(_("ignoring unknown color/effect %r " - "(configured in color.%s)\n") - % (e, status)) - color._styles[status] = ' '.join(good) - class colorui(uimod.ui): _colormode = 'ansi' def write(self, *args, **opts): @@ -420,7 +404,7 @@ mode = _modesetup(ui_, opts['color']) colorui._colormode = mode if mode and mode != 'debug': - configstyles(ui_) + color.configstyles(ui_) return orig(ui_, opts, cmd, cmdfunc) def colorgit(orig, gitsub, commands, env=None, stream=False, cwd=None): if gitsub.ui._colormode and len(commands) and commands[0] == "diff": diff -r 683606a829e8 -r bb6385882cfa mercurial/color.py --- a/mercurial/color.py Thu Dec 22 02:30:03 2016 +0100 +++ b/mercurial/color.py Thu Dec 22 02:34:22 2016 +0100 @@ -7,6 +7,8 @@ from __future__ import absolute_import +from .i18n import _ + try: import curses # Mapping from effect name to terminfo attribute name (or raw code) or @@ -114,6 +116,22 @@ def loadcolortable(ui, extname, colortable): _styles.update(colortable) +def configstyles(ui): + for status, cfgeffects in ui.configitems('color'): + if '.' not in status or status.startswith(('color.', 'terminfo.')): + continue + cfgeffects = ui.configlist('color', status) + if cfgeffects: + good = [] + for e in cfgeffects: + if valideffect(e): + good.append(e) + else: + ui.warn(_("ignoring unknown color/effect %r " + "(configured in color.%s)\n") + % (e, status)) + _styles[status] = ' '.join(good) + def valideffect(effect): 'Determine if the effect is valid or not.' return ((not _terminfo_params and effect in _effects)