Show More
@@ -188,7 +188,7 b' class baseformatter(object):' | |||||
188 | def context(self, **ctxs): |
|
188 | def context(self, **ctxs): | |
189 | '''insert context objects to be used to render template keywords''' |
|
189 | '''insert context objects to be used to render template keywords''' | |
190 | ctxs = pycompat.byteskwargs(ctxs) |
|
190 | ctxs = pycompat.byteskwargs(ctxs) | |
191 |
assert all(k |
|
191 | assert all(k in {'ctx', 'fctx'} for k in ctxs) | |
192 | if self._converter.storecontext: |
|
192 | if self._converter.storecontext: | |
193 | self._item.update(ctxs) |
|
193 | self._item.update(ctxs) | |
194 | def data(self, **data): |
|
194 | def data(self, **data): | |
@@ -395,13 +395,11 b' class templateformatter(baseformatter):' | |||||
395 | return |
|
395 | return | |
396 | ref = self._parts[part] |
|
396 | ref = self._parts[part] | |
397 |
|
397 | |||
398 | # TODO: add support for filectx |
|
|||
399 | props = {} |
|
398 | props = {} | |
400 | # explicitly-defined fields precede templatekw |
|
399 | # explicitly-defined fields precede templatekw | |
401 | props.update(item) |
|
400 | props.update(item) | |
402 | if 'ctx' in item: |
|
401 | if 'ctx' in item or 'fctx' in item: | |
403 | # but template resources must be always available |
|
402 | # but template resources must be always available | |
404 | props['repo'] = props['ctx'].repo() |
|
|||
405 | props['revcache'] = {} |
|
403 | props['revcache'] = {} | |
406 | props = pycompat.strkwargs(props) |
|
404 | props = pycompat.strkwargs(props) | |
407 | g = self._t(ref, **props) |
|
405 | g = self._t(ref, **props) | |
@@ -513,10 +511,25 b' def templateresources(ui, repo=None):' | |||||
513 | return v |
|
511 | return v | |
514 | return resmap.get(key) |
|
512 | return resmap.get(key) | |
515 |
|
513 | |||
|
514 | def getctx(context, mapping, key): | |||
|
515 | ctx = mapping.get('ctx') | |||
|
516 | if ctx is not None: | |||
|
517 | return ctx | |||
|
518 | fctx = mapping.get('fctx') | |||
|
519 | if fctx is not None: | |||
|
520 | return fctx.changectx() | |||
|
521 | ||||
|
522 | def getrepo(context, mapping, key): | |||
|
523 | ctx = getctx(context, mapping, 'ctx') | |||
|
524 | if ctx is not None: | |||
|
525 | return ctx.repo() | |||
|
526 | return getsome(context, mapping, key) | |||
|
527 | ||||
516 | return { |
|
528 | return { | |
517 | 'cache': getsome, |
|
529 | 'cache': getsome, | |
518 |
'ctx': get |
|
530 | 'ctx': getctx, | |
519 |
' |
|
531 | 'fctx': getsome, | |
|
532 | 'repo': getrepo, | |||
520 | 'revcache': getsome, # per-ctx cache; set later |
|
533 | 'revcache': getsome, # per-ctx cache; set later | |
521 | 'ui': getsome, |
|
534 | 'ui': getsome, | |
522 | } |
|
535 | } |
General Comments 0
You need to be logged in to leave comments.
Login now