Sat, 17 Mar 2018 22:30:25 +0900 templater: mark .joinfmt as a private attribute
Yuya Nishihara <yuya@tcha.org> [Sat, 17 Mar 2018 22:30:25 +0900] rev 37329
templater: mark .joinfmt as a private attribute
Mon, 19 Mar 2018 20:32:06 +0900 obsutil: make obsfateprinter() less dependent on templater
Yuya Nishihara <yuya@tcha.org> [Mon, 19 Mar 2018 20:32:06 +0900] rev 37328
obsutil: make obsfateprinter() less dependent on templater joinfmt() is defined as 'lambda x: scmutil.formatchangeid(repo[x])' in showsuccsandmarkers(). Function arguments are reordered so they look more normal.
Sat, 17 Mar 2018 22:06:31 +0900 templater: abstract away from joinfmt
Yuya Nishihara <yuya@tcha.org> [Sat, 17 Mar 2018 22:06:31 +0900] rev 37327
templater: abstract away from joinfmt Future patches will add a wrapper for a list of template mappings, which will implement a custom join() something like {join(mappings % template)}. The original join() function is broken down as follows: if hasattr(joinset, 'joinfmt'): # hybrid.join() where values must be a list or a dict joinitems((joinfmt(x) for x in values), sep) elif isinstance(joinset, templateutil.wrapped): # mappable.join() show() else: # a plain list, a generator, or a byte string; joinfmt was identity() joinset = templateutil.unwrapvalue(context, joinset) joinitems(pycompat.maybebytestr(joinset), joiner)
Tue, 20 Mar 2018 23:16:28 +0900 templater: micro-optimize join() with empty separator
Yuya Nishihara <yuya@tcha.org> [Tue, 20 Mar 2018 23:16:28 +0900] rev 37326
templater: micro-optimize join() with empty separator
Sat, 17 Mar 2018 21:42:27 +0900 templater: factor out generator of join()-ed items
Yuya Nishihara <yuya@tcha.org> [Sat, 17 Mar 2018 21:42:27 +0900] rev 37325
templater: factor out generator of join()-ed items Prepares for defining join() behavior per wrapped types and getting rid of the public joinfmt attribute.
Sun, 18 Mar 2018 23:24:50 +0900 templater: pass context to itermaps() for future extension
Yuya Nishihara <yuya@tcha.org> [Sun, 18 Mar 2018 23:24:50 +0900] rev 37324
templater: pass context to itermaps() for future extension Unlike show() and tovalue(), a base mapping isn't passed to itermaps() since it is the function to generate a partial mapping.
Sat, 17 Mar 2018 21:21:50 +0900 templater: define interface for objects which act as iterator of mappings
Yuya Nishihara <yuya@tcha.org> [Sat, 17 Mar 2018 21:21:50 +0900] rev 37323
templater: define interface for objects which act as iterator of mappings
(0) -30000 -10000 -3000 -1000 -300 -100 -30 -10 -7 +7 +10 +30 +100 +300 +1000 +3000 +10000 tip