Comments (7)
Thanks for the report. I'll have a look into it at the weekend. It is really great to see you putting Breathe through its paces, sorry it isn't holding up that well!
Michael
from breathe.
Don't worry about the bugs, I expect them in 0.6 software! I'm
honestly very happy with how well breathe works. From my point of
view, the important stuff works properly; the problems I've found are
just details that should be easily ironed out.
As I have time, I can lend a hand fixing some of these bugs. If you
have some idea where they lie, it would speed things up a lot if you
pointed me in that direction. (I frankly don't have the time and
energy to learn breathe from the ground up right now.)
Austin
On Mon, Apr 25, 2011 at 9:12 PM, michaeljones
[email protected]
wrote:
Thanks for the report. I'll have a look into it at the weekend. It is really great to see you putting Breathe through its paces, sorry it isn't holding up that well!
Michael
Reply to this email directly or view it on GitHub:
#26 (comment)
from breathe.
Very kind of you to offer to help. It would be great if you could. Unfortunately the remaining 2 of the 3 issues that you've raised so far aren't the best starter issues, but we can try!
If you have the time to look into something briefly, you could try looking at this one. The issue is that we look in the main "index.xml" file generated by doxygen to try to find a element with the "kind" attribute set to "file" and we have a look at its child element to find out if it has the name we're interested in.
The code isn't that smart, it just looks for the first match or maybe the last... Unfortunately, in the basic test case I put together both Util.hpp files appear in the index.xml without any indication of their full file path so we can't make a better judgement on the information there. So we have to look at the "refid" attribute on the element to get the filename of the xml corresponding to that compound. By the looks of it, that xml file has a element with a child which gives the full path so we'll have to check against that.
So, the code you need to look at is mostly in the "breathe/finder" folder, which contains code for iterating over the various nodes in the "index" and "compound" files (found in breathe/finder/doxygen/{index.py,compound.py}). As it iterates, it tries to match what it is finding with the "match_stack" that it is given. The code isn't great and I've been planning on changing it but if you have time to figure out how some of the matchers work you might be able to produce something similar that will first match against the compound for the right name and kind and then open up the compound.xml file and look for the location element and do some kind of test against that.
I'm afraid my description is getting increasingly blurry as I've got half an eye on the time and need to be off to work. If you've not read it there are some developer notes in the documentation which has a broader introduction to breathe.
Depending on how you find the above ramble, please feel free to give it a go or let me know what doesn't make sense or leave it and I'll take a crack at it when I can over the next few days.
Cheers,
Michael
from breathe.
Hi,
For what its worth, in an attempt to sort out the other doxygenfile issue, I'm changing this code quite a bit so if you've not started looking at it, it might be worth waiting a bit.
If you have, then don't worry I'm sure the investigation and changes will be useful.
Cheers,
Michael
from breathe.
I haven't had a chance to look yet, so I'll just hold off.
from breathe.
Hi Austin,
I've just pushed some changes that should address this particular issue. I've also updated the docs to show what is needed. You'll just need to use:
.. doxygenfile:: subproj1/Util.hpp
To distinguish. Hope it works. Unfortunately, I haven't addressed the issue that the doxygenfile directive doesn't really output everything you'd like. Next on the list and I've got some ideas but not there yet.
Cheers,
Michael
from breathe.
Your fixes seem to fix things. Thanks!
from breathe.
Related Issues (20)
- Simpler (?) solution for handling leading slashes
- あ
- `undefined label` due to Doxygen automatic link generation
- Add a way to remove the "subclassed by" note
- Unable to Build Docs on Python 3.12 HOT 2
- Documentation fails to build with Doxygen 1.9.7 HOT 3
- .. doxygenfunction fails to recognize function with restrict keyword in parameters HOT 1
- Support for brace initialized variable HOT 1
- no-link option not working
- Sphinx 7.2 support HOT 2
- AttributeError: 'PosixPath' object has no attribute 'rstrip' in breathe/project.py HOT 4
- Drop EOL python 3.7?
- Missing `python` version for dependency management
- Wrong required python version 3.6+
- GH Actions: broken unit test
- Issue with dispaly of notes in sphinx documentation HOT 1
- Support Sphinx ToC generation with `_toc_name` and `_toc_parts` attribute
- Provide some diagnostic warnings if references to functions are missing parentheses HOT 1
- En-dash in @return renders incorrectly
- Duplicate declaration/description warnings HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from breathe.