Commit graph

54 commits

Author SHA1 Message Date
Vadim Zeitlin
d42a5f2ce3 Fix wrongly resetting indent after formulae in Doxygen comments
Don't use IndentGuard unconditionally in handleMath(), it should only be
used for display (or block) formulae, but not for the inline ones.

This fixes "losing" the correct indent after a paragraph containing any
inline formulae in the generated Python comments.
2018-03-19 21:52:47 +01:00
Vadim Zeitlin
45ecc9cb84 Fix trimming whitespace from Doxygen comments.
Also trim the string (making it empty) if it consists solely of whitespace.
2015-02-17 00:10:37 +01:00
Vadim Zeitlin
6fe4c0707b Remove code not doing anything from PyDocConverter.
There is really no need to append empty string.
2015-02-16 23:59:46 +01:00
Vadim Zeitlin
dc3102a535 Pass the node the Doxygen comment is attached to to DoxygenParser.
This will be needed to take into account various Doxygen-specific features
that can be attached to this node.
2014-09-03 17:28:23 +02:00
Vadim Zeitlin
6aa9cd37a5 Document the return type when translating Doxygen @return to Python.
In addition to translating the comment itself, also document the type of the
object returned. This is consistent with generating not only :param: but also
:type: for the parameters documented using @param.
2014-08-22 17:45:24 +02:00
Vadim Zeitlin
1f826b0925 Fix translated Doxygen comments for overloaded functions in Python.
The most important change is to ensure that the "Overload" headers added by
PyDocConverter code are indented correctly, i.e. using the same indent level
as the comment itself, otherwise Sphinx directives such as :param: were not
parsed correctly.

Also add a vertical separator using reST "|" formatting character to increase
separation between the overloads.
2014-08-22 17:45:24 +02:00
Vadim Zeitlin
73f6971931 Also merge Doxygen comments for overloaded constructors in Python.
This was done for plain functions/methods but not constructors, which don't
have "kind=function" attribute.

Just don't check for "kind" at all, the presence of "sym:overloaded" should be
good enough to indicate that it's an overloaded something.

Also add a test for overloaded constructors documentation.
2014-08-22 17:45:24 +02:00
Vadim Zeitlin
d678891e43 Translate Doxygen code blocks to Sphinx code blocks.
This ensures they are formatted correctly and syntax highlighted (currently
always as C++ code).
2014-08-22 17:45:23 +02:00
Vadim Zeitlin
bb01e06a6a Make Python parameters types hyperlinks in the doc strings.
It is very useful to be able to click on the parameter types in a function
documentation to go to this parameter description, so always use hyperlink
markup for the parameters of class types, even if not all of them are
necessarily documented -- Sphinx doesn't seem to complain about links to
unknown classes.
2014-08-22 17:45:23 +02:00
Vadim Zeitlin
8b83976f4c Fix arguments of @param, @return etc translations to Python.
For the parameter documentation to be really taken as such, in its entirety,
by Sphinx, it must be indented relative to the :param: tag. Do this by
appending an extra indent after every line of the output and work around the
unnecessary indent of the last line by removing the trailing whitespace.

This required updating the existing tests and removing the expected but not
present any more whitespace from them, but as trailing whitespace in the
documentation is at best insignificant (and at worst harmful) anyhow, this is
not a big price to pay for simpler translator code.
2014-08-22 17:45:22 +02:00
Vadim Zeitlin
70d3533e12 Remove unused method from PyDocConverter.
justifyString() was unused and doesn't seem to be useful as there are no
particular constraints on the line length in Python documentation, so just
preserve whatever is used in the original C++ code.
2014-08-22 17:45:22 +02:00
Vadim Zeitlin
b833dbe302 No real changes, just remove an unnecessary variable.
Avoid copying "pyDocString" to "result" completely unnecessary, just use
"pyDocString" itself directly.
2014-08-22 17:45:22 +02:00
Vadim Zeitlin
ea1d56da67 Use Sphinx-friendly formatting for overloaded functions documentation.
Sphinx doesn't allow sections inside the function documentation and gives tons
of SEVERE warnings for them, so while just emphasizing the "Overload" header
is not ideal, it is better than before because at least the string "Overload"
itself appears in the Sphinx-generated output.
2014-08-22 17:45:22 +02:00
Vadim Zeitlin
dd4c680a02 Use Python-ish, not C++, parameter types in Python documentation.
Using C++ types in documentation for Python users is more harmful than
useless, so use Python types whenever possible and allow defining "doctype"
typemap to customize this for the user-defined types.
2014-08-22 17:45:22 +02:00
Vadim Zeitlin
d677321323 No real changes, just rewrite the parameter iteration loop to be more clear.
Also remove unused commented out code.
2014-08-22 17:45:21 +02:00
Vadim Zeitlin
3db8c1fca2 Fix memory leaks in Doxygen to PyDoc parameter types conversion code.
Don't forget to delete the local copy of parameter list and the temporary
string.
2014-08-22 17:45:21 +02:00
Vadim Zeitlin
b96dd8bb97 Implement translation of Doxygen formulae to Sphinx notation.
This allows to automatically have nicely looking formulae in HTML output when
using Sphinx with e.g. sphinx.ext.mathjax extension.
2014-08-22 17:45:21 +02:00
Vadim Zeitlin
7d2743a0bb Use reST inline markup in PyDocConverter instead of Markdown.
reST is standard Python markup, so use *...*, ``...`` and so on instead of
_..._, '...' etc.

No other changes even though the mapping of some Doxygen tags to markup used
for them seems suspicions (e.g. \var almost certainly should be the same as
\em).
2014-08-13 16:11:30 +02:00
Vadim Zeitlin
b374aad0da Use Sphinx-compatible docstring format in PyDocConverter.
Use the more or less standard :param:, :type:, :return: and :raises: in the
function/methods descriptions.

Update the output expected from the Python tests accordingly.
2014-08-13 16:11:30 +02:00
Vadim Zeitlin
a76c1343b7 Simplify management of tag handlers in PyDocConverter.
Avoid having to pass dummy empty string arguments, just use default value for
the unused last parameter of handleParagraph().

Also get rid of dozens of "" occurrences in the tag map initialization code,
use a helper function instead.

No real changes.
2014-08-13 16:11:30 +02:00
Vadim Zeitlin
f684242467 Replace DoxygenTranslator debug parameters with a single flags one.
This makes the code more readable and more extensible as more flags are easier
to add in the future than more boolean parameters.

No user-visible changes.
2014-08-13 16:11:30 +02:00
Vadim Zeitlin
5c0ed6c635 No changes, just spelling fixes in Doxygen branch changes.
Most are just typos, but also s/JavaDoc/Javadoc/ and s/PythonDoc/Pydoc/ as
this is how they are officially called.
2014-05-07 19:12:10 +02:00
Marko Klopcic
4663fce63c fixed bug in handling of ref tag in Java, added handling in Python 2013-03-17 20:09:34 +01:00
Marko Klopcic
3b7908fa6e fixed leading spaces for the second row of table in pydoc, sources formatted 2013-02-23 15:20:27 +01:00
Marko Klopcic
0b6bc80038 Translation of HTML tags to Python almost finished 2013-02-13 23:06:20 +01:00
Marko Klopcic
560dedb6c0 added handling of HTML tags and HTML entities to PyDocConverter, updated tests 2013-02-12 22:58:50 +01:00
Marko Klopcic
29d1bba70a improved comment formatting for Python 2013-02-02 23:01:09 +01:00
Marko Klopcic
ed6df45c0a refactored DoxygenParser: class Token is now nested in Doxygen parser because it is only used there, class TokenList has been removed - it more or less duplicated std::list, other code moved to DoxygenParser
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13722 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-26 13:00:52 +00:00
Dmitry Kabak
dfad1c8156 Fixed param description alignment in PyDoc translator
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13667 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-19 13:58:12 +00:00
Dmitry Kabak
0d35785724 Small cosmetic changes to generated comments
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13647 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-17 23:47:56 +00:00
Dmitry Kabak
316be573f8 Fixed lots of PyDoc converter problems, see doxygen_tricky_constructs test
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13633 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-16 14:18:47 +00:00
Dmitry Kabak
f7f3960d11 Eliminate 'signed/unsigned comparison' compiler warning
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13582 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-10 12:27:40 +00:00
Dmitry Kabak
7178385d48 Made comment output nicer, now printing _someword_ instead of _someword _
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13576 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-09 18:58:53 +00:00
Dmitry Kabak
0a3db948cc Fixed possible bug: as the return value of makeDocumentation is never checked, don't return null pointers, even in case of errors
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13518 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-05 14:18:46 +00:00
Dmitry Kabak
346fdfcab7 Added doxygen:notranslate feature, to prevent running of automatic comment translation
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13517 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-05 14:16:57 +00:00
Dmitry Kabak
c72a56c6f1 Small fix to display params type correctly in PyDocConverter
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13484 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-02 12:22:26 +00:00
Dmitry Kabak
3fbe45f0c6 Added nice doxygen debug switching (-debug-doxygen-parser and -debug-doxygen-translator)
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13427 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-29 13:48:03 +00:00
Dmitry Kabak
03da0be1fa Fixed numerous 'unused argument' warnings
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13426 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-29 11:53:01 +00:00
Dmitry Kabak
0b7d1ffc45 Small fix to correctly generate overloaded method comments in python
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13400 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-25 12:11:28 +00:00
Dmitry Kabak
c56d5fcf90 Some code refactoring and all of the doxy commands are working for the python comment translator
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13335 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-19 16:08:11 +00:00
Dmitry Kabak
d9e8d140e7 Refactored PyDocConverter class, implemented some commands
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13331 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-18 22:05:19 +00:00
Dmitry Kabak
ed1bd4fbb9 Implemented nice error output, with filename and line number information.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13313 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-10 17:17:51 +00:00
Dmitry Kabak
4289b8e273 Refactored comment translator class, implemented result caching
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13191 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-06-25 15:47:36 +00:00
Dmitry Kabak
72b23954fb Fix integration of doxygen with autodoc feature, fixed autodoc test and some code refactored
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13183 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-06-18 18:33:30 +00:00
William S Fulton
02fbe37ae6 Add new GPL license headers to source files added in this branch
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-cherylfoil@11911 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-03-06 11:47:21 +00:00
William S Fulton
06269a50a5 Apply modified patch 2879724 from Marko Klopcic
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-cherylfoil@11716 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-01 22:05:01 +00:00
William S Fulton
19d90026ef formatting fixes after running make beautify plus a few manual formatting fixes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-cherylfoil@11699 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-10-13 23:26:01 +00:00
William S Fulton
45518cd0d1 apply doxygen-svndiff.patch from #2763155
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-cherylfoil@11697 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-10-13 21:27:09 +00:00
Jamie Kirkpatrick
8d28e0faad Reformatting.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-cherylfoil@10845 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-09-12 11:22:04 +00:00
Jamie Kirkpatrick
83cef07b90 Multiple documentation sections are now concatted into one where there are various overloads for methods with the same name.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-cherylfoil@10844 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-09-12 11:21:40 +00:00