mercurial/templatekw.py
changeset 33047 de8e3681c402
parent 33017 c31d45623304
child 33048 46fa46608ca5
--- a/mercurial/templatekw.py	Sat Jun 24 12:47:25 2017 -0700
+++ b/mercurial/templatekw.py	Sat Jun 24 13:39:20 2017 -0700
@@ -554,13 +554,24 @@
     args = pycompat.byteskwargs(args)
     ctx = args['ctx']
     repo = ctx.repo()
-    namespaces = util.sortdict((k, showlist('name', ns.names(repo, ctx.node()),
-                                            args))
-                               for k, ns in repo.names.iteritems())
+
+    namespaces = util.sortdict()
+    colornames = {}
+
+    for k, ns in repo.names.iteritems():
+        namespaces[k] = showlist('name', ns.names(repo, ctx.node()), args)
+        colornames[k] = ns.colorname
+
     f = _showlist('namespace', list(namespaces), args)
-    return _hybrid(f, namespaces,
-                   lambda k: {'namespace': k, 'names': namespaces[k]},
-                   lambda x: x['namespace'])
+
+    def makemap(ns):
+        return {
+            'namespace': ns,
+            'names': namespaces[ns],
+            'colorname': colornames[ns],
+        }
+
+    return _hybrid(f, namespaces, makemap, lambda x: x['namespace'])
 
 @templatekeyword('node')
 def shownode(repo, ctx, templ, **args):