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