[PATCH] color: add support for churn --diffstat
Alexander Solovyov
piranha at piranha.org.ua
Mon Nov 30 15:10:34 CST 2009
# HG changeset patch
# User Alexander Solovyov <piranha at piranha.org.ua>
# Date 1259615421 -7200
# Node ID 19de3e48608e5367d91136e8627c525018e38edd
# Parent ad44e1f8b3f3fa2f0728deb55623ad444a753ed5
color: add support for churn --diffstat
diff --git a/hgext/color.py b/hgext/color.py
--- a/hgext/color.py
+++ b/hgext/color.py
@@ -213,6 +213,16 @@ def colordiff(orig, ui, repo, *pats, **o
finally:
ui.write = oldwrite
+def colorchurn(orig, ui, repo, *pats, **opts):
+ '''run the churn command with colored output'''
+ if not opts.get('diffstat'):
+ return orig(ui, repo, *pats, **opts)
+ oldwrite = extensions.wrapfunction(ui, 'write', colordiffstat)
+ try:
+ orig(ui, repo, *pats, **opts)
+ finally:
+ ui.write = oldwrite
+
_diff_prefixes = [('diff', 'diffline'),
('copy', 'extended'),
('rename', 'extended'),
@@ -259,7 +269,11 @@ def extsetup(ui):
if mq and rec:
_setupcmd(ui, 'qrecord', rec.cmdtable, colordiff, _diff_effects)
-
+ try:
+ churn = extensions.find('churn')
+ _setupcmd(ui, 'churn', churn.cmdtable, colorchurn, _diff_effects)
+ except KeyError:
+ churn = None
def _setupcmd(ui, cmd, table, func, effectsmap):
'''patch in command to command table and load effect map'''
More information about the Mercurial-devel
mailing list