# HG changeset patch # User Yuya Nishihara # Date 1492865451 -32400 # Node ID 5100ce217dfadfe07ecd7551a0b4bbc56bd81f47 # Parent 13eebc189ff3f35d3eb9cf94e6406adb397361cd formatter: add support for separator template This seems useful for writing JSON template. diff -r 13eebc189ff3 -r 5100ce217dfa mercurial/formatter.py --- a/mercurial/formatter.py Sat Apr 22 21:46:14 2017 +0900 +++ b/mercurial/formatter.py Sat Apr 22 21:50:51 2017 +0900 @@ -351,7 +351,7 @@ self._tref = spec.ref self._t = loadtemplater(ui, spec, cache=templatekw.defaulttempl) self._parts = templatepartsmap(spec, self._t, - ['docheader', 'docfooter']) + ['docheader', 'docfooter', 'separator']) self._counter = itertools.count() self._cache = {} # for templatekw/funcs to store reusable data self._renderitem('docheader', {}) @@ -364,7 +364,9 @@ def _showitem(self): item = self._item.copy() - item['index'] = next(self._counter) + item['index'] = index = next(self._counter) + if index > 0: + self._renderitem('separator', {}) self._renderitem(self._tref, item) def _renderitem(self, part, item): diff -r 13eebc189ff3 -r 5100ce217dfa tests/test-branches.t --- a/tests/test-branches.t Sat Apr 22 21:46:14 2017 +0900 +++ b/tests/test-branches.t Sat Apr 22 21:50:51 2017 +0900 @@ -533,7 +533,8 @@ $ cat <<'EOF' > "$TESTTMP/map-myjson" > docheader = '\{\n' > docfooter = '\n}\n' - > branches = '{ifeq(index, 0, "", ",\n")} {dict(branch, node|short)|json}' + > separator = ',\n' + > branches = ' {dict(branch, node|short)|json}' > EOF $ hg branches -T "$TESTTMP/map-myjson" {