[cfe-dev] [PATCH] Comment parsing: rendering kind field for inline command
Jordan Rose
jordan_rose at apple.com
Mon Jul 23 08:30:54 PDT 2012
Bikeshedding: ICR_Monospaced or ICR_FixedWidth instead of ICR_Typewriter, since it's 2012.
Less bikeshedding: although we're conditioned to think of code in a monospace font, there's not really a /reason/ for that. (Smalltalk and AppleScript traditionally use non-monospaced fonts for code listings...not that those are necessarily relevant for us.) In HTML this is the (often not observed) difference between <code> and <tt> (like <em> and <i>). In Doxygen and other documentation systems, does "\c" mean "code" or "fixed-width"?
(I'm inclined to think "code", and thus go with Doug's original listing, and emit <code> rather than <tt>.)
Jordan
On Jul 20, 2012, at 8:04 PM, Dmitri Gribenko wrote:
> On Fri, Jul 20, 2012 at 2:35 PM, Dmitri Gribenko <gribozavr at gmail.com> wrote:
>> On Fri, Jul 20, 2012 at 9:04 AM, Douglas Gregor <dgregor at apple.com> wrote:
>>> Here, we're classifying a subset of the Doxygen inline commands. Can you extract this operation out into a member function of InlineCommandComment, something like
> [...]
>>> or maybe tie it to the rendering of the text, e.g.,
>>>
>>> enum CXInlineCommandRenderKind {
>>> ICR_Normal,
>>> ICR_Bold,
>>> ICR_Code,
>>> ICR_Emphasized
>>> }
>>>
>>> CXInlineCommandRenderKind getRenderKind() const;
>>>
>>> so that all clients don't need to reinterpret the various Doxygen/HeaderDoc/etc. commands themselves (Unless they want to)? This information would be useful in the libclang API as well, since we expect many clients to use that.
>>
>> Agreed. I like the second option better because Doxygen manual
>> assigns some semantic difference to the commands which are rendered
>> the same way. For example, \c is "anything that looks like code", but
>> \p is "parameter name".
>>
>> I will do it as a follow-up because I think it makes sense to make
>> CommentSema responsible for such analysis and touching that is a
>> little out of scope for this patch.
>
> Attached is a patch that implements this proposal.
>
> Please review.
>
> 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>*/
> <inline-comment-render-kind-v1.patch>_______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
More information about the cfe-dev
mailing list