Mercurial > hg
comparison hgext/color.py @ 30971:bb6385882cfa
color: move configstyles into the core module
The extension is getting thinner as we speak!
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Thu, 22 Dec 2016 02:34:22 +0100 |
parents | ddc80d1777a6 |
children | a3c7e42c7a1f |
comparison
equal
deleted
inserted
replaced
30970:683606a829e8 | 30971:bb6385882cfa |
---|---|
330 start = ''.join(_effect_str(effect) | 330 start = ''.join(_effect_str(effect) |
331 for effect in ['none'] + effects.split()) | 331 for effect in ['none'] + effects.split()) |
332 stop = _effect_str('none') | 332 stop = _effect_str('none') |
333 return ''.join([start, text, stop]) | 333 return ''.join([start, text, stop]) |
334 | 334 |
335 def configstyles(ui): | |
336 for status, cfgeffects in ui.configitems('color'): | |
337 if '.' not in status or status.startswith(('color.', 'terminfo.')): | |
338 continue | |
339 cfgeffects = ui.configlist('color', status) | |
340 if cfgeffects: | |
341 good = [] | |
342 for e in cfgeffects: | |
343 if color.valideffect(e): | |
344 good.append(e) | |
345 else: | |
346 ui.warn(_("ignoring unknown color/effect %r " | |
347 "(configured in color.%s)\n") | |
348 % (e, status)) | |
349 color._styles[status] = ' '.join(good) | |
350 | |
351 class colorui(uimod.ui): | 335 class colorui(uimod.ui): |
352 _colormode = 'ansi' | 336 _colormode = 'ansi' |
353 def write(self, *args, **opts): | 337 def write(self, *args, **opts): |
354 if self._colormode is None: | 338 if self._colormode is None: |
355 return super(colorui, self).write(*args, **opts) | 339 return super(colorui, self).write(*args, **opts) |
418 ui.__class__ = colorui | 402 ui.__class__ = colorui |
419 def colorcmd(orig, ui_, opts, cmd, cmdfunc): | 403 def colorcmd(orig, ui_, opts, cmd, cmdfunc): |
420 mode = _modesetup(ui_, opts['color']) | 404 mode = _modesetup(ui_, opts['color']) |
421 colorui._colormode = mode | 405 colorui._colormode = mode |
422 if mode and mode != 'debug': | 406 if mode and mode != 'debug': |
423 configstyles(ui_) | 407 color.configstyles(ui_) |
424 return orig(ui_, opts, cmd, cmdfunc) | 408 return orig(ui_, opts, cmd, cmdfunc) |
425 def colorgit(orig, gitsub, commands, env=None, stream=False, cwd=None): | 409 def colorgit(orig, gitsub, commands, env=None, stream=False, cwd=None): |
426 if gitsub.ui._colormode and len(commands) and commands[0] == "diff": | 410 if gitsub.ui._colormode and len(commands) and commands[0] == "diff": |
427 # insert the argument in the front, | 411 # insert the argument in the front, |
428 # the end of git diff arguments is used for paths | 412 # the end of git diff arguments is used for paths |