From 473dbf6ecf63d767e3ceecc9e74c92eaa7568437 Mon Sep 17 00:00:00 2001 From: Mikhail Golubev Date: Thu, 12 Nov 2015 15:43:10 +0300 Subject: [PATCH] PY-17593 Format combined reST parameter declarations like ":param int x: descr" --- python/helpers/rest_formatter.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/python/helpers/rest_formatter.py b/python/helpers/rest_formatter.py index 45755976750b..2226491de407 100644 --- a/python/helpers/rest_formatter.py +++ b/python/helpers/rest_formatter.py @@ -125,10 +125,17 @@ class RestHTMLTranslator(_EpydocHTMLTranslator): index = rawsource.index("param ") if not child.children: continue + param_name = rawsource[index + 6:] + param_type = None + parts = param_name.rsplit(None, 1) + if len(parts) == 2: + param_type, param_name = parts # Strip leading escaped asterisks for vararg parameters in Google code style docstrings - trimmed_name = re.sub(r'\\\*', '*', rawsource[index + 6:]) - child.children[0] = Text(trimmed_name) - fields[trimmed_name] = n + param_name = re.sub(r'\\\*', '*', param_name) + child.children[0] = Text(param_name) + fields[param_name] = n + if param_type: + n.type = param_type if rawsource == "return": fields["return"] = n