diff -Nru breathe-4.34.0/breathe/directives/content_block.py breathe-4.35.0/breathe/directives/content_block.py --- breathe-4.34.0/breathe/directives/content_block.py 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/breathe/directives/content_block.py 2023-02-28 19:59:39.000000000 +0000 @@ -28,6 +28,7 @@ "undoc-members": flag, "no-link": flag, "desc-only": flag, + "sort": flag, } has_content = False diff -Nru breathe-4.34.0/breathe/directives/__init__.py breathe-4.35.0/breathe/directives/__init__.py --- breathe-4.34.0/breathe/directives/__init__.py 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/breathe/directives/__init__.py 2023-02-28 19:59:39.000000000 +0000 @@ -24,7 +24,7 @@ self, raw_text: str, *, - rendered_nodes: Sequence[nodes.Node] = None, + rendered_nodes: Optional[Sequence[nodes.Node]] = None, unformatted_suffix: str = "" ) -> List[nodes.Node]: raw_text = self.format(raw_text) + unformatted_suffix diff -Nru breathe-4.34.0/breathe/file_state_cache.py breathe-4.35.0/breathe/file_state_cache.py --- breathe-4.34.0/breathe/file_state_cache.py 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/breathe/file_state_cache.py 2023-02-28 19:59:39.000000000 +0000 @@ -49,7 +49,7 @@ return [] stale = [] - for filename, info in app.env.breathe_file_state.items(): # type: ignore + for filename, info in app.env.breathe_file_state.items(): old_mtime, docnames = info if _getmtime(filename) > old_mtime: stale.extend(docnames) @@ -61,14 +61,14 @@ return toremove = [] - for filename, info in app.env.breathe_file_state.items(): # type: ignore + for filename, info in app.env.breathe_file_state.items(): _, docnames = info docnames.discard(docname) if not docnames: toremove.append(filename) for filename in toremove: - del app.env.breathe_file_state[filename] # type: ignore + del app.env.breathe_file_state[filename] def setup(app: Sphinx): diff -Nru breathe-4.34.0/breathe/__init__.py breathe-4.35.0/breathe/__init__.py --- breathe-4.34.0/breathe/__init__.py 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/breathe/__init__.py 2023-02-28 19:59:39.000000000 +0000 @@ -5,7 +5,7 @@ from sphinx.application import Sphinx # Keep in sync with setup.py __version__ -__version__ = "4.34.0" +__version__ = "4.35.0" def setup(app: Sphinx): diff -Nru breathe-4.34.0/breathe/renderer/sphinxrenderer.py breathe-4.35.0/breathe/renderer/sphinxrenderer.py --- breathe-4.34.0/breathe/renderer/sphinxrenderer.py 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/breathe/renderer/sphinxrenderer.py 2023-02-28 19:59:39.000000000 +0000 @@ -649,10 +649,10 @@ node, declaration: str, *, - obj_type: str = None, - content_callback: ContentCallback = None, - display_obj_type: str = None, - declarator_callback: DeclaratorCallback = None, + obj_type: Optional[str] = None, + content_callback: Optional[ContentCallback] = None, + display_obj_type: Optional[str] = None, + declarator_callback: Optional[DeclaratorCallback] = None, options={}, ) -> List[Node]: if obj_type is None: @@ -1399,7 +1399,12 @@ node_list.extend(self.render_optional(node.description)) # Get all the memberdef info - node_list.extend(self.render_iterable(node.memberdef)) + if "sort" in options: + member_def = sorted(node.memberdef, key=lambda x: x.name) + else: + member_def = node.memberdef + + node_list.extend(self.render_iterable(member_def)) if node_list: if "members-only" in options: @@ -1502,6 +1507,23 @@ nodelist.extend(paramList) nodelist.extend(fields) + # And now all kinds of cleanup steps + # ---------------------------------- + + # trim trailing whitespace + while len(nodelist) != 0: + last = nodelist[-1] + if not isinstance(last, nodes.Text): + break + if last.astext().strip() != "": + break + nodelist.pop() + + # https://github.com/michaeljones/breathe/issues/827 + # verbatim nodes should not be in a paragraph: + if len(nodelist) == 1 and isinstance(nodelist[0], nodes.literal_block): + return nodelist + return [nodes.paragraph("", "", *nodelist)] def visit_docparblock(self, node) -> List[Node]: diff -Nru breathe-4.34.0/CHANGELOG.rst breathe-4.35.0/CHANGELOG.rst --- breathe-4.34.0/CHANGELOG.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/CHANGELOG.rst 2023-02-28 19:59:39.000000000 +0000 @@ -3,6 +3,19 @@ Inspired by `Keepachangelog.com `__. +- 2023-02-28 - **Breathe v4.35.0** + + - Pull lone literal blocks in paragraphs up to produce correct doctree. + `#833 `__ + - Fix tests for changes in Sphinx 5.3. + `#865 `__ + - Bump Python requirement to 3.7. + `#866 `__ + - Support Sphinx 6. + `#885 `__ + - Support ``:sort:`` option to sort sections by name. + `#879 `__ + - 2022-06-20 - **Breathe v4.34.0** - Treat .unparsed as plain text. diff -Nru breathe-4.34.0/debian/changelog breathe-4.35.0/debian/changelog --- breathe-4.34.0/debian/changelog 2022-06-21 11:05:51.000000000 +0000 +++ breathe-4.35.0/debian/changelog 2023-06-22 10:31:33.000000000 +0000 @@ -1,3 +1,18 @@ +breathe (4.35.0-2) unstable; urgency=medium + + * Add missing dependencies to d/tests/control + + -- Timo Röhling Thu, 22 Jun 2023 12:31:33 +0200 + +breathe (4.35.0-1) unstable; urgency=medium + + * Update d/watch + * New upstream version 4.35.0 + * Bump Standards-Version to 4.6.2 + * Breathe documentation uses Furo theme now + + -- Timo Röhling Sun, 18 Jun 2023 19:56:58 +0200 + breathe (4.34.0-1) unstable; urgency=medium * New upstream version 4.34.0 diff -Nru breathe-4.34.0/debian/control breathe-4.35.0/debian/control --- breathe-4.34.0/debian/control 2022-06-21 11:05:35.000000000 +0000 +++ breathe-4.35.0/debian/control 2023-06-18 17:59:02.000000000 +0000 @@ -10,14 +10,16 @@ python3-setuptools, python3-docutils, python3-sphinx (>= 3), + python3-sphinx-copybutton, doxygen, + furo, graphviz, latexmk, tex-gyre, texlive-plain-generic, texlive-latex-extra, texlive-fonts-recommended -Standards-Version: 4.6.1 +Standards-Version: 4.6.2 Vcs-Git: https://salsa.debian.org/python-team/packages/breathe.git Vcs-Browser: https://salsa.debian.org/python-team/packages/breathe Homepage: https://github.com/michaeljones/breathe/ diff -Nru breathe-4.34.0/debian/patches/0001-Use-packaged-copy-of-MathJax.patch breathe-4.35.0/debian/patches/0001-Use-packaged-copy-of-MathJax.patch --- breathe-4.34.0/debian/patches/0001-Use-packaged-copy-of-MathJax.patch 2022-02-22 08:30:33.000000000 +0000 +++ breathe-4.35.0/debian/patches/0001-Use-packaged-copy-of-MathJax.patch 2023-06-18 17:55:17.000000000 +0000 @@ -4,20 +4,18 @@ Forwarded: not-needed --- - documentation/source/conf.py | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) + documentation/source/conf.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/source/conf.py b/documentation/source/conf.py -index 2983409..8f2cdfc 100644 +index c1cf8c3..b17645a 100644 --- a/documentation/source/conf.py +++ b/documentation/source/conf.py -@@ -125,9 +125,7 @@ spelling_lang = "en_US" +@@ -144,7 +144,7 @@ spelling_lang = "en_US" # Set path for mathjax js to a https URL as sometimes the Breathe docs are displayed under https # and we can't load an http mathjax file from an https view of the docs. So we change to a https # mathjax file which we can load from http or https. We break the url over two lines. --mathjax_path = ( -- "https://c328740.ssl.cf1.rackcdn.com/" "mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" --) +-mathjax_path = "https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML" +mathjax_path = 'mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML' diff -Nru breathe-4.34.0/debian/patches/0002-Enable-version-injection-via-BREATHE_GIT_TAG-env-var.patch breathe-4.35.0/debian/patches/0002-Enable-version-injection-via-BREATHE_GIT_TAG-env-var.patch --- breathe-4.34.0/debian/patches/0002-Enable-version-injection-via-BREATHE_GIT_TAG-env-var.patch 2022-02-22 08:30:33.000000000 +0000 +++ breathe-4.35.0/debian/patches/0002-Enable-version-injection-via-BREATHE_GIT_TAG-env-var.patch 2023-06-18 17:55:17.000000000 +0000 @@ -8,12 +8,12 @@ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/documentation/source/conf.py b/documentation/source/conf.py -index fa0d202..40ec9ef 100644 +index b17645a..e675679 100644 --- a/documentation/source/conf.py +++ b/documentation/source/conf.py -@@ -34,11 +34,13 @@ extensions = ["breathe", "sphinx.ext.mathjax", "sphinx.ext.ifconfig", "sphinx.ex - read_the_docs_build = os.environ.get("READTHEDOCS", None) == "True" - travis_build = os.environ.get("TRAVIS_CI", None) == "True" +@@ -53,11 +53,13 @@ doxygen_version = tuple( + ) + print("Using Doxygen v%d.%d.%d" % doxygen_version) -# Get a description of the current position. Use Popen for 2.6 compat -git_tag = subprocess.Popen(["git", "describe", "--tags"], stdout=subprocess.PIPE).communicate()[0] diff -Nru breathe-4.34.0/debian/tests/control breathe-4.35.0/debian/tests/control --- breathe-4.34.0/debian/tests/control 2022-02-22 08:30:33.000000000 +0000 +++ breathe-4.35.0/debian/tests/control 2023-06-22 10:31:33.000000000 +0000 @@ -1,3 +1,14 @@ Tests: python3 -Depends: python3, python3-breathe, python3-sphinx, make, texlive-plain-generic, texlive-latex-extra, texlive-fonts-recommended, latexmk, tex-gyre +Depends: + furo, + latexmk, + make, + python3, + python3-breathe, + python3-sphinx, + python3-sphinx-copybutton, + tex-gyre, + texlive-fonts-recommended, + texlive-latex-extra, + texlive-plain-generic, Restrictions: allow-stderr diff -Nru breathe-4.34.0/debian/watch breathe-4.35.0/debian/watch --- breathe-4.34.0/debian/watch 2022-02-22 08:29:58.000000000 +0000 +++ breathe-4.35.0/debian/watch 2023-06-18 17:51:56.000000000 +0000 @@ -1,6 +1,7 @@ version=4 -opts=filenamemangle=s/.+\/v?(\d+.*)\.tar\.gz/@PACKAGE@-$1\.tar\.gz/ \ - https://github.com/michaeljones/breathe/releases .*/v(\d+.*)\.tar\.gz +opts=searchmode=plain,filenamemangle=s%(?:.*?/)?v?@ANY_VERSION@%@PACKAGE@-$1.tar.gz% \ + https://api.github.com/repos/michaeljones/breathe/tags \ + tarball/(?:[^"]*?/)?v?@ANY_VERSION@ # The tarball on pypi is missing a bunch of files (LICENSE, all the examples), # so we take the one from github for now. # https://pypi.python.org/packages/source/b/breathe/breathe-(\d+.*)\.tar\.gz diff -Nru breathe-4.34.0/documentation/environment.yaml breathe-4.35.0/documentation/environment.yaml --- breathe-4.34.0/documentation/environment.yaml 1970-01-01 00:00:00.000000000 +0000 +++ breathe-4.35.0/documentation/environment.yaml 2023-02-28 19:59:39.000000000 +0000 @@ -0,0 +1,14 @@ +name: RTD +channels: + - conda-forge + - defaults +dependencies: + # doxygen versions available from conda forge are listed at + # https://anaconda.org/conda-forge/doxygen/files + # + # - doxygen=1.9.4 # to specify a specific version of doxygen + # we'll be using the latest available + - doxygen + - pip + - pip: + - -r ../requirements/development.txt diff -Nru breathe-4.34.0/documentation/Makefile breathe-4.35.0/documentation/Makefile --- breathe-4.34.0/documentation/Makefile 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/Makefile 2023-02-28 19:59:39.000000000 +0000 @@ -2,7 +2,9 @@ # # You can set these variables from the command line. -SPHINXOPTS ?= -vn +SPHINXOPTS ?= -v -W -E +# -n triggers an additional 100+ warnings (all about undefined references) that -W treats as errors. +# these extraneous warnings are ignored because some doc pages have to avoid duplicate IDs SPHINXBUILD = sphinx-build PAPER = BUILDDIR ?= build @@ -181,4 +183,3 @@ $(SPHINXBUILD) -b spelling -N $(ALLSPHINXOPTS) $(BUILDDIR)/spelling @echo @echo "Build finished. The spelling files are in $(BUILDDIR)/spelling." - diff -Nru breathe-4.34.0/documentation/source/autofile.rst breathe-4.35.0/documentation/source/autofile.rst --- breathe-4.34.0/documentation/source/autofile.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/autofile.rst 2023-02-28 19:59:39.000000000 +0000 @@ -10,16 +10,20 @@ Working Example --------------- -This should work:: +This should work: + +.. code-block:: rst .. autodoxygenfile:: auto_class.h :project: auto -With the following config value:: +With the following config value: + +.. code-block:: python breathe_projects_source = { - "auto" : ( "../examples/specific", ["auto_class.h"] ) - } + "auto" : ( "../examples/specific", ["auto_class.h"] ) + } It produces this output: diff -Nru breathe-4.34.0/documentation/source/autoindex.rst breathe-4.35.0/documentation/source/autoindex.rst --- breathe-4.34.0/documentation/source/autoindex.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/autoindex.rst 2023-02-28 19:59:39.000000000 +0000 @@ -7,16 +7,20 @@ Working Example --------------- -This should work:: +This should work: + +.. code-block:: rst .. autodoxygenindex:: :project: auto -With the following config value:: +With the following config value: + +.. code-block:: python breathe_projects_source = { - "auto" : ( "../examples/specific", ["auto_function.h", "auto_class.h"] ) - } + "auto" : ( "../examples/specific", ["auto_function.h", "auto_class.h"] ) + } It produces this output: @@ -24,4 +28,3 @@ .. autodoxygenindex:: :project: auto - diff -Nru breathe-4.34.0/documentation/source/class.rst breathe-4.35.0/documentation/source/class.rst --- breathe-4.34.0/documentation/source/class.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/class.rst 2023-02-28 19:59:39.000000000 +0000 @@ -45,8 +45,6 @@ The output includes references to any base classes and derived classes of the specified class. -.. contents:: - Basic Example ------------- @@ -119,7 +117,7 @@ .. doxygenclass:: Nutshell :project: nutshell :members: - + :no-link: Specific Members Example ------------------------ @@ -133,14 +131,14 @@ .. doxygenclass:: Nutshell :project: nutshell - :members: crack, isCracked + :members: Tool, crack, isCracked It produces this output: .. doxygenclass:: Nutshell :project: nutshell - :members: crack, isCracked - + :members: Tool, crack, isCracked + :no-link: Protected Members ----------------- @@ -182,6 +180,7 @@ .. doxygenclass:: Nutshell :project: nutshell :private-members: + :no-link: Undocumented Members -------------------- @@ -208,6 +207,7 @@ :members: :private-members: :undoc-members: + :no-link: .. note:: @@ -237,9 +237,12 @@ :project: membergroups :members: :membergroups: myGroup + :no-link: Without ``:membergroups: myGroup`` it would produce: +.. cpp:namespace:: @ex_class_membergroups_all + .. doxygenclass:: GroupedMembers :project: membergroups :members: @@ -268,12 +271,16 @@ :project: classtest :members: :members-only: + :no-link: Without ``:members-only:`` it would produce: +.. cpp:namespace:: @ex_class_members_all + .. doxygenclass:: ClassTest :project: classtest :members: + :no-link: .. note:: @@ -286,11 +293,12 @@ In the ``readthedocs`` theme, the members will show up in the color scheme of the class definitions. If you would like them rendered as the other members, indent like above, create a ``_static/css/custom.css`` file containing - + .. code-block:: css /* render as functions not classes when indented (for :members-only:) */ - html.writer-html4 .rst-content blockquote dl:not(.field-list)>dt, html.writer-html5 .rst-content blockquote dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt { + html.writer-html4 .rst-content blockquote dl:not(.field-list)>dt, + html.writer-html5 .rst-content blockquote dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt { margin-bottom: 6px; border: none; border-left: 3px solid #ccc; @@ -299,11 +307,11 @@ } and add the following to your ``conf.py`` - + .. code-block:: python html_static_path = ['_static'] - + html_css_files = ['css/custom.css'] Outline Example @@ -328,7 +336,7 @@ :project: nutshell :members: :outline: - + :no-link: Qt Signals & Slots Example -------------------------- @@ -366,7 +374,6 @@ It produces the following warning message: -.. warning:: doxygenclass: Cannot find class “made_up_class” in doxygen xml +.. warning:: + doxygenclass: Cannot find class “made_up_class” in doxygen xml output for project “class” from directory: ../../examples/doxygen/class/xml/ - - diff -Nru breathe-4.34.0/documentation/source/code/groups.h breathe-4.35.0/documentation/source/code/groups.h --- breathe-4.34.0/documentation/source/code/groups.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/code/groups.h 2023-02-28 19:59:39.000000000 +0000 @@ -1,7 +1,7 @@ // Example from Doxygen documentation /** A class. More details about the Test class */ -class Test +class UserDefinedGroupTest { public: //@{ @@ -17,17 +17,15 @@ void func2InCustomGroup(); }; -void Test::func1InGroup1() {} -void Test::func2InGroup1() {} +void UserDefinedGroupTest::func1InGroup1() {} +void UserDefinedGroupTest::func2InGroup1() {} /** @name Custom Group * Description of custom group */ //@{ /** Function 2 in custom group. Details. */ -void Test::func2InCustomGroup() {} +void UserDefinedGroupTest::func2InCustomGroup() {} /** Function 1 in custom group. Details. */ -void Test::func1InCustomGroup() {} +void UserDefinedGroupTest::func1InCustomGroup() {} //@} - - diff -Nru breathe-4.34.0/documentation/source/codeguide.rst breathe-4.35.0/documentation/source/codeguide.rst --- breathe-4.34.0/documentation/source/codeguide.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/codeguide.rst 2023-02-28 19:59:39.000000000 +0000 @@ -37,7 +37,9 @@ they contain. For example, in ``examples/doxygen/func/xml`` directory, the ``index.xml`` file -contains:: +contains: + +.. code-block:: xml @@ -228,8 +230,3 @@ code largely operates on a basis of trial and error. One day I'm sure I'll be enlightened, until then expect fairly naive code. - - - - - diff -Nru breathe-4.34.0/documentation/source/concept.rst breathe-4.35.0/documentation/source/concept.rst --- breathe-4.34.0/documentation/source/concept.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/concept.rst 2023-02-28 19:59:39.000000000 +0000 @@ -4,28 +4,44 @@ doxygenconcept Directive Example ================================ +.. warning:: + C++20 Concepts support was added in Doxygen v1.9.2. Please be sure to use Doxygen v1.9.2 or + newer with :ref:`doxygenconcept`. + Working Example --------------- -This should work:: +This should work: + +.. code-block:: rst .. doxygenconcept:: Hashable :project: cpp_concept It produces this output: -.. doxygenconcept:: Hashable - :project: cpp_concept +.. ifconfig:: doxygen_version < (1, 9, 2) + + .. error:: + The Doxygen version used to generate these docs does not support C++20 Concepts. + Please upgrade to using Doxygen v1.9.2 or newer. + +.. ifconfig:: doxygen_version > (1, 9, 1) + + .. doxygenconcept:: Hashable + :project: cpp_concept Failing Example --------------- -This intentionally fails:: +This intentionally fails: + +.. code-block:: rst .. doxygenconcept:: MadeUpConcept :project: cpp_concept It produces the following warning message: -.. warning:: doxygenconcept: Cannot find concept "MadeUpConcept" in doxygen xml output - +.. warning:: + doxygenconcept: Cannot find concept "MadeUpConcept" in doxygen xml output diff -Nru breathe-4.34.0/documentation/source/conf.py breathe-4.35.0/documentation/source/conf.py --- breathe-4.34.0/documentation/source/conf.py 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/conf.py 2023-02-28 19:59:39.000000000 +0000 @@ -29,11 +29,30 @@ # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ["breathe", "sphinx.ext.mathjax", "sphinx.ext.ifconfig", "sphinx.ext.graphviz"] +extensions = [ + "breathe", + "sphinx.ext.mathjax", + "sphinx.ext.ifconfig", + "sphinx.ext.graphviz", + "sphinx_copybutton", +] read_the_docs_build = os.environ.get("READTHEDOCS", None) == "True" travis_build = os.environ.get("TRAVIS_CI", None) == "True" +# Get version of Doxygen and save it as a tuple + +doxygen_test = subprocess.run(["doxygen", "--version"], capture_output=True) +if doxygen_test.returncode < 0: + raise RuntimeError( + "doxygen --version reported the following error:\n\t" + + str(doxygen_test.stderr, encoding="utf-8") + ) +doxygen_version = tuple( + int(x) for x in str(doxygen_test.stdout, encoding="utf-8").split()[0].split(".") +) +print("Using Doxygen v%d.%d.%d" % doxygen_version) + # Get a description of the current position. Use Popen for 2.6 compat git_tag = subprocess.Popen(["git", "describe", "--tags"], stdout=subprocess.PIPE).communicate()[0] @@ -125,9 +144,7 @@ # Set path for mathjax js to a https URL as sometimes the Breathe docs are displayed under https # and we can't load an http mathjax file from an https view of the docs. So we change to a https # mathjax file which we can load from http or https. We break the url over two lines. -mathjax_path = ( - "https://c328740.ssl.cf1.rackcdn.com/" "mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" -) +mathjax_path = "https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML" # Add any paths that contain templates here, relative to this directory. @@ -266,7 +283,7 @@ # given in html_static_path. # html_style = 'default.css' -html_theme = "haiku" +html_theme = "furo" # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". @@ -277,18 +294,19 @@ # The name of an image file (relative to this directory) to place at the top # of the sidebar. -# html_logo = None +html_logo = "_static/logo.svg" # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. -# html_favicon = None +html_favicon = "_static/favicon.ico" # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ["_static"] +html_css_files = ["breathe.css"] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. # html_last_updated_fmt = '%b %d, %Y' @@ -401,3 +419,4 @@ app.connect("builder-inited", generate_doxygen_xml) app.add_config_value("documentation_build", "development", True) + app.add_config_value("doxygen_version", (0, 0, 0), "env") diff -Nru breathe-4.34.0/documentation/source/credits.rst breathe-4.35.0/documentation/source/credits.rst --- breathe-4.34.0/documentation/source/credits.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/credits.rst 2023-02-28 19:59:39.000000000 +0000 @@ -34,7 +34,6 @@ - Dimitri van Heesch for `Doxygen `_. - Georg Brandl for `Sphinx `_. -- David Goodger for `Docutils `_ and reStructuredText. +- David Goodger for `Docutils `_ and reStructuredText. And thank you to whoever made the ``haiku`` theme for Sphinx. - diff -Nru breathe-4.34.0/documentation/source/customcss.rst breathe-4.35.0/documentation/source/customcss.rst --- breathe-4.34.0/documentation/source/customcss.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/customcss.rst 2023-02-28 19:59:39.000000000 +0000 @@ -9,17 +9,20 @@ **breatheparameterlist** Used to keep the description of a parameter displayed inline with the - parameter name. The Breathe docs use:: + parameter name. The Breathe docs use: + + .. code-block:: css .breatheparameterlist li tt + p { - display: inline; + display: inline; } **breatheenumvalues** Used to keep the description of an enum displayed inline with the - enum name. The Breathe docs use:: + enum name. The Breathe docs use: + + .. code-block:: css .breatheenumvalues li tt + p { - display: inline; + display: inline; } - diff -Nru breathe-4.34.0/documentation/source/define.rst breathe-4.35.0/documentation/source/define.rst --- breathe-4.34.0/documentation/source/define.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/define.rst 2023-02-28 19:59:39.000000000 +0000 @@ -7,7 +7,9 @@ Working Example --------------- -This should work:: +This should work: + +.. code-block:: rst .. doxygendefine:: WRITE_TREE_MISSING_OK :project: c_file @@ -20,13 +22,15 @@ Failing Example --------------- -This intentionally fails:: +This intentionally fails: + +.. code-block:: rst .. doxygendefine:: MADEUPDEFINE :project: define It produces the following warning message: -.. warning:: doxygendefine: Cannot find define "MADEUPDEFINE" in doxygen xml - output for project "define" in directory: ../../examples/specific/define/xml - +.. warning:: + doxygendefine: Cannot find define "MADEUPDEFINE" in doxygen xml + output for project "define" in directory: ../../examples/specific/define/xml diff -Nru breathe-4.34.0/documentation/source/directives.rst breathe-4.35.0/documentation/source/directives.rst --- breathe-4.34.0/documentation/source/directives.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/directives.rst 2023-02-28 19:59:39.000000000 +0000 @@ -21,7 +21,6 @@ autofile page -.. contents:: Table of Contents Directives ---------- @@ -34,15 +33,15 @@ should be used for this directive. This overrides the default project if one has been specified. - This is not used by the ``autodoxygenindex`` directive. Use ``source`` - instead to specify the entry in the ``breathe_projects_source`` config value + This is not used by the `autodoxygenindex`_ directive. Use ``source`` + instead to specify the entry in the :confval:`breathe_projects_source` config value to use. ``path`` Directly specifies the path to the folder with the doxygen output. This overrides the project and default project if they have been specified. - This is not used by the ``autodoxygenindex`` directive. Use ``source-path`` + This is not used by the `autodoxygenindex`_ directive. Use ``source-path`` instead to specify the root path to the sources files which are to be processed. @@ -72,7 +71,9 @@ This directive generates the appropriate output for a single class. It takes the standard ``project``, ``path``, ``outline`` and ``no-link`` options and additionally the ``members``, ``protected-members``, ``private-members``, -``undoc-members``, ``membergroups`` and ``members-only`` options:: +``undoc-members``, ``membergroups`` and ``members-only`` options + +.. code-block:: rst .. doxygenclass:: :project: ... @@ -96,9 +97,9 @@ ~~~~~~~~~~~~~ This directive generates the appropriate output for a single preprocessor -define. It behaves the same as the doxygenstruct directive. +define. It behaves the same as the `doxygenstruct`_ directive. -:: +.. code-block:: rst .. doxygendefine:: :project: ... @@ -114,9 +115,9 @@ ~~~~~~~~~~~~~~ This directive generates the appropriate output for a single concept. It -behaves the same as the doxygenstruct directive. +behaves the same as the `doxygenstruct`_ directive. -:: +.. code-block:: rst .. doxygenconcept:: :project: ... @@ -132,9 +133,9 @@ ~~~~~~~~~~~ This directive generates the appropriate output for a single enum. It behaves -the same as the doxygenstruct directive. +the same as the `doxygenstruct`_ directive. -:: +.. code-block:: rst .. doxygenenum:: :project: ... @@ -151,7 +152,7 @@ This directive generates the appropriate output for a single enum value. -:: +.. code-block:: rst .. doxygenenumvalue:: :project: ... @@ -169,7 +170,7 @@ This directive generates the appropriate output for the contents of a source file. -:: +.. code-block:: rst .. doxygenfile:: :project: ... @@ -186,10 +187,10 @@ autodoxygenfile ~~~~~~~~~~~~~~~ -This directive is this ``auto`` version of the doxygenfile directive above. +This directive is this ``auto`` version of the `doxygenfile`_ directive above. It handles the doxygen xml generation for you like the other auto directives. -:: +.. code-block:: rst .. autodoxygenfile:: :project: ... @@ -208,7 +209,7 @@ This directive generates the appropriate output for a single function. The function name is required to be unique in the project. -:: +.. code-block:: rst .. doxygenfunction:: :project: ... @@ -231,7 +232,7 @@ and additionally the ``content-only``, ``desc-only``, ``members``, ``protected-members``, ``private-members`` and ``undoc-members`` options. -:: +.. code-block:: rst .. doxygengroup:: :project: ... @@ -261,7 +262,7 @@ Doxygen xml output. It reads the ``index.xml`` file and process everything referenced by it. -:: +.. code-block:: rst .. doxygenindex:: :project: ... @@ -275,22 +276,22 @@ autodoxygenindex ~~~~~~~~~~~~~~~~ -This directive performs a similar role to the ``doxygenindex`` directive except +This directive performs a similar role to the `doxygenindex`_ directive except that it handles the doxygen xml generation for you. It uses the -``breathe_projects_source`` configuration dictionary to judge which code source +:confval:`breathe_projects_source` configuration dictionary to judge which code source files should have doxygen xml generated for them. The ``project`` directive option associates the directive with a particular project in the -``breathe_projects_source`` dictionary. All the files references by the entry in -the ``breathe_projects_source`` will be included in the output. In addition, any -options specified in ``breathe_doxygen_config_options`` will be added to the +:confval:`breathe_projects_source` dictionary. All the files references by the entry in +the :confval:`breathe_projects_source` will be included in the output. In addition, any +options specified in :confval:`breathe_doxygen_config_options` will be added to the generated Doxygen config file and any custom aliases specified in -``breathe_doxygen_config_aliases`` will be added to the `doxygen aliases +:confval:`breathe_doxygen_aliases` will be added to the `doxygen aliases `_. Thank you to `Scopatz `_ for the idea and initial implementation. -:: +.. code-block:: rst .. autodoxygenindex:: :project: ... @@ -314,7 +315,7 @@ To reference a nested namespace, the full namespaced path must be provided, e.g. ``foo::bar`` for the ``bar`` namespace inside the ``foo`` namespace. -:: +.. code-block:: rst .. doxygennamespace:: :project: ... @@ -343,7 +344,7 @@ and additionally the ``members``, ``protected-members``, ``private-members``, ``membergroups``, ``members-only`` and ``undoc-members`` options. -:: +.. code-block:: rst .. doxygenstruct:: :project: ... @@ -366,9 +367,9 @@ ~~~~~~~~~~~~~~~~ This directive generates the appropriate output for a single interface (specially-used -class). It behaves the same as the doxygenclass directive. +class). It behaves the same as the `doxygenclass`_ directive. -:: +.. code-block:: rst .. doxygeninterface:: :project: ... @@ -390,7 +391,7 @@ This directive generates the appropriate output for a single typedef. It behaves the same as the doxygenstruct directive. -:: +.. code-block:: rst .. doxygentypedef:: :project: ... @@ -408,7 +409,7 @@ This directive generates the appropriate output for a single union. It behaves the same as the doxygenstruct directive. -:: +.. code-block:: rst .. doxygenunion:: :project: ... @@ -426,7 +427,7 @@ This directive generates the appropriate output for a single variable. It behaves the same as the doxygenstruct directive. -:: +.. code-block:: rst .. doxygenvariable:: :project: ... @@ -449,7 +450,7 @@ It takes the standard ``project`` and ``path`` options and additionally the ``content-only`` option. -:: +.. code-block:: rst .. doxygenpage:: :project: ... @@ -484,17 +485,21 @@ Allows you to specify domains for particular files according to their extension. - For example:: + For example: + + .. code-block:: python breathe_domain_by_extension = { - "h" : "cpp", - } + "h" : "cpp", + } - You can also use this to enable support for Doxygen XML generated from PHP code:: + You can also use this to enable support for Doxygen XML generated from PHP code: + + .. code-block:: python breathe_domain_by_extension = { - "php" : "php", - } + "php" : "php", + } .. confval:: breathe_domain_by_file_pattern @@ -502,11 +507,13 @@ is checked after :confval:`breathe_domain_by_extension` and so will override it when necessary. - For example:: + For example: + + .. code-block:: python breathe_domain_by_file_pattern = { - "\*/alias.h" : "c", - } + "\*/alias.h" : "c", + } If you wanted all ``.h`` header files to be treated as being in the **cpp** domain you might use the :confval:`breathe_domain_by_extension` example @@ -519,19 +526,26 @@ A dictionary in which the keys are project names and the values are a tuple of the directory and a list of file names of the source code for those projects that you would like to be automatically processed with doxygen. - If you have some files in:: + If you have some files in: + + .. code-block:: text /some/long/path/to/myproject/file.c /some/long/path/to/myproject/subfolder/otherfile.c - Then you can set:: + Then you can set: + + .. code-block:: python breathe_projects_source = { - "myprojectsource" : - ( "/some/long/path/to/myproject", [ "file.c", "subfolder/otherfile.c" ] ) - } + "myprojectsource" : ( + "/some/long/path/to/myproject", ["file.c", "subfolder/otherfile.c"] + ) + } - Then your ``autodoxygenfile`` usage can look like this:: + Then your `autodoxygenfile`_ usage can look like this: + + .. code-block:: rst .. autodoxygenfile:: file.c :project: myprojectsource @@ -541,7 +555,7 @@ .. confval:: breathe_build_directory - In order to process the ``autodoxygenindex`` Breathe has to run ``doxygen`` + In order to process the `autodoxygenindex`_ Breathe has to run ``doxygen`` to create the xml files for processing. This config value specifies the root directory that these files should be created in. By default, this is set to the parent directory of the ``doctrees`` output folder which is the normal @@ -559,7 +573,9 @@ take ``:members:``, ``:private-members:`` and ``:undoc-members:`` options. By default, this is set to an empty list, which means no members are displayed. If you'd like to always display the public and public, - undocumented members then you could set it like this:: + undocumented members then you could set it like this: + + .. code-block:: python breathe_default_members = ('members', 'undoc-members') @@ -568,14 +584,16 @@ .. confval:: breathe_implementation_filename_extensions Provides a list of the filename extensions which are considered to be - implementation files. These files are ignored when the ``doxygenfunction`` - directive looks for unnamespaced function names. This is to avoid the issue + implementation files. These files are ignored when the `doxygenfunction`_ + directive looks for un-namespaced function names. This is to avoid the issue where the same function name appears in the doxygen XML output for a header file and implementation file because the declaration is in one and the definition is in the other. Doxygen appends the documentation from the definition to the XML for the declaration so we don't miss any documentation information from the implementation files. The default value for this - variable is:: + variable is: + + .. code-block:: python breathe_implementation_filename_extensions = ['.c', '.cc', '.cpp'] @@ -585,7 +603,9 @@ A dictionary in which the keys and values are the names and values of config options to be placed in the Doxygen config file generated by - ``autodoxygenindex``. For instance, this:: + `autodoxygenindex`_. For instance, this: + + .. code-block:: python breathe_doxygen_config_options = {'EXCLUDE_SYMBOLS': 'abc123'} @@ -594,20 +614,24 @@ .. confval:: breathe_doxygen_aliases - A dictionnary in which the keys and values are the names and values of aliases - to be placed in the Doxygen config file generated by ``autodoxygenindex``. - For instance, this:: + A dictionary in which the keys and values are the names and values of aliases + to be placed in the Doxygen config file generated by `autodoxygenindex`_. + For instance, this: + + .. code-block:: python - breathe_doxygen_aliases = {'rstref{1}': r'\verbatim embed:rst:inline :ref:`\1` \endverbatim'} + breathe_doxygen_aliases = { + 'rstref{1}': r'\verbatim embed:rst:inline :ref:`\1` \endverbatim' + } - would place the line:: + would place the line:: ALIASES += rstref{1}="\verbatim embed:rst:inline :ref:`\1` \endverbatim" - in the config file. The default value is an empty dictionary. - Note the use of a raw string to ensure that backslashes are interpreted as literal characters. - (This example alias enables linking to rst targets inline in doxygen comments using - ``\rstref{}``) + in the config file. The default value is an empty dictionary. + Note the use of a raw string to ensure that backslashes are interpreted as literal characters. + (This example alias enables linking to rst targets inline in doxygen comments using + ``\rstref{}``) .. confval:: breathe_show_define_initializer diff -Nru breathe-4.34.0/documentation/source/domains.rst breathe-4.35.0/documentation/source/domains.rst --- breathe-4.34.0/documentation/source/domains.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/domains.rst 2023-02-28 19:59:39.000000000 +0000 @@ -17,25 +17,31 @@ .. cpp:namespace:: @ex_domains_class -Given the following Breathe directives:: +Given the following Breathe directives: - .. doxygenclass:: testnamespace::NamespacedClassTest +.. code-block:: rst + + .. doxygenclass:: TestNamespaceClasses::NamespacedClassTest :path: ../../examples/specific/class/xml Which create formatted output like: - .. doxygenclass:: testnamespace::NamespacedClassTest + .. doxygenclass:: TestNamespaceClasses::NamespacedClassTest :path: ../../examples/specific/class/xml -We can refer to **NamespacedClassTest** using:: +We can refer to **NamespacedClassTest** using: + +.. code-block:: rst + + :cpp:class:`TestNamespaceClasses::NamespacedClassTest` + +which renders as :cpp:class:`TestNamespaceClasses::NamespacedClassTest`, or using: - :cpp:class:`testnamespace::NamespacedClassTest` - -which renders as :cpp:class:`testnamespace::NamespacedClassTest`, or using:: +.. code-block:: rst - :cpp:class:`another reference ` - -which renders as: :cpp:class:`another reference `. + :cpp:class:`another reference ` + +which renders as: :cpp:class:`another reference `. Inner Class Example ------------------- @@ -57,7 +63,7 @@ We can refer to **OuterClass::InnerClass** using:: :cpp:class:`OuterClass::InnerClass` - + which renders as :cpp:class:`OuterClass::InnerClass`. Function Examples @@ -65,9 +71,11 @@ .. cpp:namespace:: @ex_domains_function -Given the following Breathe directives:: +Given the following Breathe directives: + +.. code-block:: rst - .. doxygenfunction:: testnamespace::NamespacedClassTest::function + .. doxygenfunction:: TestNamespaceClasses::NamespacedClassTest::function :path: ../../examples/specific/class/xml .. doxygenfunction:: frob_foos @@ -75,31 +83,39 @@ Which create formatted output like: - .. doxygenfunction:: testnamespace::NamespacedClassTest::function + .. doxygenfunction:: TestNamespaceClasses::NamespacedClassTest::function :path: ../../examples/specific/class/xml .. doxygenfunction:: frob_foos :path: ../../examples/specific/alias/xml -We can refer to **function** using:: +We can refer to **namespaceFunc** using: - :cpp:func:`testnamespace::NamespacedClassTest::function()` - -which renders as :cpp:func:`testnamespace::NamespacedClassTest::function()`, or using:: - - :cpp:func:`another reference ` - -which renders as: :cpp:func:`another reference `. +.. code-block:: rst + + :cpp:func:`TestNamespaceFunction::namespaceFunc()` + +which renders as :cpp:func:`TestNamespaceFunction::namespaceFunc()`, or using: + +.. code-block:: rst + + :cpp:func:`another reference ` + +which renders as: :cpp:func:`another reference `. Note the use of the **cpp** domain. -And we can refer to **frob_foos** using:: - +And we can refer to **frob_foos** using: + +.. code-block:: rst + :c:func:`frob_foos()` -which renders as: :c:func:`frob_foos()`, or using:: +which renders as: :c:func:`frob_foos()`, or using: + +.. code-block:: rst + + :c:func:`another reference ` - :c:func:`another reference ` - which renders as: :c:func:`another reference `. Note the use of the **c** domain. Typedef Examples @@ -107,12 +123,14 @@ .. cpp:namespace:: @ex_domains_typedef -Given the following Breathe directives:: +Given the following Breathe directives: + +.. code-block:: rst .. doxygentypedef:: TestTypedef :path: ../../examples/specific/typedef/xml - .. doxygentypedef:: testnamespace::AnotherTypedef + .. doxygennamespace:: TypeDefNamespace :path: ../../examples/specific/typedef/xml .. doxygenclass:: TestClass @@ -124,22 +142,28 @@ .. doxygentypedef:: TestTypedef :path: ../../examples/specific/typedef/xml - .. doxygentypedef:: testnamespace::AnotherTypedef + .. doxygennamespace:: TypeDefNamespace :path: ../../examples/specific/typedef/xml .. doxygenclass:: TestClass :path: ../../examples/specific/typedef/xml :members: -We can refer to **TestTypedef** using:: +We can refer to **TestTypedef** using: + +.. code-block:: rst :cpp:type:`TestTypedef` - -which renders as :cpp:type:`TestTypedef`, to **testnamespace::AnotherTypedef** using:: - :cpp:type:`testnamespace::AnotherTypedef` +which renders as :cpp:type:`TestTypedef`, to **TypeDefNamespace::AnotherTypedef** using: + +.. code-block:: rst -which renders as :cpp:type:`testnamespace::AnotherTypedef` and to **TestClass::MemberTypedef** using:: + :cpp:type:`TypeDefNamespace::AnotherTypedef` + +which renders as :cpp:type:`TypeDefNamespace::AnotherTypedef` and to **TestClass::MemberTypedef** using: + +.. code-block:: rst :cpp:type:`TestClass::MemberTypedef` @@ -150,12 +174,14 @@ .. cpp:namespace:: @ex_domains_enum -Given the following Breathe directives:: +Given the following Breathe directives: + +.. code-block:: rst .. doxygenenumvalue:: VALUE :path: ../../examples/specific/enum/xml - .. doxygenenumvalue:: testnamespace::FIRST + .. doxygenenumvalue:: TestEnumNamespace::FIRST :path: ../../examples/specific/enum/xml Which create formatted output like: @@ -163,15 +189,19 @@ .. doxygenenumvalue:: VALUE :path: ../../examples/specific/enum/xml - .. doxygenenumvalue:: testnamespace::FIRST + .. doxygenenumvalue:: TestEnumNamespace::FIRST :path: ../../examples/specific/enum/xml -We can refer to **VALUE** using:: +We can refer to **VALUE** using: + +.. code-block:: rst :cpp:enumerator:`VALUE` - -which renders as :cpp:enumerator:`VALUE` and to **testnamespace::FIRST** using :: - :cpp:enumerator:`testnamespace::FIRST` +which renders as :cpp:enumerator:`VALUE` and to **TestEnumNamespace::FIRST** using: + +.. code-block:: rst + + :cpp:enumerator:`TestEnumNamespace::FIRST` -which renders as :cpp:enumerator:`testnamespace::FIRST`. +which renders as :cpp:enumerator:`TestEnumNamespace::FIRST`. diff -Nru breathe-4.34.0/documentation/source/doxygen.rst breathe-4.35.0/documentation/source/doxygen.rst --- breathe-4.34.0/documentation/source/doxygen.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/doxygen.rst 2023-02-28 19:59:39.000000000 +0000 @@ -217,13 +217,6 @@ .. doxygenindex:: :path: ../../examples/doxygen/pyexample/xml -Mux ---- - -.. cpp:namespace:: @ex_doxygen_mux - -.. doxygenindex:: - :path: ../../examples/doxygen/mux/xml Manual ------ diff -Nru breathe-4.34.0/documentation/source/enum.rst breathe-4.35.0/documentation/source/enum.rst --- breathe-4.34.0/documentation/source/enum.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/enum.rst 2023-02-28 19:59:39.000000000 +0000 @@ -9,7 +9,9 @@ .. cpp:namespace:: @ex_enum_example -This should work:: +This should work: + +.. code-block:: rst .. doxygenenum:: NodeType :project: tinyxml @@ -24,7 +26,9 @@ .. cpp:namespace:: @ex_enum_namespace -This should work:: +This should work: + +.. code-block:: rst .. doxygenenum:: foo::ns::Letters :project: namespace @@ -39,12 +43,14 @@ .. cpp:namespace:: @ex_enum_failing -This intentionally fails:: +This intentionally fails: + +.. code-block:: rst .. doxygenenum:: made_up_enum :project: restypedef It produces the following warning message: -.. warning:: doxygenenum: Cannot find enum "made_up_enum" in doxygen xml output - +.. warning:: + doxygenenum: Cannot find enum "made_up_enum" in doxygen xml output diff -Nru breathe-4.34.0/documentation/source/enumvalue.rst breathe-4.35.0/documentation/source/enumvalue.rst --- breathe-4.34.0/documentation/source/enumvalue.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/enumvalue.rst 2023-02-28 19:59:39.000000000 +0000 @@ -9,7 +9,9 @@ .. cpp:namespace:: @ex_enumvalue_example -This should work:: +This should work: + +.. code-block:: rst .. doxygenenumvalue:: TIXML_NO_ERROR :project: tinyxml @@ -24,7 +26,9 @@ .. cpp:namespace:: @ex_enumvalue_namespace -This should work:: +This should work: + +.. code-block:: rst .. doxygenenumvalue:: foo::ns::A :project: namespace @@ -39,12 +43,14 @@ .. cpp:namespace:: @ex_enumvalue_failing -This intentionally fails:: +This intentionally fails: + +.. code-block:: rst .. doxygenenumvalue:: made_up_enumvalue :project: restypedef It produces the following warning message: -.. warning:: doxygenenumvalue: Cannot find enumvalue "made_up_enumvalue" in doxygen xml output - +.. warning:: + doxygenenumvalue: Cannot find enumvalue "made_up_enumvalue" in doxygen xml output diff -Nru breathe-4.34.0/documentation/source/examples/codeblocks.rst breathe-4.35.0/documentation/source/examples/codeblocks.rst --- breathe-4.34.0/documentation/source/examples/codeblocks.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/examples/codeblocks.rst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ - -Examples: Code Blocks -===================== - -The following should render with standard C/C++ highlighting. - -.. doxygenfunction:: with_standard_code_block - :path: ../../examples/specific/code_blocks/xml - :no-link: - -The following should render with no detected highlighting. - -.. doxygenfunction:: with_unannotated_cmake_code_block - :path: ../../examples/specific/code_blocks/xml - :no-link: - -The following should render with specified cmake highlighting. - -.. doxygenfunction:: with_annotated_cmake_code_block - :path: ../../examples/specific/code_blocks/xml - :no-link: diff -Nru breathe-4.34.0/documentation/source/file.rst breathe-4.35.0/documentation/source/file.rst --- breathe-4.34.0/documentation/source/file.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/file.rst 2023-02-28 19:59:39.000000000 +0000 @@ -62,14 +62,15 @@ "user-defined", "User defined" "var", "Variable" -.. contents:: Example ------- .. cpp:namespace:: @ex_file_example -This should work:: +This should work: + +.. code-block:: rst .. doxygenfile:: nutshell.h :project: nutshell @@ -87,7 +88,9 @@ .. cpp:namespace:: @ex_file_section The following will only show the **briefdescription** and **public-type** -sections, in that order:: +sections, in that order: + +.. code-block:: rst .. doxygenfile:: nutshell.h :project: nutshell @@ -100,13 +103,16 @@ .. doxygenfile:: nutshell.h :project: nutshell :sections: briefdescription innerclass public-type + :no-link: Example with Nested Namespaces ------------------------------ .. cpp:namespace:: @ex_file_namespace -This should work:: +This should work: + +.. code-block:: rst .. doxygenfile:: namespacefile.h :project: namespace @@ -126,12 +132,16 @@ When there are multiple files with the same name in the project, you need to be more specific with the filename you provide. For example, in a project with the -following two files:: +following two files: + +.. code-block:: text /some/long/project/path/parser/Util.h /some/long/project/path/finder/Util.h -You should specify:: +You should specify: + +.. code-block:: rst .. doxygenfile:: parser/Util.h @@ -144,11 +154,14 @@ .. cpp:namespace:: @ex_file_failing -This intentionally fails:: +This intentionally fails: + +.. code-block:: rst .. doxygenfile:: made_up_file.h :project: nutshell It produces the following warning message: -.. warning:: Cannot find file "made_up_file.h" in doxygen xml output for project "nutshell" from directory: ../../examples/specific/nutshell/xml/ +.. warning:: + Cannot find file "made_up_file.h" in doxygen xml output for project "nutshell" from directory: ../../examples/specific/nutshell/xml/ diff -Nru breathe-4.34.0/documentation/source/function.rst breathe-4.35.0/documentation/source/function.rst --- breathe-4.34.0/documentation/source/function.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/function.rst 2023-02-28 19:59:39.000000000 +0000 @@ -20,7 +20,9 @@ .. cpp:namespace:: @ex_function_example -This should work:: +This should work: + +.. code-block:: rst .. doxygenfunction:: open :project: structcmd @@ -35,7 +37,9 @@ .. cpp:namespace:: @ex_function_separated -This should work:: +This should work: + +.. code-block:: rst .. doxygenfunction:: open_di :project: decl_impl @@ -50,12 +54,14 @@ .. cpp:namespace:: @ex_function_failing -This intentionally fails:: +This intentionally fails: + +.. code-block:: rst .. doxygenfunction:: made_up_function :project: structcmd It produces the following warning message: -.. warning:: doxygenfunction: Cannot find function "made_up_function" in doxygen xml output - +.. warning:: + doxygenfunction: Cannot find function "made_up_function" in doxygen xml output diff -Nru breathe-4.34.0/documentation/source/group.rst breathe-4.35.0/documentation/source/group.rst --- breathe-4.34.0/documentation/source/group.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/group.rst 2023-02-28 19:59:39.000000000 +0000 @@ -44,7 +44,7 @@ If you would like to always specify some combination of ``members``, ``protected-members``, ``private-members`` and ``undoc-members`` then you can -use the :ref:`breathe_default_members ` configuration +use the :confval:`breathe_default_members` configuration variable to set it in the ``conf.py``. ``inner`` @@ -54,7 +54,6 @@ .. _doxygen grouping documentation: https://www.doxygen.nl/manual/grouping.html -.. contents:: Basic Example @@ -94,11 +93,12 @@ .. doxygengroup:: mygroup :project: group :content-only: + :no-link: .. note:: As you can see from the output, section headings like 'Functions' are missing - from the :content-only: display. This is due to an implementation detail. If + from the ``:content-only:`` display. This is due to an implementation detail. If post an issue on github if you'd like it addressed. @@ -112,7 +112,7 @@ be produced by the :ref:`doxygenclass directive ` with the ``members`` option specified. -:: +.. code-block:: rst .. doxygengroup:: mygroup :project: group @@ -123,7 +123,7 @@ .. doxygengroup:: mygroup :project: group :members: - + :no-link: Protected Members Example ------------------------- @@ -135,7 +135,7 @@ as if it had be produced by the :ref:`doxygenclass directive ` with the ``protected-members`` option specified. -:: +.. code-block:: rst .. doxygengroup:: mygroup :project: group @@ -146,7 +146,7 @@ .. doxygengroup:: mygroup :project: group :protected-members: - + :no-link: Private-Members Example ----------------------- @@ -169,7 +169,7 @@ .. doxygengroup:: mygroup :project: group :private-members: - + :no-link: Undocumented Members Example ---------------------------- @@ -193,6 +193,7 @@ :project: group :private-members: :undoc-members: + :no-link: .. note:: @@ -219,7 +220,7 @@ .. doxygengroup:: mygroup :project: group :inner: - + :no-link: Outline Example --------------- @@ -242,7 +243,7 @@ :project: group :members: :outline: - + :no-link: Failing Example --------------- @@ -258,6 +259,6 @@ It produces the following warning message: -.. warning:: Cannot find file "madeupgroup" in doxygen xml output for project - "group" from directory: ../../examples/specific/group/xml/ - +.. warning:: + Cannot find file "madeupgroup" in doxygen xml output for project + "group" from directory: ../../examples/specific/group/xml/ diff -Nru breathe-4.34.0/documentation/source/groups.rst breathe-4.35.0/documentation/source/groups.rst --- breathe-4.34.0/documentation/source/groups.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/groups.rst 2023-02-28 19:59:39.000000000 +0000 @@ -11,16 +11,18 @@ .. literalinclude:: code/groups.h :language: cpp -If we reference this with a directive, for example:: +If we reference this with a directive, for example: - .. doxygenclass:: Test +.. code-block:: rst + + .. doxygenclass:: UserDefinedGroupTest :project: userdefined :members: :protected-members: It renders as: -.. doxygenclass:: Test +.. doxygenclass:: UserDefinedGroupTest :project: userdefined :members: :protected-members: @@ -31,5 +33,3 @@ Any groups which are not named in the original source code will appear as **Unnamed Group** in the final output. This is different to Doxygen which will number the groups and so name them as Group1, Group2, Group3, etc. - - diff -Nru breathe-4.34.0/documentation/source/index.rst breathe-4.35.0/documentation/source/index.rst --- breathe-4.34.0/documentation/source/index.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/index.rst 2023-02-28 19:59:39.000000000 +0000 @@ -1,4 +1,5 @@ -.. BreatheExample documentation master file, created by sphinx-quickstart on Tue Feb 3 18:20:48 2009. +.. + BreatheExample documentation master file, created by sphinx-quickstart on Tue Feb 3 18:20:48 2009. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. @@ -114,29 +115,39 @@ .. literalinclude:: code/nutshell.h :language: cpp -Then you run this:: +Then you run this: + +.. code-block:: text doxygen -With a setting that says this:: +With a setting that says this: + +.. code-block:: text GENERATE_XML = YES -Then in your Sphinx documentation, you add something like this:: +Then in your Sphinx documentation, you add something like this: + +.. code-block:: rst .. doxygenclass:: Nutshell :project: nutshell :members: -With a ``conf.py`` setting like this:: +With a ``conf.py`` setting like this: + +.. code-block:: python breathe_projects = { - "nutshell":"../../examples/specific/nutshell/xml/", - } + "nutshell": "../../examples/specific/nutshell/xml/", + } + +And Breathe registered as an extension in ``conf.py`` like this: -And Breathe registered as an extension in ``conf.py`` like this:: +.. code-block:: rst - extensions = [ "breathe" ] + extensions = ["breathe"] You get something like this: diff -Nru breathe-4.34.0/documentation/source/latexmath.rst breathe-4.35.0/documentation/source/latexmath.rst --- breathe-4.34.0/documentation/source/latexmath.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/latexmath.rst 2023-02-28 19:59:39.000000000 +0000 @@ -3,7 +3,9 @@ ========== Breathe has basic support for latex math markup in the doxygen comments. A -class with a comment like:: +class with a comment like: + +.. code-block:: cpp /** * @brief A class @@ -15,7 +17,7 @@ * \int_a^b f(x) dx = F(b) - F(a) * @f] */ - class MathHelper + class MathHelper { public: MathHelper() {} @@ -34,9 +36,11 @@ Without any additional configuration except for including a math extension in -the Sphinx ``conf.py``:: +the Sphinx ``conf.py``: + +.. code-block:: python - extensions = [ "breathe", "sphinx.ext.mathjax" ] + extensions = ["breathe", "sphinx.ext.mathjax"] The specific environment formula fails when using ``sphinx.ext.pngmath`` so more work is needed. @@ -55,4 +59,3 @@ Thank you to `dazzlezhang `_ for providing examples and a full run down of necessary details. It made the implementation much easier. - diff -Nru breathe-4.34.0/documentation/source/lists.rst breathe-4.35.0/documentation/source/lists.rst --- breathe-4.34.0/documentation/source/lists.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/lists.rst 2023-02-28 19:59:39.000000000 +0000 @@ -6,7 +6,9 @@ .. cpp:namespace:: @ex_lists_plus -For unordered lists with list items prefixed with **+** :: +For unordered lists with list items prefixed with **+**: + +.. code-block:: rst .. doxygenclass:: SimpleList_1 :project: lists @@ -75,11 +77,12 @@ ---- -.. note:: Numbered lists support for the moment only Arabic numerals. +.. note:: + Numbered lists support for the moment only Arabic numerals. + - Nested lists are supported in all combinations, as long as they are valid doxygen markup. -Below are a couple of examples of different nested lists documentation and their corresponding +Below are a couple of examples of different nested lists documentation and their corresponding breathe output. .. cpp:namespace:: @ex_lists_nested_1 diff -Nru breathe-4.34.0/documentation/source/markups.rst breathe-4.35.0/documentation/source/markups.rst --- breathe-4.34.0/documentation/source/markups.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/markups.rst 2023-02-28 19:59:39.000000000 +0000 @@ -16,7 +16,9 @@ .. cpp:namespace:: @ex_markups_rst Breathe supports reStructuredText within doxygen **verbatim** blocks which begin -with the markup **embed:rst**. This means that a comment block like this:: +with the markup **embed:rst**. This means that a comment block like this: + +.. code-block:: cpp /*! Inserting additional reStructuredText information. @@ -31,6 +33,7 @@ .. doxygenfunction:: TestClass::rawVerbatim :project: rst + :no-link: Handling Leading Asterisks ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -39,13 +42,17 @@ Note that doxygen captures **all** content in a **verbatim** block. This can be rather an annoyance if you use a leading-asterisk style of comment block -such as the following:: +such as the following: + +.. code-block:: cpp /*! * Inserting additional reStructuredText information. * * \verbatim embed:rst - * Some example code:: + * Some example code + * + * .. code-block:: cpp * * int example(int x) { * return x * 2; @@ -57,7 +64,8 @@ appear to be an incorrectly formatted bullet list. Due to the syntactical problems Sphinx will issue warnings and the block will render as: -.. Here we fake the bad output without actually using a bad example otherwise +.. + Here we fake the bad output without actually using a bad example otherwise we'll get warnings in the build output. void **rawBadAsteriskVerbatim**\ () @@ -69,7 +77,9 @@ - return x \* 2; - } -To prevent this, use an **embed:rst:leading-asterisk** tag:: +To prevent this, use an **embed:rst:leading-asterisk** tag: + +.. code-block:: cpp /*! * Inserting additional reStructuredText information. @@ -98,7 +108,9 @@ .. cpp:namespace:: @ex_markups_leading_slash Similar troubles can be encountered when using comment blocks that start with a -triple forward slash. For example:: +triple forward slash. For example: + +.. code-block:: cpp /// Some kind of method /// @@ -114,6 +126,7 @@ /// }; /// /// @endverbatim + /// @note Documentation using `///` should begin and end in a blank line. For these kinds of blocks, you can use an **embed:rst:leading-slashes** tag as shown in the above example. @@ -134,7 +147,9 @@ Normal verbatim elements result in block elements. But sometimes you'll want to generate rST references where they need to be rendered inline with the text. -For example:: +For example: + +.. code-block:: cpp /// Some kind of method /// @@ -165,31 +180,35 @@ .. cpp:namespace:: @ex_markups_aliases To make these blocks appear as more appropriate doxygen-like markup in your -comments you can add the following aliases to your doxygen configuration file:: +comments you can add the following aliases to your doxygen configuration file: + +.. code-block:: text ALIASES = "rst=^^\verbatim embed:rst^^" ALIASES += "endrst=\endverbatim" -Which allow you to write comments like:: +Which allow you to write comments like: - /*! - Inserting additional reStructuredText information. +.. code-block:: cpp - \rst + /*! + Inserting additional reStructuredText information. - This is some funky non-xml compliant text: <& !>< + \rst - .. note:: + This is some funky non-xml compliant text: <& !>< + + .. note:: This reStructuredText has been handled correctly. - \endrst + \endrst - This is just a standard verbatim block with code: + This is just a standard verbatim block with code: - \verbatim - child = 0; - while( child = parent->IterateChildren( child ) ) - \endverbatim + \verbatim + child = 0; + while( child = parent->IterateChildren( child ) ) + \endverbatim */ @@ -207,7 +226,9 @@ The ALIAS given above only works for comment blocks without a leading comment character on each line. If you use a comment style with a leading comment character on each new line, -use these aliases instead:: +use these aliases instead: + +.. code-block:: text ALIASES = "rst=^^\verbatim embed:rst:leading-asterisk^^" ALIASES += "endrst=\endverbatim" @@ -219,8 +240,9 @@ If you want to hide reStructuredText output from Doxygen html and only include it in sphinx, use the Doxygen command ``\xmlonly``. -This is an example alias that enables all RST sections in XML only:: +This is an example alias that enables all RST sections in XML only: + +.. code-block:: text ALIASES = "rst=^^\xmlonlyembed:rst:leading-asterisk^^" ALIASES += "endrst=\endxmlonly" - diff -Nru breathe-4.34.0/documentation/source/members.rst breathe-4.35.0/documentation/source/members.rst --- breathe-4.34.0/documentation/source/members.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/members.rst 2023-02-28 19:59:39.000000000 +0000 @@ -19,6 +19,7 @@ .. doxygenclass:: testnamespace::NamespacedClassTest :path: ../../examples/specific/members/xml :members: functionS, anotherFunction + :no-link: No Members ---------- @@ -27,13 +28,14 @@ .. doxygenclass:: testnamespace::NamespacedClassTest :path: ../../examples/specific/members/xml + :no-link: Struct Members ---------------- .. cpp:namespace:: @ex_members_struct -.. doxygenfunction:: testnamespace::MyClass::MyClass +.. doxygenfunction:: testnamespace::MyClass::MyClass() :path: ../../examples/specific/struct_function/xml .. doxygenfunction:: testnamespace::MyClass::MyClass(const MyClass&) diff -Nru breathe-4.34.0/documentation/source/namespace.rst breathe-4.35.0/documentation/source/namespace.rst --- breathe-4.34.0/documentation/source/namespace.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/namespace.rst 2023-02-28 19:59:39.000000000 +0000 @@ -45,7 +45,6 @@ use the :ref:`breathe_default_members ` configuration variable to set it in the ``conf.py``. -.. contents:: Basic Example @@ -85,12 +84,13 @@ .. doxygennamespace:: foo :project: namespace :content-only: + :no-link: .. note:: As you can see from the output, section headings like 'Functions' are missing - from the :content-only: display. This is due to an implementation detail. If - post an issue on github if you'd like it addressed. + from the ``:content-only:`` display. This is due to an implementation detail. Open + an issue on github if you'd like it addressed. Members Example @@ -103,7 +103,7 @@ be produced by the :ref:`doxygenclass directive ` with the ``members`` option specified. -:: +.. code-block:: rst .. doxygennamespace:: foo :project: namespace @@ -114,6 +114,7 @@ .. doxygennamespace:: foo :project: namespace :members: + :no-link: Protected Members Example @@ -126,7 +127,7 @@ as if it had be produced by the :ref:`doxygenclass directive ` with the ``protected-members`` option specified. -:: +.. code-block:: rst .. doxygennamespace:: foo :project: namespace @@ -137,6 +138,7 @@ .. doxygennamespace:: foo :project: namespace :protected-members: + :no-link: Private-Members Example @@ -160,7 +162,7 @@ .. doxygennamespace:: foo :project: namespace :private-members: - + :no-link: Undocumented Members Example ---------------------------- @@ -184,6 +186,7 @@ :project: namespace :private-members: :undoc-members: + :no-link: .. note:: @@ -213,6 +216,7 @@ :project: namespace :members: :outline: + :no-link: Nested Example @@ -231,7 +235,7 @@ .. doxygennamespace:: foo::ns :project: namespace - + :no-link: Failing Example --------------- @@ -247,6 +251,7 @@ It produces the following warning message: -.. warning:: doxygennamespace: Cannot find namespace “madeupnamespace” in - doxygen xml output for project “namespace” from directory: - ../../examples/specific/namespacefile/xml/ +.. warning:: + doxygennamespace: Cannot find namespace “madeupnamespace” in + doxygen xml output for project “namespace” from directory: + ../../examples/specific/namespacefile/xml/ diff -Nru breathe-4.34.0/documentation/source/page.rst breathe-4.35.0/documentation/source/page.rst --- breathe-4.34.0/documentation/source/page.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/page.rst 2023-02-28 19:59:39.000000000 +0000 @@ -11,7 +11,7 @@ It takes the standard ``project`` and ``path`` options. -:: +.. code-block:: rst .. doxygenpage:: :project: ... @@ -19,7 +19,6 @@ .. _doxygen documentation: https://www.doxygen.nl/manual/commands.html#cmdxrefitem -.. contents:: Basic Example @@ -56,5 +55,6 @@ It produces the following warning message: -.. warning:: Cannot find file "madeuppage" in doxygen xml output for project - "xrefsect" from directory: ../../examples/specific/xrefsect/xml/ +.. warning:: + Cannot find file "madeuppage" in doxygen xml output for project + "xrefsect" from directory: ../../examples/specific/xrefsect/xml/ diff -Nru breathe-4.34.0/documentation/source/quickstart.rst breathe-4.35.0/documentation/source/quickstart.rst --- breathe-4.34.0/documentation/source/quickstart.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/quickstart.rst 2023-02-28 19:59:39.000000000 +0000 @@ -14,28 +14,39 @@ * doxygen xml output: :file:`/home/me/docproj/doxyxml/` The documentation path should contain a folder :file:`source` containing the -:file:`conf.py` file. The doxygen xml output folder should contain the +:file:`conf.py` file. The doxygen xml output folder should contain the :file:`index.xml` output file generated by doxygen. The following steps are required to integrate breathe functionality: -#. Add the breathe path to your conf.py by adding the following line:: +#. Add the breathe path to your conf.py by adding the following line: - sys.path.append( "/home/me/docproj/ext/breathe/" ) + .. code-block:: python -#. Add breathe as an extension the line could look like this:: + sys.path.append("/home/me/docproj/ext/breathe/") - extensions = ['sphinx.ext.pngmath', 'sphinx.ext.todo', 'breathe' ] +#. Add breathe as an extension the line could look like this: -#. Tell breathe about the projects:: + .. code-block:: python - breathe_projects = { "myproject": "/home/me/docproj/doxyxml/" } + extensions = ['sphinx.ext.pngmath', 'sphinx.ext.todo', 'breathe' ] -#. Specify a default project:: +#. Tell breathe about the projects: - breathe_default_project = "myproject" + .. code-block:: python -Once this is done you may use the following commands:: + breathe_projects = {"myproject": "/home/me/docproj/doxyxml/"} + +#. Specify a default project: + + .. code-block:: python + + breathe_default_project = "myproject" + +Once this is done you may use the following commands to include documentation for different +constructs: + +.. code-block:: rst .. doxygenindex:: .. doxygenfunction:: @@ -44,8 +55,7 @@ .. doxygentypedef:: .. doxygenclass:: -to include documentation for different constructs. For each of these commands the -the following directives may be specified: +For each of these commands the following directives may be specified: ``project`` Specifies which project, as defined in the breathe_projects config value, diff -Nru breathe-4.34.0/documentation/source/readthedocs.rst breathe-4.35.0/documentation/source/readthedocs.rst --- breathe-4.34.0/documentation/source/readthedocs.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/readthedocs.rst 2023-02-28 19:59:39.000000000 +0000 @@ -37,7 +37,7 @@ if read_the_docs_build: - subprocess.call('cd ../doxygen; doxygen', shell=True) + subprocess.call('cd ../doxygen; doxygen', shell=True) The first line uses the ``READTHEDOCS`` environment variable to determine whether or not we are building on the Read the Docs servers. Read the Docs @@ -63,39 +63,37 @@ .. code-block:: python - import subprocess, sys + import subprocess, sys - def run_doxygen(folder): - """Run the doxygen make command in the designated folder""" + def run_doxygen(folder): + """Run the doxygen make command in the designated folder""" - try: - retcode = subprocess.call("cd %s; make" % folder, shell=True) - if retcode < 0: - sys.stderr.write("doxygen terminated by signal %s" % (-retcode)) - except OSError as e: - sys.stderr.write("doxygen execution failed: %s" % e) + try: + retcode = subprocess.call("cd %s; make" % folder, shell=True) + if retcode < 0: + sys.stderr.write("doxygen terminated by signal %s" % (-retcode)) + except OSError as e: + sys.stderr.write("doxygen execution failed: %s" % e) - def generate_doxygen_xml(app): - """Run the doxygen make commands if we're on the ReadTheDocs server""" + def generate_doxygen_xml(app): + """Run the doxygen make commands if we're on the ReadTheDocs server""" - read_the_docs_build = os.environ.get('READTHEDOCS', None) == 'True' + read_the_docs_build = os.environ.get('READTHEDOCS', None) == 'True' - if read_the_docs_build: + if read_the_docs_build: - run_doxygen("../../examples/doxygen") - run_doxygen("../../examples/specific") - run_doxygen("../../examples/tinyxml") + run_doxygen("../../examples/doxygen") + run_doxygen("../../examples/specific") + run_doxygen("../../examples/tinyxml") - def setup(app): + def setup(app): - # Add hook for building doxygen xml when needed - app.connect("builder-inited", generate_doxygen_xml) + # Add hook for building doxygen xml when needed + app.connect("builder-inited", generate_doxygen_xml) .. _Read the Docs: https://readthedocs.org/ .. _Github: https://github.com .. _Bitbucket: https://bitbucket.org .. _specifically for this purpose: https://docs.readthedocs.org/en/latest/faq.html#how-do-i-change-behavior-for-read-the-docs - - diff -Nru breathe-4.34.0/documentation/source/specific.rst breathe-4.35.0/documentation/source/specific.rst --- breathe-4.34.0/documentation/source/specific.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/specific.rst 2023-02-28 19:59:39.000000000 +0000 @@ -27,13 +27,13 @@ .. cpp:namespace:: @ex_specific_namespaced_function -.. doxygenfunction:: testnamespace::NamespacedClassTest::function +.. doxygenfunction:: TestNamespaceClasses::NamespacedClassTest::function :path: ../../examples/specific/class/xml -.. doxygenfunction:: testnamespace::ClassTest::function +.. doxygenfunction:: TestNamespaceClasses::ClassTest::function :path: ../../examples/specific/class/xml -.. doxygenfunction:: testnamespace::ClassTest::anotherFunction +.. doxygenfunction:: TestNamespaceClasses::ClassTest::anotherFunction :path: ../../examples/specific/class/xml .. doxygenfunction:: ClassTest::function @@ -63,20 +63,11 @@ .. cpp:namespace:: @ex_specific_extern_examples -.. doxygenfunction:: cache_tree_matches_traversal +.. doxygenfunction:: cache_tree_free :project: c_file - -.. doxygenvariable:: global_cache_tree +.. doxygenstruct:: cache_tree :project: c_file - - -Alias Example -------------- - -.. cpp:namespace:: @ex_specific_alias - -.. doxygenfunction:: frob_foos - :path: ../../examples/specific/alias/xml + :outline: Fixed Width Font ---------------- @@ -241,7 +232,11 @@ .. cpp:namespace:: @ex_specific_cpp_inherited_members -.. doxygenfile:: cpp_inherited_members.h +.. doxygenclass:: Base + :project: cpp_inherited_members +.. doxygenclass:: A + :project: cpp_inherited_members +.. doxygenclass:: B :project: cpp_inherited_members C++ Trailing Return Type @@ -313,7 +308,7 @@ Doxygen simplesect ----------------- +------------------ .. doxygenfile:: simplesect.h :project: simplesect diff -Nru breathe-4.34.0/documentation/source/spelling_wordlist.txt breathe-4.35.0/documentation/source/spelling_wordlist.txt --- breathe-4.34.0/documentation/source/spelling_wordlist.txt 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/spelling_wordlist.txt 2023-02-28 19:59:39.000000000 +0000 @@ -38,7 +38,6 @@ inline License autodoc -mux renderers github heesch diff -Nru breathe-4.34.0/documentation/source/_static/breathe.css breathe-4.35.0/documentation/source/_static/breathe.css --- breathe-4.34.0/documentation/source/_static/breathe.css 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/_static/breathe.css 2023-02-28 19:59:39.000000000 +0000 @@ -1,13 +1,113 @@ - /* -- breathe specific styles ----------------------------------------------- */ /* So enum value descriptions are displayed inline to the item */ .breatheenumvalues li tt + p { - display: inline; + display: inline; } /* So parameter descriptions are displayed inline to the item */ .breatheparameterlist li tt + p { - display: inline; + display: inline; +} + +:root { + --color-brand-primary-light: hsl(205deg, 52%, 39%); + --color-brand-primary-dark: hsl(205deg, 65%, 65%); + --breathe-str-char-color-dark: hsl(41, 85%, 46%); + --breathe-str-char-color-light: hsl(41, 89%, 37%); + --breathe-keyword-type-color-dark: hsl(256, 100%, 65%); + --breathe-keyword-type-color-light: hsl(276, 85%, 29%); + --breathe-number-color-dark: hsl(157, 81%, 50%); + --breathe-number-color-light: hsl(157, 93%, 32%); + --breathe-name-color-dark: hsl(88, 72%, 56%); + --breathe-name-color-light: hsl(88, 100%, 28%); +} + +/* ************************************************** */ +/* rules to uniform color scheme with breathe-doc.org */ + +body { + --color-brand-primary: var(--color-brand-primary-light); + --color-brand-content: var(--color-brand-primary-light); + --breathe-str-char-color: var(--breathe-str-char-color-light); + --breathe-keyword-type-color: var(--breathe-keyword-type-color-light); + --breathe-number-color: var(--breathe-number-color-light); + --breathe-name-color: var(--breathe-name-color-light); +} + +/* Enable dark-mode, if requested. */ +body[data-theme="dark"] { + --color-brand-primary: var(--color-brand-primary-dark); + --color-brand-content: var(--color-brand-primary-dark); + --breathe-str-char-color: var(--breathe-str-char-color-dark); + --breathe-keyword-type-color: var(--breathe-keyword-type-color-dark); + --breathe-number-color: var(--breathe-number-color-dark); + --breathe-name-color: var(--breathe-name-color-dark); +} + +/* Enable dark mode, unless explicitly told to avoid. */ +@media (prefers-color-scheme: dark) { + body:not([data-theme="light"]) { + --color-brand-primary: var(--color-brand-primary-dark); + --color-brand-content: var(--color-brand-primary-dark); + --breathe-str-char-color: var(--breathe-str-char-color-dark); + --breathe-keyword-type-color: var(--breathe-keyword-type-color-dark); + --breathe-number-color: var(--breathe-number-color-dark); + --breathe-name-color: var(--breathe-name-color-dark); + } +} + +.mobile-header { + /* background-color: var(--color-header-background); */ + background-color: #003c66; +} + +.mobile-header .toc-overlay-icon .icon { + /* color: var(--color-foreground-secondary); */ + color: white; +} + +.mobile-header .header-center a { + /* color: var(--color-header-text); */ + color: white; +} + +.mobile-header .theme-toggle svg { + /* color: var(--color-foreground-primary); */ + color: white; +} + +/* C++ specific styling */ + +.highlight { + /* desaturate that ugly yellow color used by most other theme's code snippets */ + background-color: var(--color-api-background); /* for light theme only */ +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: var(--breathe-keyword-type-color); } +.sig.c .m, +.sig.cpp .m { + color: var(--breathe-number-color); +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: var(--breathe-str-char-color); +} + +.sig > .n { + color: var(--breathe-name-color); +} + +/* +bugfix for multi-lined signatures +(see https://github.com/pradyunsg/furo/discussions/427 ) +*/ +.sig { + padding-left: 0.5em; + text-indent: revert; +} Binary files /tmp/tmp518l69q_/5QTny35hK4/breathe-4.34.0/documentation/source/_static/favicon.ico and /tmp/tmp518l69q_/GmGTqhCr19/breathe-4.35.0/documentation/source/_static/favicon.ico differ diff -Nru breathe-4.34.0/documentation/source/_static/logo.svg breathe-4.35.0/documentation/source/_static/logo.svg --- breathe-4.34.0/documentation/source/_static/logo.svg 1970-01-01 00:00:00.000000000 +0000 +++ breathe-4.35.0/documentation/source/_static/logo.svg 2023-02-28 19:59:39.000000000 +0000 @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru breathe-4.34.0/documentation/source/struct.rst breathe-4.35.0/documentation/source/struct.rst --- breathe-4.34.0/documentation/source/struct.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/struct.rst 2023-02-28 19:59:39.000000000 +0000 @@ -44,7 +44,6 @@ use the :ref:`breathe_default_members ` configuration variable to set it in the ``conf.py``. -.. contents:: Basic Example @@ -84,7 +83,7 @@ .. doxygenstruct:: StructTest :project: struct :members: - + :no-link: Specific Members Example ------------------------ @@ -105,7 +104,7 @@ .. doxygenstruct:: StructTest :project: struct :members: publicFunction, protectedFunction - + :no-link: Protected Members ----------------- @@ -126,7 +125,7 @@ .. doxygenstruct:: StructTest :project: struct :protected-members: - + :no-link: Private Members --------------- @@ -147,7 +146,7 @@ .. doxygenstruct:: StructTest :project: struct :private-members: - + :no-link: Undocumented Members -------------------- @@ -174,6 +173,7 @@ :members: :private-members: :undoc-members: + :no-link: .. note:: @@ -220,7 +220,7 @@ :project: struct :members: :outline: - + :no-link: Failing Example --------------- @@ -237,7 +237,6 @@ It produces the following warning message: -.. warning:: doxygenstruct: Cannot find struct “made_up_struct” in doxygen xml +.. warning:: + doxygenstruct: Cannot find struct "made_up_struct" in doxygen xml output for project “struct” from directory: ../../examples/doxygen/struct/xml/ - - diff -Nru breathe-4.34.0/documentation/source/tables.rst breathe-4.35.0/documentation/source/tables.rst --- breathe-4.34.0/documentation/source/tables.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/tables.rst 2023-02-28 19:59:39.000000000 +0000 @@ -6,7 +6,9 @@ .. cpp:namespace:: @ex_tables_simple -A simple Markdown syntax table :: +A simple Markdown syntax table: + +.. code-block:: rst .. doxygenclass:: Table_1 :project: tables @@ -22,7 +24,9 @@ .. cpp:namespace:: @ex_tables_aligned -A Markdown syntax table with alignment :: +A Markdown syntax table with alignment: + +.. code-block:: rst .. doxygenclass:: Table_2 :project: tables @@ -38,7 +42,9 @@ .. cpp:namespace:: @ex_tables_rowspan -A Markdown syntax table with rowspan (and alignment) :: +A Markdown syntax table with rowspan (and alignment): + +.. code-block:: rst .. doxygenclass:: Table_3 :project: tables @@ -56,7 +62,9 @@ .. cpp:namespace:: @ex_tables_colspan -A Markdown syntax table with colspan (and alignment) :: +A Markdown syntax table with colspan (and alignment): + +.. code-block:: rst .. doxygenclass:: Table_4 :project: tables @@ -74,7 +82,9 @@ .. cpp:namespace:: @ex_tables_doxygen -A Doxygen syntax table :: +A Doxygen syntax table: + +.. code-block:: rst .. doxygenclass:: Table_5 :project: tables diff -Nru breathe-4.34.0/documentation/source/template.rst breathe-4.35.0/documentation/source/template.rst --- breathe-4.34.0/documentation/source/template.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/template.rst 2023-02-28 19:59:39.000000000 +0000 @@ -4,7 +4,9 @@ .. cpp:namespace:: @ex_template_first Breathe has support for class and function templates. They are output as -follows. For a class with a single template parameter:: +follows. For a class with a single template parameter: + +.. code-block:: rst .. doxygenclass:: templateclass :project: template_class @@ -62,6 +64,3 @@ .. doxygenfunction:: function2 :project: template_function - - - diff -Nru breathe-4.34.0/documentation/source/testpages.rst breathe-4.35.0/documentation/source/testpages.rst --- breathe-4.34.0/documentation/source/testpages.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/testpages.rst 2023-02-28 19:59:39.000000000 +0000 @@ -11,5 +11,3 @@ embeddedrst inline members - examples/codeblocks - diff -Nru breathe-4.34.0/documentation/source/typedef.rst breathe-4.35.0/documentation/source/typedef.rst --- breathe-4.34.0/documentation/source/typedef.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/typedef.rst 2023-02-28 19:59:39.000000000 +0000 @@ -9,7 +9,9 @@ .. cpp:namespace:: @ex_typedef_example -This should work:: +This should work: + +.. code-block:: rst .. doxygentypedef:: UINT32 :project: structcmd @@ -24,7 +26,9 @@ .. cpp:namespace:: @ex_typedef_namespace -This should work:: +This should work: + +.. code-block:: rst .. doxygentypedef:: foo::ns::MyInt :project: namespace @@ -39,12 +43,14 @@ .. cpp:namespace:: @ex_typedef_failing -This intentionally fails:: +This intentionally fails: + +.. code-block:: rst .. doxygentypedef:: made_up_typedef :project: restypedef It produces the following warning message: -.. warning:: doxygentypedef: Cannot find typedef "made_up_typedef" in doxygen xml output - +.. warning:: + doxygentypedef: Cannot find typedef "made_up_typedef" in doxygen xml output diff -Nru breathe-4.34.0/documentation/source/union.rst breathe-4.35.0/documentation/source/union.rst --- breathe-4.34.0/documentation/source/union.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/union.rst 2023-02-28 19:59:39.000000000 +0000 @@ -9,7 +9,9 @@ .. cpp:namespace:: @ex_union_example -This should work:: +This should work: + +.. code-block:: rst .. doxygenunion:: SeparateUnion :project: union @@ -24,7 +26,9 @@ .. cpp:namespace:: @ex_union_namespace -This should work:: +This should work: + +.. code-block:: rst .. doxygenunion:: foo::MyUnion :project: union @@ -39,13 +43,15 @@ .. cpp:namespace:: @ex_union_failing -This intentionally fails:: +This intentionally fails: + +.. code-block:: rst .. doxygenunion:: made_up_union :project: union It produces the following warning message: -.. warning:: doxygenunion: Cannot find union "made_up_union" in doxygen XML +.. warning:: + doxygenunion: Cannot find union "made_up_union" in doxygen XML output for project "union" from directory: ../../examples/specific/union/xml/ - diff -Nru breathe-4.34.0/documentation/source/variable.rst breathe-4.35.0/documentation/source/variable.rst --- breathe-4.34.0/documentation/source/variable.rst 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/documentation/source/variable.rst 2023-02-28 19:59:39.000000000 +0000 @@ -9,7 +9,9 @@ .. cpp:namespace:: @ex_variable_example -This should work:: +This should work: + +.. code-block:: rst .. doxygenvariable:: global_cache_tree :project: c_file @@ -24,11 +26,15 @@ .. cpp:namespace:: @ex_variable_failing -This intentionally fails:: +This intentionally fails: + +.. code-block:: rst .. doxygenvariable:: made_up_variable :project: define It produces the following warning message: -.. warning:: doxygenvariable: Cannot find variable “made_up_variable” in doxygen XML output for project “tinyxml” from directory: ../../examples/tinyxml/tinyxml/xml/ +.. warning:: + doxygenvariable: Cannot find variable “made_up_variable” in doxygen XML output for project + "tinyxml" from directory: ../../examples/tinyxml/tinyxml/xml/ diff -Nru breathe-4.34.0/examples/doxygen/autolink.cpp breathe-4.35.0/examples/doxygen/autolink.cpp --- breathe-4.34.0/examples/doxygen/autolink.cpp 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/doxygen/autolink.cpp 2023-02-28 19:59:39.000000000 +0000 @@ -12,7 +12,7 @@ A link to the global enumeration type #GlobEnum. - A link to the define #ABS(x). + A link to the define #ABS_NUMBER(x). A link to the destructor of the Test2 class: Test2::~Test2, @@ -42,7 +42,7 @@ A link to the global enumeration type #GlobEnum. - A link to the define ABS(x). + A link to the define ABS_NUMBER(x). A link to a variable \link #var using another text\endlink as a link. @@ -92,7 +92,7 @@ /*! * A macro definition. */ -#define ABS(x) (((x)>0)?(x):-(x)) +#define ABS_NUMBER(x) (((x)>0)?(x):-(x)) typedef Test2 Test2TypeDef; diff -Nru breathe-4.34.0/examples/doxygen/enum.h breathe-4.35.0/examples/doxygen/enum.h --- breathe-4.34.0/examples/doxygen/enum.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/doxygen/enum.h 2023-02-28 19:59:39.000000000 +0000 @@ -10,6 +10,7 @@ V2 /*!< value 2 */ }; + /*! Another enum, with inline docs (using an explicit datatype) */ enum class AnotherScopedEnum : long { V1, /*!< value 1 */ diff -Nru breathe-4.34.0/examples/doxygen/example_test.cpp breathe-4.35.0/examples/doxygen/example_test.cpp --- breathe-4.34.0/examples/doxygen/example_test.cpp 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/doxygen/example_test.cpp 2023-02-28 19:59:39.000000000 +0000 @@ -1,5 +1,5 @@ void main() { - Test5 t; + Test7 t; t.example(); } diff -Nru breathe-4.34.0/examples/doxygen/.gitignore breathe-4.35.0/examples/doxygen/.gitignore --- breathe-4.34.0/examples/doxygen/.gitignore 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/doxygen/.gitignore 2023-02-28 19:59:39.000000000 +0000 @@ -15,7 +15,6 @@ jdstyle manual memgrp -mux overload page par diff -Nru breathe-4.34.0/examples/doxygen/Makefile breathe-4.35.0/examples/doxygen/Makefile --- breathe-4.34.0/examples/doxygen/Makefile 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/doxygen/Makefile 2023-02-28 19:59:39.000000000 +0000 @@ -45,7 +45,6 @@ memgrp/xml/index.xml \ docstring/xml/index.xml \ pyexample/xml/index.xml \ - mux/xml/index.xml \ manual/xml/index.xml \ interface/xml/index.xml @@ -53,7 +52,7 @@ rm -rf class concept define enum file func page relates author \ par parblock overload example include qtstyle jdstyle structcmd \ autolink tag restypedef afterdoc template tag group diagrams \ - memgrp docstring pyexample mux manual interface + memgrp docstring pyexample manual interface class/xml/index.xml: class.h class.cfg $(DOXYGEN) class.cfg @@ -132,9 +131,6 @@ pyexample/xml/index.xml: pyexample.py pyexample.cfg $(DOXYGEN) pyexample.cfg -mux/xml/index.xml: mux.vhdl mux.cfg - $(DOXYGEN) mux.cfg - manual/xml/index.xml: manual.c manual.cfg $(DOXYGEN) manual.cfg diff -Nru breathe-4.34.0/examples/doxygen/memgrp.cfg breathe-4.35.0/examples/doxygen/memgrp.cfg --- breathe-4.34.0/examples/doxygen/memgrp.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/doxygen/memgrp.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -10,3 +10,5 @@ JAVADOC_AUTOBRIEF = YES GENERATE_HTML = NO GENERATE_XML = YES + +WARN_IF_UNDOCUMENTED = NO \ No newline at end of file diff -Nru breathe-4.34.0/examples/doxygen/memgrp.cpp breathe-4.35.0/examples/doxygen/memgrp.cpp --- breathe-4.34.0/examples/doxygen/memgrp.cpp 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/doxygen/memgrp.cpp 2023-02-28 19:59:39.000000000 +0000 @@ -10,6 +10,7 @@ /** Function without group. Details. */ void ungroupedFunction(); + // intentionally not documenting this member? void func1InGroup2(); protected: void func2InGroup2(); diff -Nru breathe-4.34.0/examples/doxygen/mux.cfg breathe-4.35.0/examples/doxygen/mux.cfg --- breathe-4.34.0/examples/doxygen/mux.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/doxygen/mux.cfg 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -PROJECT_NAME = Mux -OUTPUT_DIRECTORY = mux -GENERATE_LATEX = NO -GENERATE_MAN = NO -GENERATE_RTF = NO -CASE_SENSE_NAMES = NO -INPUT = mux.vhdl -OPTIMIZE_OUTPUT_VHDL = YES -QUIET = YES -INHERIT_DOCS = YES -EXTRACT_PRIVATE = YES -HIDE_SCOPE_NAMES = YES -INHERIT_DOCS = NO -GENERATE_HTML = NO -GENERATE_XML = YES diff -Nru breathe-4.34.0/examples/doxygen/mux.vhdl breathe-4.35.0/examples/doxygen/mux.vhdl --- breathe-4.34.0/examples/doxygen/mux.vhdl 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/doxygen/mux.vhdl 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ -------------------------------------------------------- ---! @file ---! @brief 2:1 Mux using with-select -------------------------------------------------------- - ---! Use standard library -library ieee; ---! Use logic elements - use ieee.std_logic_1164.all; - ---! Mux entity brief description - ---! Detailed description of this ---! mux design element. -entity mux_using_with is - port ( - din_0 : in std_logic; --! Mux first input - din_1 : in std_logic; --! Mux Second input - sel : in std_logic; --! Select input - mux_out : out std_logic --! Mux output - ); -end entity; - ---! @brief Architecture definition of the MUX ---! @details More details about this mux element. -architecture behavior of mux_using_with is -begin - with (sel) select - mux_out <= din_0 when '0', - din_1 when others; -end architecture; - diff -Nru breathe-4.34.0/examples/doxygen/structcmd.h breathe-4.35.0/examples/doxygen/structcmd.h --- breathe-4.34.0/examples/doxygen/structcmd.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/doxygen/structcmd.h 2023-02-28 19:59:39.000000000 +0000 @@ -4,7 +4,7 @@ Details. */ -/*! \def MAX(a,b) +/*! \def MAX_NUMBER(a,b) \brief A macro that returns the maximum of \a a and \a b. Details. @@ -50,7 +50,7 @@ \param count The number of bytes to read. */ -#define MAX(a,b) (((a)>(b))?(a):(b)) +#define MAX_NUMBER(a,b) (((a)>(b))?(a):(b)) typedef unsigned int UINT32; int errno; int open(const char *,int); diff -Nru breathe-4.34.0/examples/doxygen/tag.cfg breathe-4.35.0/examples/doxygen/tag.cfg --- breathe-4.34.0/examples/doxygen/tag.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/doxygen/tag.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -6,7 +6,6 @@ CASE_SENSE_NAMES = NO INPUT = tag.cpp TAGFILES = example.tag=../../example/html -PERL_PATH = perl QUIET = YES JAVADOC_AUTOBRIEF = YES GENERATE_HTML = NO diff -Nru breathe-4.34.0/examples/specific/alias.cfg breathe-4.35.0/examples/specific/alias.cfg --- breathe-4.34.0/examples/specific/alias.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/alias.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -9,5 +9,4 @@ JAVADOC_AUTOBRIEF = YES GENERATE_HTML = NO GENERATE_XML = YES -ALIASES = "sideeffect=\par Side Effects\n" - +ALIASES = "sideeffect=\par Side Effects^^" diff -Nru breathe-4.34.0/examples/specific/alias.h breathe-4.35.0/examples/specific/alias.h --- breathe-4.34.0/examples/specific/alias.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/alias.h 2023-02-28 19:59:39.000000000 +0000 @@ -1,17 +1,15 @@ -/*! @file */ +/*! @file alias.h */ /** * Foo frob routine. * \par bob this something else * @sideeffect Frobs any foos. - * @return Frobs any foos. * * \par bob this something else * * @sideeffect Frobs any foos. * - * @param Frobs any foos. + * @param[out] Frobs any foos. */ void frob_foos(void* Frobs); - diff -Nru breathe-4.34.0/examples/specific/array.cfg breathe-4.35.0/examples/specific/array.cfg --- breathe-4.34.0/examples/specific/array.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/array.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -9,4 +9,4 @@ JAVADOC_AUTOBRIEF = YES GENERATE_HTML = NO GENERATE_XML = YES - +OPTIMIZE_OUTPUT_FOR_C = YES \ No newline at end of file diff -Nru breathe-4.34.0/examples/specific/array.h breathe-4.35.0/examples/specific/array.h --- breathe-4.34.0/examples/specific/array.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/array.h 2023-02-28 19:59:39.000000000 +0000 @@ -2,6 +2,12 @@ /** My function */ int foo(int a[5]); -/** My other function */ -int bar(int n, int a[static n]); - +/** My other function + * + * @test This declaration is supposed to be + * @code{.c} + * int bar(int n, int a[static n]); + * @endcode + * But, Sphinx fails to recognize `int a[static n])` as a C specific array syntax + */ +int bar(int n, int a[]); diff -Nru breathe-4.34.0/examples/specific/c_file.cfg breathe-4.35.0/examples/specific/c_file.cfg --- breathe-4.34.0/examples/specific/c_file.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/c_file.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -9,3 +9,5 @@ JAVADOC_AUTOBRIEF = YES GENERATE_HTML = NO GENERATE_XML = YES + +WARN_IF_UNDOCUMENTED = NO diff -Nru breathe-4.34.0/examples/specific/c_file.h breathe-4.35.0/examples/specific/c_file.h --- breathe-4.34.0/examples/specific/c_file.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/c_file.h 2023-02-28 19:59:39.000000000 +0000 @@ -26,7 +26,7 @@ extern struct cache_tree global_cache_tree; struct cache_tree *cache_tree(void); -void cache_tree_free(struct cache_tree **); +extern void cache_tree_free(struct cache_tree **); void cache_tree_invalidate_path(struct cache_tree *, const char *); struct cache_tree_sub *cache_tree_sub(struct cache_tree *, const char *); @@ -51,4 +51,3 @@ extern int cache_tree_matches_traversal(struct cache_tree *, struct name_entry *ent, struct traverse_info *info); #endif - diff -Nru breathe-4.34.0/examples/specific/class.cfg breathe-4.35.0/examples/specific/class.cfg --- breathe-4.34.0/examples/specific/class.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/class.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -9,3 +9,5 @@ JAVADOC_AUTOBRIEF = YES GENERATE_HTML = NO GENERATE_XML = YES + +WARN_IF_UNDOCUMENTED = NO diff -Nru breathe-4.34.0/examples/specific/class.h breathe-4.35.0/examples/specific/class.h --- breathe-4.34.0/examples/specific/class.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/class.h 2023-02-28 19:59:39.000000000 +0000 @@ -1,5 +1,6 @@ +#include -namespace testnamespace { +namespace TestNamespaceClasses { //! \brief first class inside of namespace class NamespacedClassTest { @@ -32,7 +33,7 @@ }; -} +} // TestNamespaceClasses //! \brief class outside of namespace class OuterClass { @@ -94,9 +95,9 @@ private: //! This is a private function - void privateFunction() const = 0; + virtual void privateFunction() const = 0; - void undocumentedPrivateFunction() const = 0; + virtual void undocumentedPrivateFunction() const = 0; //! A private class class PrivateClass {}; diff -Nru breathe-4.34.0/examples/specific/cpp_anon.cfg breathe-4.35.0/examples/specific/cpp_anon.cfg --- breathe-4.34.0/examples/specific/cpp_anon.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/cpp_anon.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -9,3 +9,5 @@ JAVADOC_AUTOBRIEF = YES GENERATE_HTML = NO GENERATE_XML = YES + +WARN_IF_UNDOCUMENTED = NO diff -Nru breathe-4.34.0/examples/specific/cpp_friendclass.cfg breathe-4.35.0/examples/specific/cpp_friendclass.cfg --- breathe-4.34.0/examples/specific/cpp_friendclass.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/cpp_friendclass.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -9,3 +9,5 @@ JAVADOC_AUTOBRIEF = YES GENERATE_HTML = NO GENERATE_XML = YES + +WARN_IF_UNDOCUMENTED = NO diff -Nru breathe-4.34.0/examples/specific/cpp_function.cfg breathe-4.35.0/examples/specific/cpp_function.cfg --- breathe-4.34.0/examples/specific/cpp_function.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/cpp_function.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -9,3 +9,5 @@ JAVADOC_AUTOBRIEF = YES GENERATE_HTML = NO GENERATE_XML = YES + +WARN_IF_UNDOCUMENTED = NO diff -Nru breathe-4.34.0/examples/specific/cpp_function.h breathe-4.35.0/examples/specific/cpp_function.h --- breathe-4.34.0/examples/specific/cpp_function.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/cpp_function.h 2023-02-28 19:59:39.000000000 +0000 @@ -1,3 +1,4 @@ +struct Foo{}; struct Class { virtual void f1() const volatile & = 0; virtual void f2() const volatile && = 0; @@ -8,3 +9,9 @@ int f_issue_338() noexcept; }; + +/** A namespace to demonstrate a namespaced function */ +namespace TestNamespaceFunction { +/** A function within a namspace. */ +void namespaceFunc(); +} diff -Nru breathe-4.34.0/examples/specific/cpp_trailing_return_type.h breathe-4.35.0/examples/specific/cpp_trailing_return_type.h --- breathe-4.34.0/examples/specific/cpp_trailing_return_type.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/cpp_trailing_return_type.h 2023-02-28 19:59:39.000000000 +0000 @@ -1,4 +1,7 @@ -class Thingy; +/*! \file cpp_trailing_return_type.h */ + +/*! needed for references in global function return type */ +class Thingy {}; //! \brief Function that creates a thingy. auto f_issue_441() -> Thingy*; diff -Nru breathe-4.34.0/examples/specific/cpp_union.cfg breathe-4.35.0/examples/specific/cpp_union.cfg --- breathe-4.34.0/examples/specific/cpp_union.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/cpp_union.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -9,3 +9,5 @@ JAVADOC_AUTOBRIEF = YES GENERATE_HTML = NO GENERATE_XML = YES + +WARN_IF_UNDOCUMENTED = NO diff -Nru breathe-4.34.0/examples/specific/c_struct.cfg breathe-4.35.0/examples/specific/c_struct.cfg --- breathe-4.34.0/examples/specific/c_struct.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/c_struct.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -9,3 +9,5 @@ JAVADOC_AUTOBRIEF = YES GENERATE_HTML = NO GENERATE_XML = YES + +WARN_IF_UNDOCUMENTED = NO diff -Nru breathe-4.34.0/examples/specific/c_union.cfg breathe-4.35.0/examples/specific/c_union.cfg --- breathe-4.34.0/examples/specific/c_union.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/c_union.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -9,3 +9,5 @@ JAVADOC_AUTOBRIEF = YES GENERATE_HTML = NO GENERATE_XML = YES + +WARN_IF_UNDOCUMENTED = NO diff -Nru breathe-4.34.0/examples/specific/decl_impl.c breathe-4.35.0/examples/specific/decl_impl.c --- breathe-4.34.0/examples/specific/decl_impl.c 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/decl_impl.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -/*! More detailed description - - Yeah and some more. -*/ -int open_di(const char * a, int b) { - return 0; -} - -namespace testnamespace { - -/*! Even more documentation. */ -int another_open_di(const char *,int) -{ - return 0; -} - -} - diff -Nru breathe-4.34.0/examples/specific/decl_impl.cfg breathe-4.35.0/examples/specific/decl_impl.cfg --- breathe-4.34.0/examples/specific/decl_impl.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/decl_impl.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -4,7 +4,7 @@ GENERATE_MAN = NO GENERATE_RTF = NO CASE_SENSE_NAMES = NO -INPUT = decl_impl.h decl_impl.c +INPUT = decl_impl.h decl_impl.cpp QUIET = YES JAVADOC_AUTOBRIEF = YES GENERATE_HTML = NO diff -Nru breathe-4.34.0/examples/specific/decl_impl.cpp breathe-4.35.0/examples/specific/decl_impl.cpp --- breathe-4.34.0/examples/specific/decl_impl.cpp 1970-01-01 00:00:00.000000000 +0000 +++ breathe-4.35.0/examples/specific/decl_impl.cpp 2023-02-28 19:59:39.000000000 +0000 @@ -0,0 +1,17 @@ +/*! More detailed description + + Yeah and some more. +*/ +int open_di(const char * pathname, int flags) { + return 0; +} + +namespace testnamespace { + +/*! Even more documentation. */ +int another_open_di(const char *,int) +{ + return 0; +} + +} diff -Nru breathe-4.34.0/examples/specific/define.h breathe-4.35.0/examples/specific/define.h --- breathe-4.34.0/examples/specific/define.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/define.h 2023-02-28 19:59:39.000000000 +0000 @@ -18,7 +18,7 @@ * * \returns The maximum of A and B */ -#define MAX(A,B) ((A > B)?(A):(B)) +#define MAXIMUM(A,B) ((A > B)?(A):(B)) /** diff -Nru breathe-4.34.0/examples/specific/dot_graphs.cfg breathe-4.35.0/examples/specific/dot_graphs.cfg --- breathe-4.34.0/examples/specific/dot_graphs.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/dot_graphs.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -11,3 +11,4 @@ JAVADOC_AUTOBRIEF = YES GENERATE_HTML = NO GENERATE_XML = YES +WARNINGS = NO diff -Nru breathe-4.34.0/examples/specific/enum.h breathe-4.35.0/examples/specific/enum.h --- breathe-4.34.0/examples/specific/enum.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/enum.h 2023-02-28 19:59:39.000000000 +0000 @@ -1,5 +1,5 @@ -namespace testnamespace { +namespace TestEnumNamespace { //! \brief enum inside of namespace enum NamespacedEnumTest { diff -Nru breathe-4.34.0/examples/specific/fixedwidthfont.cfg breathe-4.35.0/examples/specific/fixedwidthfont.cfg --- breathe-4.34.0/examples/specific/fixedwidthfont.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/fixedwidthfont.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -9,3 +9,5 @@ JAVADOC_AUTOBRIEF = YES GENERATE_HTML = NO GENERATE_XML = YES + +WARN_IF_UNDOCUMENTED = NO diff -Nru breathe-4.34.0/examples/specific/functionOverload.h breathe-4.35.0/examples/specific/functionOverload.h --- breathe-4.34.0/examples/specific/functionOverload.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/functionOverload.h 2023-02-28 19:59:39.000000000 +0000 @@ -1,3 +1,4 @@ +#include //! Non overloaded function void simplefunc(); @@ -18,8 +19,10 @@ } +/*! needed for references in global function parameters */ class MyType {}; +/*! needed for references in global function parameters */ class MyOtherType {}; //! Another function which takes a custom type diff -Nru breathe-4.34.0/examples/specific/group.cfg breathe-4.35.0/examples/specific/group.cfg --- breathe-4.34.0/examples/specific/group.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/group.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -11,3 +11,5 @@ JAVADOC_AUTOBRIEF = YES GENERATE_HTML = NO GENERATE_XML = YES + +WARN_IF_UNDOCUMENTED = NO diff -Nru breathe-4.34.0/examples/specific/group.h breathe-4.35.0/examples/specific/group.h --- breathe-4.34.0/examples/specific/group.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/group.h 2023-02-28 19:59:39.000000000 +0000 @@ -33,9 +33,9 @@ private: //! This is a private function - void privateFunction() const = 0; + virtual void privateFunction() const = 0; - void undocumentedPrivateFunction() const = 0; + virtual void undocumentedPrivateFunction() const = 0; //! A private class class PrivateClass {}; @@ -88,4 +88,3 @@ //! Ungrouped function void ungroupedFunction(); - diff -Nru breathe-4.34.0/examples/specific/headings.h breathe-4.35.0/examples/specific/headings.h --- breathe-4.34.0/examples/specific/headings.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/headings.h 2023-02-28 19:59:39.000000000 +0000 @@ -15,5 +15,4 @@ ### Header ### Text */ -class Test {}; - +class HeadingsTest {}; diff -Nru breathe-4.34.0/examples/specific/image.h breathe-4.35.0/examples/specific/image.h --- breathe-4.34.0/examples/specific/image.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/image.h 2023-02-28 19:59:39.000000000 +0000 @@ -6,6 +6,4 @@ * Breathe & Sphinx should automatically copy the image from the doxygen output directory into the * _images folder of the Sphinx output. */ -class ImageClass : public Image {} - - +class ImageClass {}; diff -Nru breathe-4.34.0/examples/specific/inline.h breathe-4.35.0/examples/specific/inline.h --- breathe-4.34.0/examples/specific/inline.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/inline.h 2023-02-28 19:59:39.000000000 +0000 @@ -1,5 +1,6 @@ - -class Test +#include +/** A class to demonstrate inline documentation syntax. */ +class InlineTest { public: /** A member function. @@ -14,4 +15,3 @@ throw(std::out_of_range); }; - diff -Nru breathe-4.34.0/examples/specific/links.h breathe-4.35.0/examples/specific/links.h --- breathe-4.34.0/examples/specific/links.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/links.h 2023-02-28 19:59:39.000000000 +0000 @@ -6,7 +6,4 @@ handling of links. */ -class Test {}; - - - +class LinksTest {}; diff -Nru breathe-4.34.0/examples/specific/Makefile breathe-4.35.0/examples/specific/Makefile --- breathe-4.34.0/examples/specific/Makefile 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/Makefile 2023-02-28 19:59:39.000000000 +0000 @@ -55,7 +55,7 @@ programlisting/xml/index.xml: programlisting.h programlisting.cfg programlistinginclude.txt $(DOXYGEN) programlisting.cfg -decl_impl/xml/index.xml: decl_impl.h decl_impl.c decl_impl.cfg +decl_impl/xml/index.xml: decl_impl.h decl_impl.cpp decl_impl.cfg $(DOXYGEN) decl_impl.cfg multifilexml/xml/index.xml: multifile/one/Util.h multifile/two/Util.h multifile.cfg diff -Nru breathe-4.34.0/examples/specific/multifile.cfg breathe-4.35.0/examples/specific/multifile.cfg --- breathe-4.34.0/examples/specific/multifile.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/multifile.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -10,3 +10,5 @@ JAVADOC_AUTOBRIEF = YES GENERATE_HTML = NO GENERATE_XML = YES + +WARN_IF_UNDOCUMENTED = NO diff -Nru breathe-4.34.0/examples/specific/namespacefile.cfg breathe-4.35.0/examples/specific/namespacefile.cfg --- breathe-4.34.0/examples/specific/namespacefile.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/namespacefile.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -9,3 +9,5 @@ JAVADOC_AUTOBRIEF = YES GENERATE_HTML = NO GENERATE_XML = YES + +WARN_IF_UNDOCUMENTED = NO diff -Nru breathe-4.34.0/examples/specific/namespacefile.h breathe-4.35.0/examples/specific/namespacefile.h --- breathe-4.34.0/examples/specific/namespacefile.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/namespacefile.h 2023-02-28 19:59:39.000000000 +0000 @@ -30,9 +30,9 @@ private: //! This is a private function - void privateFunction() const = 0; + virtual void privateFunction() const = 0; - void undocumentedPrivateFunction() const = 0; + virtual void undocumentedPrivateFunction() const = 0; //! A private class class PrivateClass {}; @@ -76,4 +76,3 @@ /** Function outside of the namespace */ void outerFunction() {}; - diff -Nru breathe-4.34.0/examples/specific/qtsignalsandslots.cfg breathe-4.35.0/examples/specific/qtsignalsandslots.cfg --- breathe-4.34.0/examples/specific/qtsignalsandslots.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/qtsignalsandslots.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -9,3 +9,5 @@ JAVADOC_AUTOBRIEF = YES GENERATE_HTML = NO GENERATE_XML = YES + +WARN_IF_UNDOCUMENTED = NO diff -Nru breathe-4.34.0/examples/specific/qtsignalsandslots.h breathe-4.35.0/examples/specific/qtsignalsandslots.h --- breathe-4.34.0/examples/specific/qtsignalsandslots.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/qtsignalsandslots.h 2023-02-28 19:59:39.000000000 +0000 @@ -1,7 +1,12 @@ #ifndef QT_OBJECT_H #define QT_OBJECT_H -#include +/*! +*\brief Forward declaration of QT API class + +QT slots and signals typically `#include `, but this example is parsed without QT SDK installed. +*/ +extern class QObject; class QtSignalSlotExample: public QObject { @@ -18,7 +23,7 @@ signals: /*! - *\param iShown + \param iShown This is in function declaration */ void workingSignal( int iShown ); @@ -26,7 +31,7 @@ public slots: /*! - *\param iShown + \param iShown This is in function declaration */ void workingSlot( int iShown ) { iShown; } diff -Nru breathe-4.34.0/examples/specific/rst.h breathe-4.35.0/examples/specific/rst.h --- breathe-4.34.0/examples/specific/rst.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/rst.h 2023-02-28 19:59:39.000000000 +0000 @@ -49,11 +49,9 @@ */ virtual void rawLeadingAsteriskVerbatim() const = 0; - ////////////////////////////////////////////////////////////// /// Some kind of method /// /// @param something a parameter - /// @returns the same value provided in something param /// /// @verbatim embed:rst:leading-slashes /// .. code-block:: c @@ -64,7 +62,8 @@ /// }; /// /// @endverbatim - ////////////////////////////////////////////////////////////// + /// @note Documentation using `///` should begin and end in a blank line. + virtual void rawLeadingSlashesVerbatim(int something) const = 0; /*! diff -Nru breathe-4.34.0/examples/specific/struct.cfg breathe-4.35.0/examples/specific/struct.cfg --- breathe-4.34.0/examples/specific/struct.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/struct.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -9,3 +9,5 @@ JAVADOC_AUTOBRIEF = YES GENERATE_HTML = NO GENERATE_XML = YES + +WARN_IF_UNDOCUMENTED = NO diff -Nru breathe-4.34.0/examples/specific/struct_function.cfg breathe-4.35.0/examples/specific/struct_function.cfg --- breathe-4.34.0/examples/specific/struct_function.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/struct_function.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -9,3 +9,5 @@ JAVADOC_AUTOBRIEF = YES GENERATE_HTML = NO GENERATE_XML = YES + +WARN_IF_UNDOCUMENTED = NO diff -Nru breathe-4.34.0/examples/specific/struct.h breathe-4.35.0/examples/specific/struct.h --- breathe-4.34.0/examples/specific/struct.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/struct.h 2023-02-28 19:59:39.000000000 +0000 @@ -64,14 +64,12 @@ private: //! This is a private function - void privateFunction() const = 0; + virtual void privateFunction() const = 0; - void undocumentedPrivateFunction() const = 0; + virtual void undocumentedPrivateFunction() const = 0; //! A private class class PrivateClass {}; class UndocumentedPrivateClass {}; }; - - diff -Nru breathe-4.34.0/examples/specific/typedef.cfg breathe-4.35.0/examples/specific/typedef.cfg --- breathe-4.34.0/examples/specific/typedef.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/typedef.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -9,3 +9,5 @@ JAVADOC_AUTOBRIEF = YES GENERATE_HTML = NO GENERATE_XML = YES + +WARN_IF_UNDOCUMENTED = NO diff -Nru breathe-4.34.0/examples/specific/typedef.h breathe-4.35.0/examples/specific/typedef.h --- breathe-4.34.0/examples/specific/typedef.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/typedef.h 2023-02-28 19:59:39.000000000 +0000 @@ -15,7 +15,7 @@ typedef int TestTypedef; -namespace testnamespace { +namespace TypeDefNamespace { typedef char *AnotherTypedef; } diff -Nru breathe-4.34.0/examples/specific/union.h breathe-4.35.0/examples/specific/union.h --- breathe-4.34.0/examples/specific/union.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/union.h 2023-02-28 19:59:39.000000000 +0000 @@ -34,6 +34,5 @@ { int a_member; float another_member; - } + }; }; - diff -Nru breathe-4.34.0/examples/specific/userdefined.cfg breathe-4.35.0/examples/specific/userdefined.cfg --- breathe-4.34.0/examples/specific/userdefined.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/userdefined.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -11,3 +11,4 @@ GENERATE_XML = YES DISTRIBUTE_GROUP_DOC = YES +WARN_IF_UNDOCUMENTED = NO diff -Nru breathe-4.34.0/examples/specific/userdefined.h breathe-4.35.0/examples/specific/userdefined.h --- breathe-4.34.0/examples/specific/userdefined.h 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/specific/userdefined.h 2023-02-28 19:59:39.000000000 +0000 @@ -1,7 +1,7 @@ // Example from Doxygen documentation -/** A class. More details about the Test class */ -class Test +/** A class. More details about the UserDefinedGroupTest class */ +class UserDefinedGroupTest { public: //@{ @@ -17,17 +17,15 @@ void func2InCustomGroup(); }; -void Test::func1InGroup1() {} -void Test::func2InGroup1() {} +void UserDefinedGroupTest::func1InGroup1() {} +void UserDefinedGroupTest::func2InGroup1() {} /** @name Custom Group * Description of custom group */ //@{ /** Function 2 in custom group. Details. */ -void Test::func2InCustomGroup() {} +void UserDefinedGroupTest::func2InCustomGroup() {} /** Function 1 in custom group. Details. */ -void Test::func1InCustomGroup() {} +void UserDefinedGroupTest::func1InCustomGroup() {} //@} - - diff -Nru breathe-4.34.0/examples/tinyxml/tinyxml.cfg breathe-4.35.0/examples/tinyxml/tinyxml.cfg --- breathe-4.34.0/examples/tinyxml/tinyxml.cfg 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/examples/tinyxml/tinyxml.cfg 2023-02-28 19:59:39.000000000 +0000 @@ -9,3 +9,8 @@ JAVADOC_AUTOBRIEF = YES GENERATE_HTML = NO GENERATE_XML = YES + +# tinyxml.h is huge! Ignore any problems since the project is not maintained (moved to TinyXML-2 project). +WARN_IF_UNDOCUMENTED = NO +WARN_IF_INCOMPLETE_DOC = NO +WARN_IF_DOC_ERROR = NO \ No newline at end of file diff -Nru breathe-4.34.0/.github/FUNDING.yml breathe-4.35.0/.github/FUNDING.yml --- breathe-4.34.0/.github/FUNDING.yml 1970-01-01 00:00:00.000000000 +0000 +++ breathe-4.35.0/.github/FUNDING.yml 2023-02-28 19:59:39.000000000 +0000 @@ -0,0 +1,13 @@ +# These are supported funding model platforms + +github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with a single Patreon username +open_collective: breathe +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff -Nru breathe-4.34.0/.github/workflows/documentation.yml breathe-4.35.0/.github/workflows/documentation.yml --- breathe-4.34.0/.github/workflows/documentation.yml 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/.github/workflows/documentation.yml 2023-02-28 19:59:39.000000000 +0000 @@ -20,15 +20,28 @@ - name: install dependencies run: | pip install -r requirements/development.txt - sudo apt -y update - sudo apt -y install doxygen graphviz + sudo apt-get -y update + sudo apt-get -y install graphviz libclang1-11 libclang-cpp11 + + - name: install doxygen from SF binary archives + env: + DOXYGEN_VERSION: 1.9.4 + run: | + mkdir doxygen-bin-arc && cd doxygen-bin-arc + curl -L https://sourceforge.net/projects/doxygen/files/rel-$DOXYGEN_VERSION/doxygen-$DOXYGEN_VERSION.linux.bin.tar.gz > doxygen.tar.gz + gunzip doxygen.tar.gz + tar xf doxygen.tar + cd doxygen-$DOXYGEN_VERSION + sudo make install - name: build the documentation run: | make html rm documentation/build/html/.buildinfo - - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v2 with: - name: documentation - path: documentation/build/html + name: docs build artifacts + path: | + documentation/build/html + examples/*/*/xml diff -Nru breathe-4.34.0/.github/workflows/unit_tests.yml breathe-4.35.0/.github/workflows/unit_tests.yml --- breathe-4.34.0/.github/workflows/unit_tests.yml 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/.github/workflows/unit_tests.yml 2023-02-28 19:59:39.000000000 +0000 @@ -7,22 +7,19 @@ strategy: fail-fast: false matrix: - python-version: ['3.6', '3.7', '3.8', '3.9', '3.10'] + python-version: ['3.7', '3.8', '3.9', '3.10'] sphinx-version: - '4.0.3' - '4.1.2' - '4.2.0' - '4.3.2' - '4.5.0' - - '5.0.1' - - git+https://github.com/sphinx-doc/sphinx.git@5.0.x - - git+https://github.com/sphinx-doc/sphinx.git@5.x + - '5.0.2' + - '5.1.1' + - '5.3.0' + - '6.1.3' - git+https://github.com/sphinx-doc/sphinx.git@master exclude: - # Since sphinx 7e68154e49fbb260f7ffee9791bfafdb7fd2e119 python 3.6 - # support is removed. Breathe will probably also drop 3.6 soon. - - python-version: '3.6' - sphinx-version: git+https://github.com/sphinx-doc/sphinx.git@master # avoid bug in following configurations # sphinx/util/typing.py:37: in # from types import Union as types_Union @@ -32,6 +29,12 @@ - python-version: '3.10' sphinx-version: '4.1.2' + # Sphinx has removed support for Python 3.7, Breathe will follow. + - python-version: '3.7' + sphinx-version: git+https://github.com/sphinx-doc/sphinx.git@master + - python-version: '3.7' + sphinx-version: '6.1.3' + steps: - uses: actions/checkout@v2 - uses: actions/cache@v1 diff -Nru breathe-4.34.0/.readthedocs.yaml breathe-4.35.0/.readthedocs.yaml --- breathe-4.34.0/.readthedocs.yaml 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/.readthedocs.yaml 2023-02-28 19:59:39.000000000 +0000 @@ -2,12 +2,11 @@ python: version: 3 - install: - - requirements: requirements/development.txt - - method: pip - path: . sphinx: builder: html configuration: documentation/source/conf.py fail_on_warning: false + +conda: + environment: documentation/environment.yaml diff -Nru breathe-4.34.0/requirements/development.txt breathe-4.35.0/requirements/development.txt --- breathe-4.34.0/requirements/development.txt 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/requirements/development.txt 2023-02-28 19:59:39.000000000 +0000 @@ -9,3 +9,6 @@ types-Pygments black==22.3.0 + +sphinx-copybutton +furo \ No newline at end of file diff -Nru breathe-4.34.0/requirements/production.txt breathe-4.35.0/requirements/production.txt --- breathe-4.34.0/requirements/production.txt 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/requirements/production.txt 2023-02-28 19:59:39.000000000 +0000 @@ -2,4 +2,4 @@ Jinja2>=2.7.3 MarkupSafe>=0.23 Pygments>=1.6 -Sphinx>=4.0,<6,!=5.0.0 +Sphinx>=4.0,!=5.0.0 diff -Nru breathe-4.34.0/setup.py breathe-4.35.0/setup.py --- breathe-4.34.0/setup.py 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/setup.py 2023-02-28 19:59:39.000000000 +0000 @@ -10,17 +10,17 @@ import sys # Keep in sync with breathe/__init__.py __version__ -__version__ = "4.34.0" +__version__ = "4.35.0" long_desc = """ Breathe is an extension to reStructuredText and Sphinx to be able to read and render `Doxygen `__ xml output. """ -requires = ["Sphinx>=4.0,<6,!=5.0.0", "docutils>=0.12"] +requires = ["Sphinx>=4.0,!=5.0.0", "docutils>=0.12"] -if sys.version_info < (3, 6): - print("ERROR: Sphinx requires at least Python 3.6 to run.") +if sys.version_info < (3, 7): + print("ERROR: Sphinx requires at least Python 3.7 to run.") sys.exit(1) @@ -39,6 +39,7 @@ "Development Status :: 4 - Beta", "Environment :: Console", "Environment :: Web Environment", + "Framework :: Sphinx :: Extension", "Intended Audience :: Developers", "Intended Audience :: Education", "License :: OSI Approved :: BSD License", diff -Nru breathe-4.34.0/tests/test_renderer.py breathe-4.35.0/tests/test_renderer.py --- breathe-4.34.0/tests/test_renderer.py 2022-06-20 18:46:49.000000000 +0000 +++ breathe-4.35.0/tests/test_renderer.py 2023-02-28 19:59:39.000000000 +0000 @@ -109,6 +109,12 @@ WrappedDoxygenNode.__init__(self, compounddefTypeSub, **kwargs) +class MockMemo: + def __init__(self): + self.title_styles = "" + self.section_level = "" + + class MockState: def __init__(self, app): from breathe.project import ProjectInfoFactory @@ -123,7 +129,11 @@ settings.env = env self.document = utils.new_document("", settings) - def nested_parse(self, content, content_offset, contentnode): + # In sphinx 5.3.0 the method state.nested_parse is not called directly + # so this memo object should exists here + self.memo = MockMemo() + + def nested_parse(self, content, content_offset, contentnode, match_titles=1): pass