Skip to content

Commit a7df31c

Browse files
nedbatpicnixz
andauthored
[render] do not use a dash if there's no description to introduce (#12035)
Co-authored-by: Bénédikt Tran <[email protected]>
1 parent d8c3014 commit a7df31c

File tree

2 files changed

+16
-14
lines changed

2 files changed

+16
-14
lines changed

sphinx/util/docfields.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ def make_field(
236236
inliner: Inliner | None = None,
237237
location: Element | None = None,
238238
) -> nodes.field:
239-
def handle_item(fieldarg: str, content: str) -> nodes.paragraph:
239+
def handle_item(fieldarg: str, content: list[Node]) -> nodes.paragraph:
240240
par = nodes.paragraph()
241241
par.extend(self.make_xrefs(self.rolename, domain, fieldarg,
242242
addnodes.literal_strong, env=env))
@@ -254,8 +254,10 @@ def handle_item(fieldarg: str, content: str) -> nodes.paragraph:
254254
else:
255255
par += fieldtype
256256
par += nodes.Text(')')
257-
par += nodes.Text(' -- ')
258-
par += content
257+
has_content = any(c.astext().strip() for c in content)
258+
if has_content:
259+
par += nodes.Text(' -- ')
260+
par += content
259261
return par
260262

261263
fieldname = nodes.field_name('', self.label)

tests/test_extensions/test_ext_autodoc_configs.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -969,17 +969,17 @@ def test_autodoc_typehints_description(app):
969969
assert ('target.typehints.incr(a, b=1)\n'
970970
'\n'
971971
' Parameters:\n'
972-
' * **a** (*int*) --\n'
972+
' * **a** (*int*)\n'
973973
'\n'
974-
' * **b** (*int*) --\n'
974+
' * **b** (*int*)\n'
975975
'\n'
976976
' Return type:\n'
977977
' int\n'
978978
in context)
979979
assert ('target.typehints.tuple_args(x)\n'
980980
'\n'
981981
' Parameters:\n'
982-
' **x** (*tuple**[**int**, **int** | **str**]*) --\n'
982+
' **x** (*tuple**[**int**, **int** | **str**]*)\n'
983983
'\n'
984984
' Return type:\n'
985985
' tuple[int, int]\n'
@@ -1117,11 +1117,11 @@ def test_autodoc_typehints_description_with_documented_init(app):
11171117
' Class docstring.\n'
11181118
'\n'
11191119
' Parameters:\n'
1120-
' * **x** (*int*) --\n'
1120+
' * **x** (*int*)\n'
11211121
'\n'
1122-
' * **args** (*int*) --\n'
1122+
' * **args** (*int*)\n'
11231123
'\n'
1124-
' * **kwargs** (*int*) --\n'
1124+
' * **kwargs** (*int*)\n'
11251125
'\n'
11261126
' __init__(x, *args, **kwargs)\n'
11271127
'\n'
@@ -1217,17 +1217,17 @@ def test_autodoc_typehints_both(app):
12171217
assert ('target.typehints.incr(a: int, b: int = 1) -> int\n'
12181218
'\n'
12191219
' Parameters:\n'
1220-
' * **a** (*int*) --\n'
1220+
' * **a** (*int*)\n'
12211221
'\n'
1222-
' * **b** (*int*) --\n'
1222+
' * **b** (*int*)\n'
12231223
'\n'
12241224
' Return type:\n'
12251225
' int\n'
12261226
in context)
12271227
assert ('target.typehints.tuple_args(x: tuple[int, int | str]) -> tuple[int, int]\n'
12281228
'\n'
12291229
' Parameters:\n'
1230-
' **x** (*tuple**[**int**, **int** | **str**]*) --\n'
1230+
' **x** (*tuple**[**int**, **int** | **str**]*)\n'
12311231
'\n'
12321232
' Return type:\n'
12331233
' tuple[int, int]\n'
@@ -1401,9 +1401,9 @@ def test_autodoc_typehints_description_and_type_aliases(app):
14011401
' docstring\n'
14021402
'\n'
14031403
' Parameters:\n'
1404-
' * **x** (*myint*) --\n'
1404+
' * **x** (*myint*)\n'
14051405
'\n'
1406-
' * **y** (*myint*) --\n'
1406+
' * **y** (*myint*)\n'
14071407
'\n'
14081408
' Return type:\n'
14091409
' myint\n'

0 commit comments

Comments
 (0)