Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] Using doxygen comments to filter undesired code completion entries

Doug wrote:
> I agree. I think the main reason, other than finding someone to work on 
> such things, that we haven't looked at this is because we're not sure 
> doxygen is as standard as javadoc. The best solution would be to allow the
> user to select from a number of alternative comment parsers that people 
> could provide. And, obviously, the best way to do that is through an 
> extension point and making sure we provide enough flexibility for
> different comment parsers to be written.

> Something worth considering.


Yes, sharing the same feeling, taxing the parser to do some preprocessor
work could be prohibitive.

On the side note, I'm working on/off on a TODO contribution plugin for the
CDT, it is loosely base on the code by Victor M. The TODO plugin share some
similarities to the doxygen.

> -----Original Message-----
> From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On
> Behalf Of kesselhaus@xxxxxxx
> Sent: Friday, August 05, 2005 12:28 PM
> To: CDT General developers list.
> Subject: Re: [cdt-dev] Using doxygen comments to filter undesired code
> completion entries
> 
> I'm having a bad feeling on concentrating only on doxygen like comments,
> even though, I'd prefer doxygen personally. E.g. at work, we do not use
> doxygen like comments, even though, they are structured in some kind.
> The question in fact is, if we ever get rid of the kind of comments
> provided
> by templates and step over to doxygen, but the company is a rather big
> one.
> 
> I think a comment parser should be there, but not specifically in the
> GNUCSourceParser. Also, Doxygen comments can be anywhere in your code.
> ex.:
> --------
> void myfunc1() {}
> void myfunc2() {}
> void myfunc3() {}
> 
> int a; /*!< Var a */
> int b;
> 
> /*! \fn void myfunc1()
>  *  \brief myfunc1 blah blub
>  *
>  *  \fn void myfunc2()
>  *
>  *  \fn void myfunc3()
>  *
>  */
> 
> /*! \var b
>  *  \brief whatever b is useful for
>  */
> ---------
> 
> Though, best would be an comment parser, but decoupled from the source
> parsers. The info has to be comebined by other meanings.
> Also I could think of something like regex-kind or template based, in
> order
> to be more generic. Doxygen parser could be an implementation of such
> generic behaviour. The comment parsers should then provide the info or
> maybe
> add them to the AST.
> 
> Just my 0.02€.
> 
> 
> 
> > --- Ursprüngliche Nachricht ---
> > Von: "Ploett Norbert" <norbert.ploett@xxxxxxxxxxx>
> > An: "CDT General developers list." <cdt-dev@xxxxxxxxxxx>
> > Betreff: [cdt-dev] Using doxygen comments to filter undesired
> > code	completion entries
> > Datum: Fri, 5 Aug 2005 12:04:06 +0200
> >
> > (For more detailed context please refer to
> > https://bugs.eclipse.org/bugs/show_bug.cgi?id=104792)
> >
> > Thomas Fletcher wrote:
> >
> > > The other alternative is for us to be able to tack an attribute
> > > on as meta data to the completion information and allow the user
> > > to selectively filter that out.  You see this in the JDT where
> > > there is a preference to not include methods which have @deprecated
> > > Javadoc comments.  In the future we would like to do something
> > > similar (ie Doxygen and dynamic hover/help content), which means
> > > that this whould also be exposed to content providers providing
> > > their help/completion information as plugins.
> >
> > This sounds to me like the "big solution" but I like it and have looked
> > into it. Please comment whether I have the correct understanding and
> > whether this approach would be acceptable for the community. Ok, let's
> > go:
> >
> > 1.	CDT should be enabled to evaluate Doxygen docstrings for
> > purposes like code completion, hover help etc. This would not only help
> > sove my problem in the way describe below but I think that many could
> > benefit from the ability to use this widely recognized standard way of
> > documentation.
> >
> > 2.	Docstring information must be gathered by the source parsers and
> > included in the AST. So docstrings must be recognized as a part of the C
> > / C++ syntax by the GNUCSourceParser resp. GNUCPPSourceParser.
> > Docstrings are an optional element before (or after?) any declaration.
> > So a docstring would become an optional part of all IASTDeclarations
> > objects.
> >
> > 3.	The docstring information is retrieved from objects implementing
> > IBinding (they acquire the information when created from the
> > corresponding AST element). IBinding has a method to read the docstring.
> >
> > 4.	These docstrings contain tagging information like a "deprecated"
> > tag or the "internal" tag Thomas Fletcher suggested.
> >
> > 5.	The DOMCompletionContributor can now search the docstring
> > entries for tags like "deprecated" or "internal" and react accordingly
> > - like filtering out a proposal if it is "deprecated" and the user's
> > preference is not to display deprecated entries,
> > - or to omit them entirely if they are marked "internal" (this solves my
> > problem).
> >
> > Beyond this the DOMCompletionContributor can of course use the docstring
> > to fill in the additional proposal info so that the documentation of the
> > function is displayed along with the code completion proposal entry.
> >
> > So did I understand this correctly? The part I am most unsure about is
> > how much work would it be to extend the source parsers to incorporate
> > Doxygen docstrings. Comments welcome!
> >
> >
> > Norbert
> > _______________________________________________
> > cdt-dev mailing list
> > cdt-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> >
> 
> --
> 5 GB Mailbox, 50 FreeSMS http://www.gmx.net/de/go/promail
> +++ GMX - die erste Adresse für Mail, Message, More +++
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/cdt-dev


Back to the top