[cfe-commits] [PATCH] Add brief documentation comments to code completion results
Dmitri Gribenko
gribozavr at gmail.com
Mon Jul 2 10:38:44 PDT 2012
On Mon, Jul 2, 2012 at 8:55 AM, Douglas Gregor <dgregor at apple.com> wrote:
>
> On Jun 29, 2012, at 3:44 PM, Dmitri Gribenko wrote:
>
>> On Thu, Jun 28, 2012 at 9:29 PM, Douglas Gregor <dgregor at apple.com> wrote:
>>> On Jun 28, 2012, at 9:33 AM, Dmitri Gribenko wrote:
>>>> The attached patch adds extracted brief comments to code completion
>>>> results as informative chunks. I am not sure that this is the right
>>>> approach. Maybe a new chunk type is needed.
>>>>
>>> The "chunks" themselves are typically meant to be rendered as part of the completion text, The brief comments aren't really the same thing, though; they're a separate bit of documentation that would typically be rendered elsewhere. I suggest actually adding an API function
>>>
>>> CINDEX_LINKAGE CXString clang_getCompletionBriefComment(CXCompletionString completion_string)
>>>
>>> to extract the comment. Given that extracting these comments isn't free, I recommend adding a bit to CXCodeComplete_Flags to turn on the ability to extract comments.
>>
>> Attached is the second attempt implementing your proposal.
>>
>> A new code completion option that enables including brief comments
>> into CodeCompletionString should be a, err, code completion option.
>> But because ASTUnit caches global declarations during parsing before
>> even completion consumer is created, the option is duplicated as a
>> translation unit option (in both libclang and ASTUnit, like the option
>> to cache code completion results).
>
> This looks great; please feel free to commit,
Thank you for review, committed r159539.
> although we don't need this bit:
>
> +/*
> + CodeCompleteConsumer() : OutputIsBinary(false) {
> + CodeCompleteOpts.IncludeMacros = false;
> + CodeCompleteOpts.IncludeCodePatterns = false;
> + IncludeGlobals(true),
> + IncludeBriefComments(false),
> + }
> +*/
Removed this comment.
I was checking if anything was relying on the CodeCompleteConsumer
being default constructible, and if so, why those particular option
values are chosen. (Nothing relied on it.)
Dmitri
--
main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if
(j){printf("%d\n",i);}}} /*Dmitri Gribenko <gribozavr at gmail.com>*/
More information about the cfe-commits
mailing list