sphinx-autoapi/autoapi/templates/go/base_member.rst
Armand BENETEAU fa3b0b3f70 Fix Go documentation generation (#172)
* Correction of the "parameters" accessibility problem in the Go mapper

The "parameters" attributes of the GoPythonMapper class instance was
not accessible from the "output_rst" function used to create the .rst
file. Thanks to this correction, the parameters are now accessible.

* Enhance the template used to genertae the .rst file from the .go source file

This modification allows to create a .rst file compatible with the
last version of Sphinx. Without this correction, the creation of documentation
was not possible. A "make html" command lead to an "AssertionError" Exception.
2019-09-03 20:55:52 -07:00

33 lines
943 B
ReStructuredText

{% if obj.type == 'func' %}
{# Creating the parameters line #}
{% set ns = namespace(tmpstring='') %}
{% set argjoin = joiner(', ') %}
{% for param in obj.parameters %}
{% set ns.tmpstring = ns.tmpstring ~ argjoin() ~ param.name ~ ' ' ~ param.type %}
{% endfor %}
.. {{ obj.ref_type }}:: {{ obj.name }}({{ ns.tmpstring }})
{% else %}
.. go:{{ obj.ref_type }}:: {{ obj.name }}
{% endif %}
{% macro render() %}{{ obj.docstring }}{% endmacro %}
{{ render()|indent(4) }}
{# Don't define parameter description here, that can be done in the block
above #}
{% for param in obj.parameters %}
:param {{ param.name }}:
:type {{ param.name }}: {{ param.type }}
{% endfor %}
{% if obj.returns %}
:rtype: {{ obj.returns.type }}
{% endif %}
{% if obj.children %}
{% for child in obj.children|sort %}
{% macro render_child() %}{{ child.render() }}{% endmacro %}
{{ render_child()|indent(4) }}
{% endfor %}
{% endif %}