Mercurial > hg
comparison mercurial/formatter.py @ 31924:21f129354dd0
templatekw: add public function to wrap a list by _hybrid object
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Wed, 05 Apr 2017 22:25:36 +0900 |
parents | e6eb86b154c5 |
children | 5b2241e84982 |
comparison
equal
deleted
inserted
replaced
31923:68c910fa9ee2 | 31924:21f129354dd0 |
---|---|
327 def formatlist(data, name, fmt, sep): | 327 def formatlist(data, name, fmt, sep): |
328 '''build object that can be evaluated as either plain string or list''' | 328 '''build object that can be evaluated as either plain string or list''' |
329 data = list(data) | 329 data = list(data) |
330 def f(): | 330 def f(): |
331 yield _plainconverter.formatlist(data, name, fmt, sep) | 331 yield _plainconverter.formatlist(data, name, fmt, sep) |
332 return templatekw._hybrid(f(), data, lambda x: {name: x}, | 332 return templatekw.hybridlist(data, name=name, fmt=fmt, gen=f()) |
333 lambda d: fmt % d[name]) | |
334 | 333 |
335 class templateformatter(baseformatter): | 334 class templateformatter(baseformatter): |
336 def __init__(self, ui, out, topic, opts): | 335 def __init__(self, ui, out, topic, opts): |
337 baseformatter.__init__(self, ui, topic, opts, _templateconverter) | 336 baseformatter.__init__(self, ui, topic, opts, _templateconverter) |
338 self._out = out | 337 self._out = out |