Mercurial > evolve
diff docs/conf.py @ 2962:3f466d348047
doc: add documentation for evolve commands
By using a sphinx directive that call `hg help`.
author | Philippe Pepiot <phil@philpep.org> |
---|---|
date | Fri, 01 Sep 2017 08:32:17 +0200 |
parents | ef361938dfa1 |
children | b84dda686fb1 |
line wrap: on
line diff
--- a/docs/conf.py Thu Sep 21 16:11:59 2017 +0200 +++ b/docs/conf.py Fri Sep 01 08:32:17 2017 +0200 @@ -1,6 +1,16 @@ # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. +from mercurial import demandimport +demandimport.disable() +from docutils import nodes +from docutils.parsers.rst import Directive +from mercurial import ui +from mercurial import extensions as hgext +from mercurial import commands +import os, sys + extensions = ["sphinx.ext.graphviz"] + # autoclass_content = 'both' # Add any paths that contain templates here, relative to this directory. # templates_path = [] @@ -124,3 +134,24 @@ # htmlhelp_basename = '' graphviz_output_format = "svg" + +class hghelpdirective(Directive): + has_content = True + + def run(self): + u = ui.ui() + u.disablepager() + u.setconfig( + 'extensions', 'evolve', + os.path.join( + os.path.abspath(os.path.dirname(__file__)), + os.pardir, 'hgext3rd', 'evolve')) + hgext.loadall(u) + u.pushbuffer() + commands.help_(u, self.content[0]) + return [ + nodes.literal_block(text=u.popbuffer())] + + +def setup(app): + app.add_directive('hghelp', hghelpdirective)