templatekw/help: document the {parents} keyword
authorepriestley <hg@yghe.net>
Tue, 10 Jul 2012 09:11:53 -0700
changeset 17187 293dd81e4601
parent 17186 a3da6f298592
child 17188 76e55914c303
templatekw/help: document the {parents} keyword The {parents} keyword does not appear in the generated documentation for templates because it is added by `changeset_templater` (and this is because its behavior depends on `ui`, so it can't be defined as a normal template keyword; see comments in `changeset_templater._show()`). Add it to the documentation synthetically by creating a stub documentation function. Test plan: built the docs and examined the man page to verify that this keyword is now documented. I'm not sure how to test the i18n extraction part, but assume it will just work given that this patch doesn't do anything too crazy.
mercurial/help.py
mercurial/templatekw.py
--- a/mercurial/help.py	Sat Jul 07 00:47:55 2012 -0400
+++ b/mercurial/help.py	Tue Jul 10 09:11:53 2012 -0700
@@ -199,5 +199,5 @@
 addtopicsymbols('filesets', '.. predicatesmarker', fileset.symbols)
 addtopicsymbols('merge-tools', '.. internaltoolsmarker', filemerge.internals)
 addtopicsymbols('revsets', '.. predicatesmarker', revset.symbols)
-addtopicsymbols('templates', '.. keywordsmarker', templatekw.keywords)
+addtopicsymbols('templates', '.. keywordsmarker', templatekw.dockeywords)
 addtopicsymbols('templates', '.. filtersmarker', templatefilters.filters)
--- a/mercurial/templatekw.py	Sat Jul 07 00:47:55 2012 -0400
+++ b/mercurial/templatekw.py	Tue Jul 10 09:11:53 2012 -0700
@@ -326,5 +326,16 @@
     'tags': showtags,
 }
 
+def _showparents(**args):
+    """:parents: List of strings. The parents of the changeset in "rev:node"
+    format. If the changeset has only one "natural" parent (the predecessor
+    revision) nothing is shown."""
+    pass
+
+dockeywords = {
+    'parents': _showparents,
+}
+dockeywords.update(keywords)
+
 # tell hggettext to extract docstrings from these functions:
-i18nfunctions = keywords.values()
+i18nfunctions = dockeywords.values()