Replies: 2 comments
-
I implemented a solution myself. I added an option named "breathe_use_cpp_namespace". When enabled, the "cpp:namespace" directive and push/pop variants are taken into account. Symbols are searched under the specified namespace and that namespace is omitted from the displayed name. I am proposing this feature to be added to Breathe, but before I finish this and make a pull request, I have a question. Certain entities such as classes, have the namespace stripped unconditionally. From looking at the code, this appears to be a bug and the namespace is only supposed to be stripped when the entity is rendered as a child of another entity. Even if it was a bug initially, it doesn't mean changing it now is desirable, so my question is: is it okay to change this to only strip when the entity is a child, or should I leave the old behavior by default and only alter the behavior when "breathe_use_cpp_namespace" is set to True? I made this feature opt-in because the doxygen- directives are language-agnostic and changing the searched namespace for only one language can result in ambiguity that didn't exist before; if, for example, the C++ namespace is set to "NS" and there exist both a C++ symbol "NS::s" and a Python symbol "s" and the directive |
Beta Was this translation helpful? Give feedback.
-
I've made the pull request: #980. This can be discussed there. |
Beta Was this translation helpful? Give feedback.
-
Some directives, such as doxygenfunction and doxygentypedef show the fully qualified name, but others such as doxygenclass and doxygenconcept omit the namespaces. How do I control this? I don't want to use doxygennamespace because I want finer-grained control than it provides, but I want to omit the top-level namespace of my project because everything is under that namespace.
Beta Was this translation helpful? Give feedback.
All reactions