[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: c-mode comment indent alignment issue
From: |
Francis Belliveau |
Subject: |
Re: c-mode comment indent alignment issue |
Date: |
Thu, 25 Apr 2013 20:12:39 -0400 |
Thanks to Alan I can at least create a work-around by changing to
/*
* ****
*
* Sampleā¦
*
* ****
*/
I found the function "c-lineup-C-comments" to complicated for me to quickly
modify.
I would actually like to hear from those who would like a reasonable
modification to the logic as follows:
"If the line following the comment open contains all the same
"non-alpha-numeric" character then that becomes the controlling line"
That would mean that"
/*
** Text
*/
Continues to work as before but
/*
**
** Text
**
*/
Stays indented.
Does anybody else have a strong opinion about this?
Fran
On Apr 24, 2013, at 7:56 AM, Alan Mackenzie <acm@muc.de> wrote:
> Francis Belliveau <f.belliveau@comcast.net> wrote:
>> I am having trouble figuring out how to control comment indentation and
>> alignment. Consider the following sequence of comments:
>
>> /*****
>> *
>> * @file foo.h
>> *
>> *****
>> */
>> /*
>> * $Revision$
>> *
>> *****
>> */
>> /*
>> *****
>> *
>> * Sample...
>> *
>> *****
>> */
>
>> In c-mode when they are all in the region and I "indent-region", the
>> first two comments don't change, but the content of the last comment
>> gets jammed against the left edge.
>
>> If I put a " *" before the upper row of asterisks all is okay.
>
>> Can anybody tell me how I can take control of the comment indentation
>> logic to stop the indentation from being eliminated?
>
> This is difficult. The critical line which determines the indentation
> of the entire comment is the second line, thus:
>
> /*
> ***** <===============
> ....
>
> If the number of asterisks is greater than the number in the "/***"
> comment opener, the second line is "aligned left" under the "/***".
> (This is what you don't like here.) Otherwise, like in the "foo.h"
> and "$Revision$" comments, it is "aligned right". The thinking behind
> this left alignment is to indent this case:
>
> /*
> ** Text.
> ** Text.
> */
>
> This is all done by the lisp function `c-lineup-C-comments'. Adapting
> this function to change this behaviour could give you the result you want.
> Instructions for doing this are on page "Custom Line-Up" of the CC Mode
> manual.
>
> Sorry I can't be more helpful.
>
>> Fran
>
> --
> Alan Mackenzie (Nuremberg, Germany).
>