[Doxygen-users] Feature request
Brought to you by:
dimitri
From: Carlo W. <ca...@al...> - 2001-11-20 00:41:09
|
Dunno if this is the best list, but I think Dimitri is reading this list as well, so here it goes: I am in desperate need for a little better namespace support as follows: I'd like to be able to define (inline in the source code and as default in the config file) a default namespace for both input (links) and output (functions, classes, variables etc). The default namespace should have the following precedence: Input: 1) Whatever is defined inline in the source code (with a new command, for example: \default_namespace_in libcw::debug) or, of that is not available: 2) The current namespace Output: 1) Whatever is defined inline in the source code (with a new command, for example: \default_namespace_out libcw::debug) or, of that is not available: 2) Whatever is defined in the config file. Example, suppose the default output namespace in the config file is set to "aaa::bbb" then instead of printing "aaa::bbb::ccc::ddd" doxygen should print "ccc::ddd". Unless explicitely a different output namespace is set: /** * \default_namespace_out aaa * Click here \ref aaa::bbb::ccc::func() */ Should output "bbb::ccc::func()". The input namespace would make it easier to write links, for example when the default namespace is "aaa::bbb", then one shouldn't need to specify that: namespace aaa { namespace bbb { /** * \default_namespace_out aaa * Click here \ref ccc::func() */ ... would look for "ccc::func()" inside namespace aaa::bbb (because that is the current namespace), find it and then print "bbb::ccc::func()" because the default output namespace is set to "aaa". As it is now I have constantly tell doxygen where to find variables and classes and then use a cubersome /link construct because I don't want it to be printed like that... For example: /** This is a \link libcw::debug::class_ct::example() class_ct::example() \endlink. */ I'd rather just write: /** This is a class_ct::example(). */ Imho a good policy would be to automatically add a link for everything (that is found in the default namespace(s)) that contains a :: or (...), and not in other cases; in that case one would have to add explicitely \ref. For example: /** This is automatically linked to: Foo::foo, this too: func(). * But here I need to add explicitely a reference: \ref foobar. */ Having a namespace called 'debug' and one called 'channels', I am getting nuts writing %debug %channels alllllll the time. I'd rather have to explicitely tell doxygen when a simple english word has to be resolved as something that can be referenced. -- Carlo Wood <ca...@al...> |