[3.13] GH-121970: Extract `implementation_detail` into a new extension (GH-129663) (#129739)

(cherry picked from commit 4d56c40440)
This commit is contained in:
Adam Turner 2025-02-06 17:30:03 +00:00 committed by GitHub
parent b5eed8c80e
commit aaf0581d2a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 57 additions and 32 deletions

View file

@ -71,31 +71,6 @@ def gh_issue_role(typ, rawtext, text, lineno, inliner, options={}, content=[]):
return [refnode], []
# Support for marking up implementation details
class ImplementationDetail(SphinxDirective):
has_content = True
final_argument_whitespace = True
# This text is copied to templates/dummy.html
label_text = sphinx_gettext('CPython implementation detail:')
def run(self):
self.assert_has_content()
pnode = nodes.compound(classes=['impl-detail'])
content = self.content
add_text = nodes.strong(self.label_text, self.label_text)
self.state.nested_parse(content, self.content_offset, pnode)
content = nodes.inline(pnode[0].rawsource, translatable=True)
content.source = pnode[0].source
content.line = pnode[0].line
content += pnode[0].children
pnode[0].replace_self(nodes.paragraph(
'', '', add_text, nodes.Text(' '), content, translatable=False))
return [pnode]
class PyCoroutineMixin(object):
def handle_signature(self, sig, signode):
ret = super(PyCoroutineMixin, self).handle_signature(sig, signode)
@ -288,7 +263,6 @@ def patch_pairindextypes(app, _env) -> None:
def setup(app):
app.add_role('issue', issue_role)
app.add_role('gh', gh_issue_role)
app.add_directive('impl-detail', ImplementationDetail)
app.add_builder(PydocTopicsBuilder)
app.add_object_type('opcode', 'opcode', '%s (opcode)', parse_opcode_signature)
app.add_object_type('pdbcommand', 'pdbcmd', '%s (pdb command)', parse_pdb_command)