-
-
Notifications
You must be signed in to change notification settings - Fork 198
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix domain detection when rendering groups. #365
Conversation
Groups themselves do not have any filenames, so the detection must be done on lower level. However, compound signatures were rendered in the context of the group, with the default domain (C++) . This lead to all kinds of missed reference from C domain code.
Hi, sorry for the wait. The changes look good to me, but I can't test an example locally. I created a .h file in a project: #pragma once
/** @ingroup test */
typedef struct
{
} example_t;
/** @ingroup test */
void user(example_t arg); But get:
Checking the generated XML the word |
Sorry, please also add |
Yes, the point was to make these links work. Maybe it also affects something else, but I don't know. |
Merged, thank you for the PR. |
Groups themselves do not have any filenames, so the detection must be
done on lower level. However, compound signatures were rendered in the
context of the group, with the default domain (C++) . This lead to all kinds of
missed reference from C domain code.
For example, let's have in
test.h
:/** @ingroup test */ typedef struct {} example_t;
and
/** @ingroup test */ void user(example_t arg);
Breathe is configured to recognize
.h
files as C domain. If you usedoxygenfile
, the links work correctly. If you usedoxygengroup
, the the arguments of theuser
function are not links andexample_t
is in the C++ domain.