Mercurial > public > mercurial-scm > hg-stable
diff mercurial/templateutil.py @ 36985:255f635c3204
templater: convert resources to a table of callables for future extension
I'm going to add a full templating support to the annotate command. As the
annotate is a filectx-oriented command, we'll need a way to look up a ctx
from a bounded fctx only when necessary.
This is the minimal change to support that. I'm thinking of defining a proper
interface to look up template resources to fix other issues, but that isn't
ready yet.
(Changes from V1: just updated tests and patch descriptions.)
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sun, 11 Mar 2018 21:05:29 +0900 |
parents | 32f9b7e3f056 |
children | c97b936d8bb5 |
line wrap: on
line diff
--- a/mercurial/templateutil.py Sat Mar 17 21:46:17 2018 -0400 +++ b/mercurial/templateutil.py Sun Mar 11 21:05:29 2018 +0900 @@ -350,7 +350,8 @@ v = default if callable(v) and getattr(v, '_requires', None) is None: # old templatekw: expand all keywords and resources - props = context._resources.copy() + props = {k: f(context, mapping, k) + for k, f in context._resources.items()} props.update(mapping) return v(**pycompat.strkwargs(props)) if callable(v):