diff options
Diffstat (limited to 'sphinx/ext/todo.py')
-rw-r--r-- | sphinx/ext/todo.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/sphinx/ext/todo.py b/sphinx/ext/todo.py index 9f521fb4..ae434dd4 100644 --- a/sphinx/ext/todo.py +++ b/sphinx/ext/todo.py @@ -14,6 +14,7 @@ from docutils import nodes +import sphinx from sphinx.locale import _ from sphinx.environment import NoUri from sphinx.util.nodes import set_source_info @@ -149,6 +150,14 @@ def purge_todos(app, env, docname): if todo['docname'] != docname] +def merge_info(app, env, docnames, other): + if not hasattr(other, 'todo_all_todos'): + return + if not hasattr(env, 'todo_all_todos'): + env.todo_all_todos = [] + env.todo_all_todos.extend(other.todo_all_todos) + + def visit_todo_node(self, node): self.visit_admonition(node) @@ -171,4 +180,5 @@ def setup(app): app.connect('doctree-read', process_todos) app.connect('doctree-resolved', process_todo_nodes) app.connect('env-purge-doc', purge_todos) - + app.connect('env-merge-info', merge_info) + return {'version': sphinx.__version__, 'parallel_read_safe': True} |