Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/cmdutil.py @ 32856:615ec3f14aa9
formatter: wrap (tmpl, mapfile) by named tuple
I'm going to add more options to the templatespec tuple.
cmdutil.logtemplatespec() is just an alias now, but it will be changed to
a factory function later.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 22 Apr 2017 18:48:38 +0900 |
parents | 50586a0a946f |
children | b425ec7fb7f6 |
comparison
equal
deleted
inserted
replaced
32855:50586a0a946f | 32856:615ec3f14aa9 |
---|---|
1578 class changeset_templater(changeset_printer): | 1578 class changeset_templater(changeset_printer): |
1579 '''format changeset information.''' | 1579 '''format changeset information.''' |
1580 | 1580 |
1581 def __init__(self, ui, repo, matchfn, diffopts, tmpl, mapfile, buffered): | 1581 def __init__(self, ui, repo, matchfn, diffopts, tmpl, mapfile, buffered): |
1582 changeset_printer.__init__(self, ui, repo, matchfn, diffopts, buffered) | 1582 changeset_printer.__init__(self, ui, repo, matchfn, diffopts, buffered) |
1583 self.t = formatter.loadtemplater(ui, 'changeset', (tmpl, mapfile), | 1583 tmplspec = logtemplatespec(tmpl, mapfile) |
1584 self.t = formatter.loadtemplater(ui, 'changeset', tmplspec, | |
1584 cache=templatekw.defaulttempl) | 1585 cache=templatekw.defaulttempl) |
1585 self._counter = itertools.count() | 1586 self._counter = itertools.count() |
1586 self.cache = {} | 1587 self.cache = {} |
1587 | 1588 |
1588 # find correct templates for current mode | 1589 # find correct templates for current mode |
1644 if self._parts['footer']: | 1645 if self._parts['footer']: |
1645 if not self.footer: | 1646 if not self.footer: |
1646 self.footer = templater.stringify( | 1647 self.footer = templater.stringify( |
1647 self.t(self._parts['footer'], **props)) | 1648 self.t(self._parts['footer'], **props)) |
1648 | 1649 |
1650 logtemplatespec = formatter.templatespec | |
1651 | |
1649 def _lookuplogtemplate(ui, tmpl, style): | 1652 def _lookuplogtemplate(ui, tmpl, style): |
1650 """Find the template matching the given template spec or style | 1653 """Find the template matching the given template spec or style |
1651 | 1654 |
1652 See formatter.lookuptemplate() for details. | 1655 See formatter.lookuptemplate() for details. |
1653 """ | 1656 """ |
1654 | 1657 |
1655 # ui settings | 1658 # ui settings |
1656 if not tmpl and not style: # template are stronger than style | 1659 if not tmpl and not style: # template are stronger than style |
1657 tmpl = ui.config('ui', 'logtemplate') | 1660 tmpl = ui.config('ui', 'logtemplate') |
1658 if tmpl: | 1661 if tmpl: |
1659 return templater.unquotestring(tmpl), None | 1662 return logtemplatespec(templater.unquotestring(tmpl), None) |
1660 else: | 1663 else: |
1661 style = util.expandpath(ui.config('ui', 'style', '')) | 1664 style = util.expandpath(ui.config('ui', 'style', '')) |
1662 | 1665 |
1663 if not tmpl and style: | 1666 if not tmpl and style: |
1664 mapfile = style | 1667 mapfile = style |
1665 if not os.path.split(mapfile)[0]: | 1668 if not os.path.split(mapfile)[0]: |
1666 mapname = (templater.templatepath('map-cmdline.' + mapfile) | 1669 mapname = (templater.templatepath('map-cmdline.' + mapfile) |
1667 or templater.templatepath(mapfile)) | 1670 or templater.templatepath(mapfile)) |
1668 if mapname: | 1671 if mapname: |
1669 mapfile = mapname | 1672 mapfile = mapname |
1670 return None, mapfile | 1673 return logtemplatespec(None, mapfile) |
1671 | 1674 |
1672 if not tmpl: | 1675 if not tmpl: |
1673 return None, None | 1676 return logtemplatespec(None, None) |
1674 | 1677 |
1675 return formatter.lookuptemplate(ui, 'changeset', tmpl) | 1678 return formatter.lookuptemplate(ui, 'changeset', tmpl) |
1676 | 1679 |
1677 def makelogtemplater(ui, repo, tmpl, buffered=False): | 1680 def makelogtemplater(ui, repo, tmpl, buffered=False): |
1678 """Create a changeset_templater from a literal template 'tmpl'""" | 1681 """Create a changeset_templater from a literal template 'tmpl'""" |