Home | History | Annotate | Line # | Download | only in indent
opt_di.c revision 1.3
      1  1.3  rillig /* $NetBSD: opt_di.c,v 1.3 2021/10/24 19:24:22 rillig Exp $ */
      2  1.1  rillig /* $FreeBSD$ */
      3  1.1  rillig 
      4  1.2  rillig /*
      5  1.2  rillig  * Test the option '-di', which specifies the indentation of the variable
      6  1.2  rillig  * declarator.
      7  1.2  rillig  */
      8  1.2  rillig 
      9  1.1  rillig #indent input
     10  1.1  rillig int space;
     11  1.1  rillig int	tab;
     12  1.1  rillig int		tab16;
     13  1.1  rillig 
     14  1.1  rillig struct long_name long_name;
     15  1.1  rillig #indent end
     16  1.1  rillig 
     17  1.1  rillig #indent run -di8
     18  1.1  rillig int	space;
     19  1.1  rillig int	tab;
     20  1.1  rillig int	tab16;
     21  1.1  rillig 
     22  1.1  rillig struct long_name long_name;
     23  1.1  rillig #indent end
     24  1.2  rillig 
     25  1.2  rillig 
     26  1.2  rillig /*
     27  1.2  rillig  * The declarator can be a simple variable name. It can also be prefixed by
     28  1.2  rillig  * asterisks, for pointer variables. These asterisks are placed to the left of
     29  1.2  rillig  * the indentation line, so that the variable names are aligned.
     30  1.2  rillig  *
     31  1.2  rillig  * There can be multiple declarators in a single declaration, separated by
     32  1.2  rillig  * commas. Only the first of them is aligned to the indentation given by
     33  1.2  rillig  * '-di', the others are separated with a single space.
     34  1.2  rillig  */
     35  1.2  rillig #indent input
     36  1.2  rillig int var;
     37  1.2  rillig int *ptr, *****ptr;
     38  1.2  rillig #indent end
     39  1.2  rillig 
     40  1.2  rillig #indent run -di12
     41  1.2  rillig int	    var;
     42  1.2  rillig int	   *ptr, *****ptr;
     43  1.2  rillig #indent end
     44  1.2  rillig 
     45  1.2  rillig 
     46  1.2  rillig /*
     47  1.2  rillig  * Test the various values for indenting.
     48  1.2  rillig  */
     49  1.2  rillig #indent input
     50  1.2  rillig int decl ;
     51  1.2  rillig #indent end
     52  1.2  rillig 
     53  1.2  rillig /*
     54  1.2  rillig  * An indentation of 0 columns uses a single space between the declaration
     55  1.2  rillig  * specifiers (in this case 'int') and the declarator.
     56  1.2  rillig  */
     57  1.2  rillig #indent run -di0
     58  1.2  rillig int decl;
     59  1.2  rillig #indent end
     60  1.2  rillig 
     61  1.2  rillig /*
     62  1.2  rillig  * An indentation of 7 columns uses spaces for indentation since in the
     63  1.2  rillig  * default configuration, the next tab stop would be at indentation 8.
     64  1.2  rillig  */
     65  1.2  rillig #indent run -di7
     66  1.2  rillig int    decl;
     67  1.2  rillig #indent end
     68  1.2  rillig 
     69  1.2  rillig /* The indentation consists of a single tab. */
     70  1.2  rillig #indent run -di8
     71  1.2  rillig int	decl;
     72  1.2  rillig #indent end
     73  1.2  rillig 
     74  1.2  rillig /* The indentation consists of a tab and a space. */
     75  1.2  rillig #indent run -di9
     76  1.2  rillig int	 decl;
     77  1.2  rillig #indent end
     78  1.2  rillig 
     79  1.2  rillig #indent run -di16
     80  1.2  rillig int		decl;
     81  1.2  rillig #indent end
     82  1.2  rillig 
     83  1.2  rillig 
     84  1.2  rillig /*
     85  1.2  rillig  * Ensure that all whitespace is normalized to be indented by 8 columns,
     86  1.2  rillig  * which in the default configuration amounts to a single tab.
     87  1.2  rillig  */
     88  1.2  rillig 
     89  1.2  rillig #indent input
     90  1.2  rillig int space;
     91  1.2  rillig int	tab;
     92  1.2  rillig int		tab16;
     93  1.2  rillig struct long_name long_name;
     94  1.2  rillig #indent end
     95  1.2  rillig 
     96  1.2  rillig #indent run -di8
     97  1.2  rillig int	space;
     98  1.2  rillig int	tab;
     99  1.2  rillig int	tab16;
    100  1.2  rillig struct long_name long_name;
    101  1.2  rillig #indent end
    102  1.3  rillig 
    103  1.3  rillig 
    104  1.3  rillig #indent input
    105  1.3  rillig struct {
    106  1.3  rillig 	int member;
    107  1.3  rillig } var = {
    108  1.3  rillig 	3,
    109  1.3  rillig };
    110  1.3  rillig #indent end
    111  1.3  rillig 
    112  1.3  rillig /* FIXME: The variable name is indented by 6 spaces, should be 1. */
    113  1.3  rillig #indent run -di0
    114  1.3  rillig struct {
    115  1.3  rillig 	int member;
    116  1.3  rillig }      var = {
    117  1.3  rillig 	3,
    118  1.3  rillig };
    119  1.3  rillig #indent end
    120  1.3  rillig 
    121  1.3  rillig #indent run
    122  1.3  rillig struct {
    123  1.3  rillig 	int		member;
    124  1.3  rillig }		var = {
    125  1.3  rillig 	3,
    126  1.3  rillig };
    127  1.3  rillig #indent end
    128