Doxygen and add a value of an attribute to the output documentation
Question: [ServiceStack](http://servicestack.net) marks rest paths for web services
using c# attributes.

For example

    
    
    [RestService("/hello1")]
    [RestService("/hello2")]
    public class Hello
    

I would like to make Doxygen include values of the RestService attribute in
the doxygen output for the Hello class. I'm not concerned too much with pretty
formattin if the full line with brackets is included in the output document.

Any suggestions?

A quick and dirty trick would be a preferable to writing a Doxygen extension
;)

Cheers

Tymek

====EDIT

The Python version (so will work on Windows easily) of _doxygen_ user's answer
would be:

    
    
    #!/usr/bin/env python
    import sys
    import re
    
    if (len(sys.argv) < 2):
        print "No input file"
    else:
        f = open(sys.argv[1])
        line = f.readline()
        while line:
            re1 = re.compile("\[RestService\(\"(.*)\",.*\"(.*)\"\)]")
            re1.search(line)
            sys.stdout.write(re1.sub(r"/** \\b RestService: \2 \1\\n */\n", line))
            #sys.stdout.write(line)
            line = f.readline()
        f.close()
    

and the DOXYFILE would have:

    
    
    INPUT_FILTER           = "doxygenFilter.py"
    


Answer: You could make an input filter that converts a line with

    
    
    [RestService("/hello1")]
    

to

    
    
    /** \b RestService: "/hello1"\n */
    

like for instance by putting following piece of perl magic in a file called
`filter.pl`:

    
    
    open(F, "<", $ARGV[0]);
    while(<F>) { /^\s*\[RestService\((.*)\)\]\s*$/ ? 
                 print "/** \\b RestService: $1\\n */\n" : print $_; }
    

and use that with the `INPUT_FILTER` tag in the Doxyfile:

    
    
    INPUT_FILTER           = "perl filter.pl"
    

