Skip to content

Commit

Permalink
Fix compatibility with sphinx 6
Browse files Browse the repository at this point in the history
  • Loading branch information
hoodmane committed May 7, 2024
1 parent 5d4ca7b commit 2da9c17
Showing 1 changed file with 33 additions and 6 deletions.
39 changes: 33 additions & 6 deletions sphinx_js/directives.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
from sphinx.locale import _
from sphinx.util.docfields import GroupedField, TypedField
from sphinx.writers.html5 import HTML5Translator
from sphinx.writers.text import TextTranslator

from .renderers import (
AutoAttributeRenderer,
Expand Down Expand Up @@ -272,22 +273,42 @@ def astext(self) -> str:
return f"<{nodes.FixedTextElement.astext(self)}>"


def visit_desc_js_type_parameter_list(
def html5_visit_desc_js_type_parameter_list(
self: HTML5Translator, node: nodes.Element
) -> None:
"""Define the html/text rendering for desc_js_type_parameter_list. Based on
sphinx.writers.html5.visit_desc_type_parameter_list
"""
self._visit_sig_parameter_list(node, addnodes.desc_parameter, "<", ">")
self.body.append('<span class="sig-paren">&lt;</span>')
self.first_param = 1
self.optional_param_level = 0
# How many required parameters are left.
self.required_params_left = sum(
[isinstance(c, addnodes.desc_parameter) for c in node.children]
)
self.param_separator = node.child_text_separator


def depart_desc_js_type_parameter_list(
def html5_depart_desc_js_type_parameter_list(
self: HTML5Translator, node: nodes.Element
) -> None:
"""Define the html/text rendering for desc_js_type_parameter_list. Based on
sphinx.writers.html5.depart_desc_type_parameter_list
"""
self._depart_sig_parameter_list(node)
self.body.append('<span class="sig-paren">&gt;</span>')


def text_visit_desc_js_type_parameter_list(
self: TextTranslator, node: nodes.Element
) -> None:
self.add_text("<")
self.first_param = 1 # type:ignore[attr-defined]


def text_depart_desc_js_type_parameter_list(
self: TextTranslator, node: nodes.Element
) -> None:
self.add_text(">")


def add_param_list_to_signode(signode: desc_signature, params: str) -> None:
Expand Down Expand Up @@ -457,6 +478,12 @@ def add_directives(app: Sphinx) -> None:
app.add_role_to_domain("js", "typealias", JSXRefRole())
app.add_node(
desc_js_type_parameter_list,
html=(visit_desc_js_type_parameter_list, depart_desc_js_type_parameter_list),
text=(visit_desc_js_type_parameter_list, depart_desc_js_type_parameter_list),
html=(
html5_visit_desc_js_type_parameter_list,
html5_depart_desc_js_type_parameter_list,
),
text=(
text_visit_desc_js_type_parameter_list,
text_depart_desc_js_type_parameter_list,
),
)

0 comments on commit 2da9c17

Please sign in to comment.