summaryrefslogtreecommitdiff
path: root/sphinx/application.py
diff options
context:
space:
mode:
Diffstat (limited to 'sphinx/application.py')
-rw-r--r--sphinx/application.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/sphinx/application.py b/sphinx/application.py
index 412a5586..cfe37745 100644
--- a/sphinx/application.py
+++ b/sphinx/application.py
@@ -23,6 +23,7 @@ import sphinx
from sphinx.roles import xfileref_role, innernodetypes
from sphinx.config import Config
from sphinx.errors import SphinxError, SphinxWarning, ExtensionError
+from sphinx.domains import domains
from sphinx.builders import BUILTIN_BUILDERS
from sphinx.directives import GenericDesc, Target, additional_xref_types
from sphinx.environment import SphinxStandaloneReader
@@ -298,6 +299,11 @@ class Sphinx(object):
role = roles.GenericRole(name, nodeclass)
roles.register_local_role(name, role)
+ def add_domain(self, domain):
+ if domain.name in domains:
+ raise ExtensionError('domain %s already registered' % domain.name)
+ domains[domain.name] = domain
+
def add_description_unit(self, directivename, rolename, indextemplate='',
parse_node=None, ref_nodeclass=None):
additional_xref_types[directivename] = (rolename, indextemplate,