Mercurial > hg
diff mercurial/formatter.py @ 38356:8221df643176
formatter: provide hint of referenced field names
I don't like the function name, but I call it datahint() for consistency
with another function I'll add later, fm.contexthint().
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Thu, 03 May 2018 11:56:49 +0900 |
parents | 8d6109b49b31 |
children | 8399438bc7ef |
line wrap: on
line diff
--- a/mercurial/formatter.py Thu May 03 11:53:56 2018 +0900 +++ b/mercurial/formatter.py Thu May 03 11:56:49 2018 +0900 @@ -198,6 +198,9 @@ assert all(k in {'ctx', 'fctx'} for k in ctxs) if self._converter.storecontext: self._item.update(ctxs) + def datahint(self): + '''set of field names to be referenced''' + return set() def data(self, **data): '''insert data into item that's not shown in default output''' data = pycompat.byteskwargs(data) @@ -411,6 +414,14 @@ ref = self._parts[part] self._out.write(self._t.render(ref, item)) + @util.propertycache + def _symbolsused(self): + return self._t.symbolsuseddefault() + + def datahint(self): + '''set of field names to be referenced from the template''' + return self._symbolsused[0] + def end(self): baseformatter.end(self) self._renderitem('docfooter', {})