[Doxygen-develop] several suggestions
Brought to you by:
dimitri
From: Ilya S. <ily...@MI...> - 2005-01-31 15:39:44
|
Here is my "wish list" for Doxygen: 1. Support documenting "aspects" i.e. scattered code fragments that implement one functionality, with the following simple changes: -- when the name of a module is mentioned in the comments (any comments -- including comments inside function code), in the doxygen-generated source listing make the module name a hyperlink to the module documentation page -- on the module documentation page, add a list of source lines on which the module is mentioned, making each line a hyperlink to the corresponding line in the source listing generated by doxygen. Then, in the doxygen-generated source listing, it's easy to find all code implementing a given functionality, and it's easy to jump from a code chunk to all related chunks (via the module page). 2. Generate more automatic links from the source code listings -- any mention of a documented entity, including in the comments other than the special comment blocks, can be linked to the documentation page for that entity or to the definition of the entity in the source code. And from the documentation page can link to the list of source lines on which the entity is used. 3. Allow placing named "anchors" in comments (in any comments -- not just in the special comment blocks), which can then be referenced from the special comment blocks. The reference generates a link to the source line containing the anchor, in the doxygen-generated source listing. 4. Add brief descriptions to all generated pages -- e.g. on the "Data fields", the "Globals" pages etc. put the brief description of each entity to the right of the name (truncated as needed). Also when showing the parents of a class as a DOT diagram, to the right of each parent class put a brief description. 5. Be able to document a directory -- right now the only way is to create a module and put all the files in the directory into the module. In Java, documenting packages takes care of this; but C doesn't have packages. 6. Be able to document "function outlines" -- inside function code, have stylized comments that can indicate outline levels; when generating source listings, have a "function outline" page with two frames, one showing the outline items and the other showing the source code; clicking on an outline item brings the corresponding source code line into view. 7. Incremental updating of documentation: only parse those files that have later modification dates than the corresponding documentation files. This can be implemented on top of the existing "tag file" functionality: have a tag file for each source file, and re-generate only those tag files that are older than the corresponding source files. |