Skip to content

Commit dbe5bc0

Browse files
committed
fix multiline strings
1 parent af59833 commit dbe5bc0

4 files changed

Lines changed: 54 additions & 1 deletion

File tree

pdoc/docstrings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ def numpy(docstring: str) -> str:
193193
)
194194
contents = sections[0]
195195
for heading, content in zip(sections[1::2], sections[2::2]):
196-
if content.startswith(" ") and "\n" in content:
196+
if content.startswith(" ") and re.search(r"\n(?![ \n])", content):
197197
# If the first line of section content is indented, we consider the section to be finished
198198
# on the first non-indented line. We take out the rest - the tail - here.
199199
content, tail = re.split(r"\n(?![ \n])", content, maxsplit=1)

test/testdata/flavors_numpy.html

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,9 @@ <h2>API Documentation</h2>
104104
<li>
105105
<a class="function" href="#invalid_format2">invalid_format2</a>
106106
</li>
107+
<li>
108+
<a class="function" href="#invalid_format3">invalid_format3</a>
109+
</li>
107110
</ul>
108111

109112

@@ -650,6 +653,14 @@ <h6 id="attributes">Attributes</h6>
650653
</span><span id="L-484"><a href="#L-484"><span class="linenos">484</span></a><span class="sd"> -------</span>
651654
</span><span id="L-485"><a href="#L-485"><span class="linenos">485</span></a><span class="sd"> Text describing the return value.</span>
652655
</span><span id="L-486"><a href="#L-486"><span class="linenos">486</span></a><span class="sd"> &quot;&quot;&quot;</span>
656+
</span><span id="L-487"><a href="#L-487"><span class="linenos">487</span></a>
657+
</span><span id="L-488"><a href="#L-488"><span class="linenos">488</span></a><span class="k">def</span><span class="w"> </span><span class="nf">invalid_format3</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
658+
</span><span id="L-489"><a href="#L-489"><span class="linenos">489</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
659+
</span><span id="L-490"><a href="#L-490"><span class="linenos">490</span></a><span class="sd"> Returns</span>
660+
</span><span id="L-491"><a href="#L-491"><span class="linenos">491</span></a><span class="sd"> -------</span>
661+
</span><span id="L-492"><a href="#L-492"><span class="linenos">492</span></a><span class="sd"> Multiline text</span>
662+
</span><span id="L-493"><a href="#L-493"><span class="linenos">493</span></a><span class="sd"> describing the return value.</span>
663+
</span><span id="L-494"><a href="#L-494"><span class="linenos">494</span></a><span class="sd"> &quot;&quot;&quot;</span>
653664
</span></pre></div>
654665

655666

@@ -1855,6 +1866,37 @@ <h6 id="returns">Returns</h6>
18551866
</div>
18561867

18571868

1869+
</section>
1870+
<section id="invalid_format3">
1871+
<input id="invalid_format3-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
1872+
<div class="attr function">
1873+
1874+
<span class="def">def</span>
1875+
<span class="name">invalid_format3</span><span class="signature pdoc-code condensed">(<span class="return-annotation">) -> <span class="kc">None</span>:</span></span>
1876+
1877+
<label class="view-source-button" for="invalid_format3-view-source"><span>View Source</span></label>
1878+
1879+
</div>
1880+
<a class="headerlink" href="#invalid_format3"></a>
1881+
<div class="pdoc-code codehilite"><pre><span></span><span id="invalid_format3-489"><a href="#invalid_format3-489"><span class="linenos">489</span></a><span class="k">def</span><span class="w"> </span><span class="nf">invalid_format3</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
1882+
</span><span id="invalid_format3-490"><a href="#invalid_format3-490"><span class="linenos">490</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1883+
</span><span id="invalid_format3-491"><a href="#invalid_format3-491"><span class="linenos">491</span></a><span class="sd"> Returns</span>
1884+
</span><span id="invalid_format3-492"><a href="#invalid_format3-492"><span class="linenos">492</span></a><span class="sd"> -------</span>
1885+
</span><span id="invalid_format3-493"><a href="#invalid_format3-493"><span class="linenos">493</span></a><span class="sd"> Multiline text</span>
1886+
</span><span id="invalid_format3-494"><a href="#invalid_format3-494"><span class="linenos">494</span></a><span class="sd"> describing the return value.</span>
1887+
</span><span id="invalid_format3-495"><a href="#invalid_format3-495"><span class="linenos">495</span></a><span class="sd"> &quot;&quot;&quot;</span>
1888+
</span></pre></div>
1889+
1890+
1891+
<div class="docstring"><h6 id="returns">Returns</h6>
1892+
1893+
<ul>
1894+
<li><strong>Multiline text</strong></li>
1895+
<li><strong>describing the return value.</strong></li>
1896+
</ul>
1897+
</div>
1898+
1899+
18581900
</section>
18591901
</main>
18601902
</body>

test/testdata/flavors_numpy.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -484,3 +484,11 @@ def invalid_format2() -> None:
484484
-------
485485
Text describing the return value.
486486
"""
487+
488+
def invalid_format3() -> None:
489+
"""
490+
Returns
491+
-------
492+
Multiline text
493+
describing the return value.
494+
"""

test/testdata/flavors_numpy.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,7 @@
2727
<function def foo(var1, var2, *args, long_var_name='hi', **kwargs): ... # Summarize the functi…>
2828
<function def invalid_format(test): ... # In this example, the…>
2929
<function def invalid_format2() -> None: ... # Another example with…>
30+
<function def invalid_format3() -> None: ... # Returns
31+
-------
32+
…>
3033
>

0 commit comments

Comments
 (0)