keyword: colorize hg kwfiles output
authorChristian Ebert <blacktrash@gmx.net>
Sat, 04 Dec 2010 14:22:12 +0100
changeset 13078 69405131c968
parent 13077 6b8d2ee24ce2
child 13079 f3a2bb1e4255
keyword: colorize hg kwfiles output
hgext/keyword.py
--- a/hgext/keyword.py	Fri Dec 03 12:22:56 2010 +0100
+++ b/hgext/keyword.py	Sat Dec 04 14:22:12 2010 +0100
@@ -101,6 +101,13 @@
 # names of extensions using dorecord
 recordextensions = 'record'
 
+colortable = {
+    'kwfiles.enabled': 'green bold',
+    'kwfiles.enabledunknown': 'green',
+    'kwfiles.ignored': 'bold',
+    'kwfiles.ignoredunknown': 'none'
+}
+
 # date like in cvs' $Date
 utcdate = lambda x: util.datestr((x[0], 0), '%Y/%m/%d %H:%M:%S')
 # date like in svn's $Date
@@ -111,7 +118,6 @@
 # make keyword tools accessible
 kwtools = {'templater': None, 'hgcmd': ''}
 
-
 def _defaultkwmaps(ui):
     '''Returns default keywordmaps according to keywordset configuration.'''
     templates = {
@@ -447,10 +453,12 @@
     if opts.get('all') or opts.get('ignore'):
         showfiles += ([f for f in files if f not in kwfiles],
                       [f for f in unknown if f not in kwunknown])
-    for char, filenames in zip('KkIi', showfiles):
+    kwlabels = 'enabled enabledunknown ignored ignoredunknown'.split()
+    kwstates = zip('KkIi', showfiles, kwlabels)
+    for char, filenames, kwstate in kwstates:
         fmt = (opts.get('all') or ui.verbose) and '%s %%s\n' % char or '%s\n'
         for f in filenames:
-            ui.write(fmt % repo.pathto(f, cwd))
+            ui.write(fmt % repo.pathto(f, cwd), label='kwfiles.' + kwstate)
 
 def shrink(ui, repo, *pats, **opts):
     '''revert expanded keywords in the working directory