py nodes, PyFunction get_signature_prefix

This commit is contained in:
Jakob Lykke Andersen
2021-09-25 12:44:29 +02:00
parent edc65e676c
commit 83fcc98dbc
2 changed files with 7 additions and 4 deletions

View File

@@ -618,11 +618,12 @@ class PyFunction(PyObject):
'async': directives.flag,
})
def get_signature_prefix(self, sig: str) -> str:
def get_signature_prefix(self, sig: str) -> List[nodes.Node]:
if 'async' in self.options:
return 'async '
return [addnodes.desc_sig_keyword('', 'async'),
addnodes.desc_sig_space()]
else:
return ''
return []
def needs_arglist(self) -> bool:
return True

View File

@@ -18,6 +18,7 @@ from docutils import nodes
from sphinx import addnodes
from sphinx.addnodes import (desc, desc_addname, desc_annotation, desc_content, desc_name,
desc_optional, desc_parameter, desc_parameterlist, desc_returns,
desc_sig_keyword,
desc_sig_name, desc_sig_operator, desc_sig_punctuation,
desc_signature, desc_sig_space, pending_xref)
from sphinx.domains import IndexEntry
@@ -626,7 +627,8 @@ def test_pyfunction(app):
nodes.target,
addnodes.index,
addnodes.index,
[desc, ([desc_signature, ([desc_annotation, "async "],
[desc, ([desc_signature, ([desc_annotation, ([desc_sig_keyword, 'async'],
desc_sig_space)],
[desc_addname, "example."],
[desc_name, "func2"],
[desc_parameterlist, ()])],