diff --git a/rosdoc2/verbs/build/builders/sphinx_builder.py b/rosdoc2/verbs/build/builders/sphinx_builder.py index 2153472..f696961 100644 --- a/rosdoc2/verbs/build/builders/sphinx_builder.py +++ b/rosdoc2/verbs/build/builders/sphinx_builder.py @@ -119,6 +119,16 @@ def ensure_global(name, default): # TODO(aprotyas): Migrate files under the `include` tag in the project's Doxygen # configuration into the Sphinx project tree used to run the Sphinx builder in. extensions.append('myst_parser') + +# if no `primary_domain` option provided, defaults to None +if rosdoc2_settings.get('primary_domain'): + print(f"[rosdoc2] setting primary domain to '{{rosdoc2_settings.get('primary_domain')}}'", + file=sys.stderr) + # Tell sphinx what the primary language being documented is. + primary_domain = rosdoc2_settings.get('primary_domain') + + # Tell sphinx what the pygments highlight language should be. + highlight_language = rosdoc2_settings.get('primary_domain') """ default_conf_py_template = """\ @@ -239,6 +249,13 @@ def ensure_global(name, default): ## Support markdown # 'support_markdown': True, + + ## This setting, if set, will attempt to set the `sphinx` options + ## `primary_domain` and `highlight_language` equal to this setting. These + ## options allow `sphinx` to choose reasonable defaults for source + ## code highlighting, among other things. + ## Possible values (without extensions): 'c', 'cpp', 'js', 'py', None + # 'primary_domain': None, }} """