summaryrefslogtreecommitdiffstats
path: root/doc/arm/_ext/rndcconf.py
diff options
context:
space:
mode:
Diffstat (limited to 'doc/arm/_ext/rndcconf.py')
-rw-r--r--doc/arm/_ext/rndcconf.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/doc/arm/_ext/rndcconf.py b/doc/arm/_ext/rndcconf.py
new file mode 100644
index 0000000..cac10e2
--- /dev/null
+++ b/doc/arm/_ext/rndcconf.py
@@ -0,0 +1,36 @@
+############################################################################
+# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
+#
+# SPDX-License-Identifier: MPL-2.0
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at https://mozilla.org/MPL/2.0/.
+#
+# See the COPYRIGHT file distributed with this work for additional
+# information regarding copyright ownership.
+############################################################################
+
+"""
+Sphinx domain "rndcconf". See iscconf.py for details.
+"""
+
+from docutils import nodes
+
+import iscconf
+import parsegrammar
+
+
+class ToBeReplacedStatementList(nodes.General, nodes.Element):
+ """
+ Placeholder, does nothing, but must be picklable
+ (= cannot be in a generated class).
+ """
+
+
+def setup(app):
+ with open("../misc/rndc.grammar", encoding="utf-8") as filein:
+ grammar = parsegrammar.parse_mapbody(filein)
+ return iscconf.setup(
+ app, "rndcconf", "rndc.conf", ToBeReplacedStatementList, grammar
+ )