Home | History | Annotate | Line # | Download | only in indent
opt_fc1.c revision 1.8
      1 /* $NetBSD: opt_fc1.c,v 1.8 2022/04/24 09:04:12 rillig Exp $ */
      2 
      3 /*
      4  * Tests for the options '-fc1' and '-nfc1'.
      5  *
      6  * The option '-fc1' formats comments in column 1.
      7  *
      8  * The option '-nfc1' preserves the original formatting of comments that start
      9  * in column 1.
     10  */
     11 
     12 //indent input
     13 /*
     14  * A comment
     15  * in column 1.
     16  *
     17  *
     18  *
     19  */
     20 //indent end
     21 
     22 //indent run -fc1
     23 /*
     24  * A comment in column 1.
     25  *
     26  *
     27  *
     28  */
     29 //indent end
     30 
     31 //indent run-equals-input -nfc1
     32 
     33 
     34 //indent input
     35 /* $ Neither indentation nor surrounding spaces. */
     36 /*narrow*/
     37 
     38 /* $ Indented by a single space, single spaces around the text. */
     39  /* space */
     40 
     41 /* $ Indented by a single tab, single tabs around the text. */
     42 	/*	indented tab	*/
     43 
     44 /* $ The space between these comments gets removed. */
     45 /* block1 */ /* block2 */
     46 
     47 /* $ Both comment texts get surrounded by spaces. */
     48 /*block1*//*block2*/
     49 //indent end
     50 
     51 //indent run -fc1
     52 /* $ The comment text got surrounded by spaces. */
     53 /* narrow */
     54 
     55 /* $ The indentation got removed. */
     56 /* space */
     57 
     58 /* $ The indentation got removed, only the leading tab got replaced by a space. */
     59 /* indented tab	*/
     60 
     61 /* $ The space between these comments got removed. */
     62 /* block1 *//* block2 */
     63 
     64 /* $ Both comment texts got surrounded by spaces. */
     65 /* block1 *//* block2 */
     66 //indent end
     67 
     68 //indent run -nfc1
     69 /* $ No spaces got added around the comment text. */
     70 /*narrow*/
     71 
     72 /* $ The indentation of a single space was preserved. */
     73 /* $ If the comment were moved to column 1, it would change from the area */
     74 /* $ of 'comments that may be formatted' to the area of 'comments that must */
     75 /* $ not be formatted. The indentation of a single space prevents this. */
     76  /* space */
     77 
     78 /* $ The indentation was changed from a single tab to a single space. */
     79  /* indented tab	*/
     80 
     81 /* $ The space between these two comments got removed. */
     82 /* $ XXX: The option '-nfc1' says that comments in column 1 do not get */
     83 /* $ formatted, but the comment 'block1' was moved from column 1 to 2. */
     84 /* $ This is probably because there is a second comment in the same line. */
     85  /* block1 *//* block2 */
     86 
     87 /* $ It may seem strange at first that the left comment is not touched */
     88 /* $ but the right comment gets spaces added. This difference is the */
     89 /* $ exact purpose of the option '-nfc1', which says "do not touch comments */
     90 /* $ that start in column 1. The first comment starts in column 1, the */
     91 /* $ second comment doesn't. */
     92 /* $ XXX: The option '-nfc1' says that comments in column 1 do not get */
     93 /* $ formatted, but the comment 'block1' was moved from column 1 to 2. */
     94 /* $ This is probably because there is a second comment in the same line. */
     95  /*block1*//* block2 */
     96 //indent end
     97 
     98 
     99 /*
    100  * Since 2019-04-04 and before pr_comment.c 1.123 from 2021-11-25, the
    101  * function analyze_comment wrongly joined the two comments.
    102  */
    103 //indent input
    104 /*
    105  * A multi-line comment that starts
    106  * in column 1.
    107  *//* followed by another multi-line comment
    108  * that starts in column 4.
    109  */
    110 //indent end
    111 
    112 //indent run -fc1
    113 /*
    114  * A multi-line comment that starts in column 1.
    115  *//*
    116  * followed by another multi-line comment that starts in column 4.
    117  */
    118 //indent end
    119 
    120 /* FIXME: The last line of the first comment must not be modified. */
    121 //indent run -nfc1
    122 /*
    123  * A multi-line comment that starts
    124  * in column 1.
    125   *//*
    126   * followed by another multi-line comment that starts in column 4.
    127   */
    128 //indent end
    129 
    130 
    131 //indent input
    132 /* comment */ int decl2; /* comment */
    133 /* looooooooooooooooooooooooooooooooooooooooong first comment */ int decl2; /* second comment */
    134 /* first comment */ int decl2; /* looooooooooooooooooooooooooooooooooooooooong second comment */
    135 //indent end
    136 
    137 //indent run -fc1
    138  /* comment */ int decl2;	/* comment */
    139  /* looooooooooooooooooooooooooooooooooooooooong first comment */ int decl2;	/* second comment */
    140  /* first comment */ int decl2;	/* looooooooooooooooooooooooooooooooooooooooong
    141 				 * second comment */
    142 //indent end
    143 
    144 //indent run-equals-prev-output -nfc1
    145