Yuya Nishihara <yuya@tcha.org> [Mon, 03 Apr 2017 20:55:55 +0900] rev 31885
templater: add parsing rule for key-value pair
Based on the revset implementation, 70a2082f855a. This patch also adjusts
the test as '=' is now a valid token.
Yuya Nishihara <yuya@tcha.org> [Mon, 03 Apr 2017 20:44:05 +0900] rev 31884
templater: adjust binding strengths to make room for key-value operator
Changed as follows:
- template ops (%, |): +10
- arithmetic ops: +1 (but "negate" should be greater than "%")
Yuya Nishihara <yuya@tcha.org> [Mon, 03 Apr 2017 20:37:25 +0900] rev 31883
templater: sort token table by binding strength
Just for readability.
Yuya Nishihara <yuya@tcha.org> [Tue, 04 Apr 2017 22:31:59 +0900] rev 31882
templater: make _hybrid provide more list/dict-like methods
So the JSON filter works.
Yuya Nishihara <yuya@tcha.org> [Tue, 04 Apr 2017 22:20:06 +0900] rev 31881
templater: hide private variable of _hybrid
Yuya Nishihara <yuya@tcha.org> [Tue, 04 Apr 2017 22:19:02 +0900] rev 31880
templater: remove __iter__() from _hybrid, resolve it explicitly
The goal is to fix "{hybrid_obj|json}" output.
A _hybrid object must act as a list or a dict as well as a generator of
legacy template strings. Before, _hybrid.__iter__() was assigned for legacy
template, which conflicted with list.__iter__() API.
This patch drops _hybrid.__iter__() and makes stringify/flatten functions
unwrap a generator instead.