John Scipione | 9 Nov 2011 23:20
Picon
Gravatar

Is there any interest in incorporating any of these changes into doxygen?

Hello doxygen developers,


I am working on documenting the API documentation of Haiku for the Haiku Project using doxygen. I've made a few additions to doxygen in order to support some features I'd like to have. I am wondering if there is interest in incorporating any of the changes I've made before I set off to do the work of regression testing and making proper patches.

The following screenshot demonstrates most of the changes:


The changes are as follows: (Consider all these features to be optional, you'll have to opt-in if you want them)

0. Make a distinction between functions and methods -- methods are functions with a parent. All methods are functions but not all functions are methods. (needed for 2)
1. Add a title before each item in the detailed description. For functions the title gets an innertube () automatically attached.
2. Use CSS (for the html output) to style the above titles, class names, method names, function names, types, parameters, default values, qualifiers (like const and virtual) and punctuation. You can see in the example that I made each of these a different color.
3. If a method or function is overloaded show all the overloads together followed by a detailed description of each. Alphabetically sorted (via SORT_MEMBER_DOCS = YES) output is a pre-requisite for this.

Comments and questions welcome.

Thanks,
John Scipione




------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
Doxygen-develop mailing list
Doxygen-develop <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/doxygen-develop
Dimitri Van Heesch | 10 Nov 2011 22:03
Picon
Gravatar

Re: Is there any interest in incorporating any of these changes into doxygen?

Hi John,

On Nov 9, 2011, at 23:20 , John Scipione wrote:

> Hello doxygen developers,
> 
> I am working on documenting the API documentation of Haiku for the Haiku Project using doxygen. I've made a
few additions to doxygen in order to support some features I'd like to have. I am wondering if there is
interest in incorporating any of the changes I've made before I set off to do the work of regression testing
and making proper patches.
> 
> The following screenshot demonstrates most of the changes:
> 
> http://imagebin.org/183387
> 
> The changes are as follows: (Consider all these features to be optional, you'll have to opt-in if you want them)
> 
> 0. Make a distinction between functions and methods -- methods are functions with a parent. All methods
are functions but not all functions are methods. (needed for 2)
> 1. Add a title before each item in the detailed description. For functions the title gets an innertube ()
automatically attached.
> 2. Use CSS (for the html output) to style the above titles, class names, method names, function names,
types, parameters, default values, qualifiers (like const and virtual) and punctuation. You can see in
the example that I made each of these a different color.
> 3. If a method or function is overloaded show all the overloads together followed by a detailed
description of each. Alphabetically sorted (via SORT_MEMBER_DOCS = YES) output is a pre-requisite for this.
> 
> Comments and questions welcome.

Not sure about 1, but the rest seems useful to me. 

Regards,
  Dimitri
------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
John Scipione | 15 Nov 2011 08:50
Picon
Gravatar

Fwd: Is there any interest in incorporating any of these changes into doxygen?

I meant to send this to the devel list, not directly to Dimitri

On Thu, Nov 10, 2011 at 6:21 PM, John Scipione <jscipione <at> gmail.com> wrote:
> On Thu, Nov 10, 2011 at 5:00 PM, Dimitri Van Heesch <doxygen <at> gmail.com> wrote:
> I have only looked at the html output so far. All of the CSS style
> functions (feature 2) work in html only. The implementations for the
> functions in Latex, RTF, man, etc. are blank. For the other features
> I'll have to test before submitting patches.
>
> I'm also going to have to look at a simpler example with the default
> CSS since the project that I am working with has some quite extensive
> CSS changes applied. On the bright side the Haiku API contains a lot
> of advanced C++ features like exceptions and templates and the like so
> that forced me to test those cases.

I have posted a patch and sample project to ticket 663949:

https://bugzilla.gnome.org/show_bug.cgi?id=663949

I used the TinyXML library as an example because it is small, contains
overloaded methods, and uses the default html template and CSS.

I built and tested html, latex, rtf, and man output. All build without
error and allow you to look at the output which seems to look pretty
good. I created one config file flag for the titles. It is
SHOW_MEMBER_NAMES and is turned off by default.

The patch I attached is created off the latest svn version. You should
be able to apply to patch and build the sample project to see the
changes. I also added a .memoverloads class to the default CSS to show
the overloaded methods better.

Check it out and let me know what you think.

Thanks,
John Scipione

------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
Rene Zaumseil | 18 Nov 2011 21:01
Picon
Favicon

tcl parser changes

Hi,

with the attached patch the tcl parser detects 
now correctly the following cases:
  Commands starting with \ (backslash)
  Command definitions followed with any whitespace before end of line.

Regards
rene

PS. Is this the preferred way to send patches?
972c972
< <COMMAND>\x1A {
---
> <COMMAND>{ws}*\x1A {
976c976
<   tcl.line_body1=yylineno-1;
---
>   tcl.line_body1=yylineno;
979c979,986
< <COMMAND>{ws}*[;\n] {
---
> <COMMAND>{ws}*; {
> D
>   tcl.string_commentcodify = "";
>   tcl.string_commentline = "";
>   tcl.line_body1=yylineno;
>   tcl_command(-1,yytext);
> }
> <COMMAND>{ws}*\n {
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Doxygen-develop mailing list
Doxygen-develop <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/doxygen-develop
Rene Zaumseil | 18 Nov 2011 21:05
Picon
Favicon

parser and documentation question

Hi,

How can we distinguish 2 ore more commands on one line
in the generated documentation?

Currently we only have start and end line number.

p.e. in C notation (problem in documentation of Var1):
  static int Var1; typedef struct {
    int i;
  } myStruct;

The code formatting fails for Var1 because of wrong syntax
in the line:
  static int Var1; typedef struct {

rene

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
Dimitri Van Heesch | 19 Nov 2011 11:03
Picon
Gravatar

Re: parser and documentation question


On Nov 18, 2011, at 21:05 , Rene Zaumseil wrote:

> Hi,
> 
> How can we distinguish 2 ore more commands on one line
> in the generated documentation?
> 
> Currently we only have start and end line number.
> 
> p.e. in C notation (problem in documentation of Var1):
>  static int Var1; typedef struct {
>    int i;
>  } myStruct;
> 
> The code formatting fails for Var1 because of wrong syntax
> in the line:
>  static int Var1; typedef struct {

There is no way to do this now, and I don't see an easy way to add this. 
It is also rather uncommon to put multiple definitions on the same line 
(i.e. it would also be confusing for the programmer, not just doxygen)

Regards,
  Dimitri

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d

Gmane