Mercurial > public > mercurial-scm > hg
diff mercurial/templater.py @ 40935:4591c9791a82
templatefuncs: specialize "no match" value of search() to allow % operation
If Python had Maybe or Option, the type of the search() result would be
Option<Mapping>, which can be considered as a 0/1 container of a Mapping.
So it makes sense that {search(r'no match pattern', x) % "whatever"} is
mapped to an empty string.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Wed, 12 Dec 2018 22:45:02 +0900 |
parents | ff8b2886c492 |
children | 2372284d9457 |
line wrap: on
line diff
--- a/mercurial/templater.py Wed Dec 12 22:19:57 2018 +0900 +++ b/mercurial/templater.py Wed Dec 12 22:45:02 2018 +0900 @@ -53,6 +53,10 @@ represents a single mapping (i.e. a dict), which may have default output format. +mappingnone + represents None of Optional[mappable], which will be mapped to an empty + string by % operation. + mappedgenerator a lazily-evaluated list of byte strings, which is e.g. a result of % operation.