templater: rename mappable to hybriditem as it is the primary use case
This frees up the name 'mappable' for new interface type.
--- a/mercurial/templatekw.py Fri Jun 08 23:32:33 2018 +0900
+++ b/mercurial/templatekw.py Sat Jun 09 12:36:06 2018 +0900
@@ -31,7 +31,6 @@
)
_hybrid = templateutil.hybrid
-_mappable = templateutil.mappable
hybriddict = templateutil.hybriddict
hybridlist = templateutil.hybridlist
compatdict = templateutil.compatdict
@@ -469,7 +468,8 @@
f = context.process('manifest', mapping)
# TODO: perhaps 'ctx' should be dropped from mapping because manifest
# rev and node are completely different from changeset's.
- return _mappable(f, None, f, lambda x: {'rev': mrev, 'node': mhex})
+ return templateutil.hybriditem(f, None, f,
+ lambda x: {'rev': mrev, 'node': mhex})
@templatekeyword('obsfate', requires={'ui', 'repo', 'ctx'})
def showobsfate(context, mapping):
--- a/mercurial/templater.py Fri Jun 08 23:32:33 2018 +0900
+++ b/mercurial/templater.py Sat Jun 09 12:36:06 2018 +0900
@@ -42,7 +42,7 @@
represents a list/dict of printable values, which can also be converted
to mappings by % operator.
-mappable
+hybriditem
represents a scalar printable value, also supports % operator.
mappinggenerator, mappinglist
--- a/mercurial/templateutil.py Fri Jun 08 23:32:33 2018 +0900
+++ b/mercurial/templateutil.py Sat Jun 09 12:36:06 2018 +0900
@@ -215,7 +215,7 @@
if util.safehasattr(val, '_makemap'):
# a nested hybrid list/dict, which has its own way of map operation
return val
- return mappable(None, key, val, self._makemap)
+ return hybriditem(None, key, val, self._makemap)
def itermaps(self, context):
makemap = self._makemap
@@ -243,7 +243,7 @@
for k, v in xs.iteritems()}
return [unwrapvalue(context, mapping, x) for x in xs]
-class mappable(wrapped):
+class hybriditem(wrapped):
"""Wrapper for non-list/dict object to support map operation
This class allows us to handle both: