Home | History | Annotate | Line # | Download | only in indent
opt_bc.c revision 1.9
      1  1.9  rillig /* $NetBSD: opt_bc.c,v 1.9 2023/06/10 06:38:21 rillig Exp $ */
      2  1.1  rillig 
      3  1.3  rillig /*
      4  1.3  rillig  * Tests for the options '-bc' and '-nbc'.
      5  1.3  rillig  *
      6  1.3  rillig  * The option '-bc' forces a newline after each comma in a declaration.
      7  1.3  rillig  *
      8  1.4  rillig  * The option '-nbc' removes line breaks between declarators.  In most other
      9  1.4  rillig  * places, indent preserves line breaks.
     10  1.3  rillig  */
     11  1.3  rillig 
     12  1.6  rillig //indent input
     13  1.1  rillig int a,b,c;
     14  1.1  rillig void function_declaration(int a,int b,int c);
     15  1.4  rillig int m1,
     16  1.4  rillig m2,
     17  1.4  rillig m3;
     18  1.4  rillig char plain, *pointer;
     19  1.6  rillig //indent end
     20  1.1  rillig 
     21  1.6  rillig //indent run -bc
     22  1.1  rillig int		a,
     23  1.1  rillig 		b,
     24  1.1  rillig 		c;
     25  1.1  rillig void		function_declaration(int a, int b, int c);
     26  1.4  rillig int		m1,
     27  1.4  rillig 		m2,
     28  1.4  rillig 		m3;
     29  1.4  rillig char		plain,
     30  1.4  rillig 	       *pointer;
     31  1.6  rillig //indent end
     32  1.1  rillig 
     33  1.6  rillig //indent run -nbc
     34  1.1  rillig int		a, b, c;
     35  1.1  rillig void		function_declaration(int a, int b, int c);
     36  1.4  rillig int		m1, m2, m3;
     37  1.4  rillig char		plain, *pointer;
     38  1.6  rillig //indent end
     39  1.4  rillig 
     40  1.4  rillig 
     41  1.6  rillig //indent input
     42  1.4  rillig old_style_definition(a, b, c)
     43  1.4  rillig double a,b,c;
     44  1.4  rillig {
     45  1.4  rillig     return a+b+c;
     46  1.4  rillig }
     47  1.6  rillig //indent end
     48  1.4  rillig 
     49  1.6  rillig //indent run -bc
     50  1.4  rillig old_style_definition(a, b, c)
     51  1.4  rillig double		a,
     52  1.4  rillig 		b,
     53  1.4  rillig 		c;
     54  1.4  rillig {
     55  1.4  rillig 	return a + b + c;
     56  1.4  rillig }
     57  1.6  rillig //indent end
     58  1.4  rillig 
     59  1.6  rillig //indent run -nbc
     60  1.4  rillig old_style_definition(a, b, c)
     61  1.4  rillig double		a, b, c;
     62  1.4  rillig {
     63  1.4  rillig 	return a + b + c;
     64  1.4  rillig }
     65  1.6  rillig //indent end
     66  1.7  rillig 
     67  1.7  rillig 
     68  1.8  rillig /*
     69  1.8  rillig  * Before indent.c 1.311 from 2023-06-02, indent formatted the two '#if'
     70  1.8  rillig  * branches differently and merged the 'b, c' with the preceding preprocessing
     71  1.8  rillig  * line.
     72  1.8  rillig  */
     73  1.7  rillig //indent input
     74  1.7  rillig int a,
     75  1.7  rillig #if 0
     76  1.7  rillig b, c; int d;
     77  1.7  rillig #else
     78  1.7  rillig b, c; int d;
     79  1.7  rillig #endif
     80  1.7  rillig //indent end
     81  1.7  rillig 
     82  1.7  rillig //indent run -bc
     83  1.7  rillig int		a,
     84  1.7  rillig #if 0
     85  1.7  rillig 		b,
     86  1.7  rillig 		c;
     87  1.7  rillig int		d;
     88  1.7  rillig #else
     89  1.8  rillig 		b,
     90  1.8  rillig 		c;
     91  1.7  rillig int		d;
     92  1.7  rillig #endif
     93  1.7  rillig //indent end
     94  1.7  rillig 
     95  1.7  rillig //indent run -nbc
     96  1.7  rillig int		a,
     97  1.8  rillig #if 0
     98  1.8  rillig 		b, c;
     99  1.7  rillig int		d;
    100  1.7  rillig #else
    101  1.7  rillig 		b, c;
    102  1.7  rillig int		d;
    103  1.7  rillig #endif
    104  1.7  rillig //indent end
    105  1.9  rillig 
    106  1.9  rillig 
    107  1.9  rillig /*
    108  1.9  rillig  * A '(' at the top level is taken to start a function definition, leaving
    109  1.9  rillig  * variable declaration mode.
    110  1.9  rillig  */
    111  1.9  rillig //indent input
    112  1.9  rillig int a = 1, b = 2;
    113  1.9  rillig int a = (1), b = 2;
    114  1.9  rillig //indent end
    115  1.9  rillig 
    116  1.9  rillig //indent run -bc
    117  1.9  rillig int		a = 1,
    118  1.9  rillig 		b = 2;
    119  1.9  rillig // $ FIXME: Missing line break.
    120  1.9  rillig int		a = (1), b = 2;
    121  1.9  rillig //indent end
    122