From 2603c831257fea5aababa10921e10c09e13fb172 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Mon, 3 Jan 2011 23:08:13 +0100 Subject: Regression of #77: If there is only one parameter given with ``:param:`` markup, the bullet list is now suppressed again. --- sphinx/util/docfields.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'sphinx/util/docfields.py') diff --git a/sphinx/util/docfields.py b/sphinx/util/docfields.py index 89f81e8c..745557a7 100644 --- a/sphinx/util/docfields.py +++ b/sphinx/util/docfields.py @@ -129,15 +129,13 @@ class TypedField(GroupedField): is_typed = True def __init__(self, name, names=(), typenames=(), label=None, - rolename=None, typerolename=None): - GroupedField.__init__(self, name, names, label, rolename, False) + rolename=None, typerolename=None, can_collapse=False): + GroupedField.__init__(self, name, names, label, rolename, can_collapse) self.typenames = typenames self.typerolename = typerolename def make_field(self, types, domain, items): - fieldname = nodes.field_name('', self.label) - listnode = self.list_type() - for fieldarg, content in items: + def handle_item(fieldarg, content): par = nodes.paragraph() par += self.make_xref(self.rolename, domain, fieldarg, nodes.strong) if fieldarg in types: @@ -154,8 +152,17 @@ class TypedField(GroupedField): par += nodes.Text(')') par += nodes.Text(' -- ') par += content - listnode += nodes.list_item('', par) - fieldbody = nodes.field_body('', listnode) + return par + + fieldname = nodes.field_name('', self.label) + if len(items) == 1 and self.can_collapse: + fieldarg, content = items[0] + bodynode = handle_item(fieldarg, content) + else: + bodynode = self.list_type() + for fieldarg, content in items: + bodynode += nodes.list_item('', handle_item(fieldarg, content)) + fieldbody = nodes.field_body('', bodynode) return nodes.field('', fieldname, fieldbody) -- cgit v1.2.1