Skip to content

Commit

Permalink
Merge pull request #9225 from doerwalter/typehint-html
Browse files Browse the repository at this point in the history
Add HTML markup to method/function return typehint
  • Loading branch information
tk0miya committed Jul 11, 2021
2 parents 5aed23d + 9aedeee commit f40c283
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 4 deletions.
6 changes: 4 additions & 2 deletions sphinx/writers/html.py
Expand Up @@ -174,10 +174,12 @@ def depart_desc_type(self, node: Element) -> None:
pass

def visit_desc_returns(self, node: Element) -> None:
self.body.append(' → ')
self.body.append(' <span class="sig-return">')
self.body.append('<span class="sig-return-icon">&#x2192;</span>')
self.body.append(' <span class="sig-return-typehint">')

def depart_desc_returns(self, node: Element) -> None:
pass
self.body.append('</span></span>')

def visit_desc_parameterlist(self, node: Element) -> None:
self.body.append('<span class="sig-paren">(</span>')
Expand Down
6 changes: 4 additions & 2 deletions sphinx/writers/html5.py
Expand Up @@ -145,10 +145,12 @@ def depart_desc_type(self, node: Element) -> None:
pass

def visit_desc_returns(self, node: Element) -> None:
self.body.append(' &#x2192; ')
self.body.append(' <span class="sig-return">')
self.body.append('<span class="sig-return-icon">&#x2192;</span>')
self.body.append(' <span class="sig-return-typehint">')

def depart_desc_returns(self, node: Element) -> None:
pass
self.body.append('</span></span>')

def visit_desc_parameterlist(self, node: Element) -> None:
self.body.append('<span class="sig-paren">(</span>')
Expand Down
1 change: 1 addition & 0 deletions tests/roots/test-html_signaturereturn_icon/conf.py
@@ -0,0 +1 @@
extensions = ['sphinx.ext.autodoc']
4 changes: 4 additions & 0 deletions tests/roots/test-html_signaturereturn_icon/index.rst
@@ -0,0 +1,4 @@
test-html_signaturereturn_icon
==============================

.. py:function:: foo(a: bool, b: int) -> str
8 changes: 8 additions & 0 deletions tests/test_build_html.py
Expand Up @@ -1635,3 +1635,11 @@ def test_html_permalink_icon(app):
assert ('<h1>The basic Sphinx documentation for testing<a class="headerlink" '
'href="#the-basic-sphinx-documentation-for-testing" '
'title="Permalink to this headline"><span>[PERMALINK]</span></a></h1>' in content)


@pytest.mark.sphinx('html', testroot='html_signaturereturn_icon')
def test_html_signaturereturn_icon(app):
app.build()
content = (app.outdir / 'index.html').read_text()

assert ('<span class="sig-return-icon">&#x2192;</span>' in content)

0 comments on commit f40c283

Please sign in to comment.