mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Merge pull request #2126 from dean0x7d/fix_numpy_kwargs
[Napoleon] Fix NumPy handling of *args and **kwargs parameters
This commit is contained in:
@@ -212,10 +212,7 @@ class GoogleDocstring(UnicodeMixin):
|
||||
_name = match.group(1)
|
||||
_type = match.group(2)
|
||||
|
||||
if _name[:2] == '**':
|
||||
_name = r'\*\*'+_name[2:]
|
||||
elif _name[:1] == '*':
|
||||
_name = r'\*'+_name[1:]
|
||||
_name = self._escape_args_and_kwargs(_name)
|
||||
|
||||
if prefer_type and not _type:
|
||||
_type, _name = _name, _type
|
||||
@@ -297,6 +294,14 @@ class GoogleDocstring(UnicodeMixin):
|
||||
min_indent = self._get_min_indent(lines)
|
||||
return [line[min_indent:] for line in lines]
|
||||
|
||||
def _escape_args_and_kwargs(self, name):
|
||||
if name[:2] == '**':
|
||||
return r'\*\*' + name[2:]
|
||||
elif name[:1] == '*':
|
||||
return r'\*' + name[1:]
|
||||
else:
|
||||
return name
|
||||
|
||||
def _format_admonition(self, admonition, lines):
|
||||
lines = self._strip_empty(lines)
|
||||
if len(lines) == 1:
|
||||
@@ -771,6 +776,7 @@ class NumpyDocstring(GoogleDocstring):
|
||||
else:
|
||||
_name, _type = line, ''
|
||||
_name, _type = _name.strip(), _type.strip()
|
||||
_name = self._escape_args_and_kwargs(_name)
|
||||
if prefer_type and not _type:
|
||||
_type, _name = _name, _type
|
||||
indent = self._get_indent(line)
|
||||
|
||||
@@ -732,8 +732,8 @@ class NumpyDocstringTest(BaseDocstringTest):
|
||||
Single line summary
|
||||
|
||||
:Parameters: * **arg1** (*str*) -- Extended description of arg1
|
||||
* ***args** -- Variable length argument list.
|
||||
* ****kwargs** -- Arbitrary keyword arguments.
|
||||
* **\\*args** -- Variable length argument list.
|
||||
* **\\*\\*kwargs** -- Arbitrary keyword arguments.
|
||||
"""
|
||||
), (
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user