opt_lp.c revision 1.10 1 1.10 rillig /* $NetBSD: opt_lp.c,v 1.10 2023/06/09 06:36:58 rillig Exp $ */
2 1.1 rillig
3 1.3 rillig /*
4 1.3 rillig * Tests for the options '-lp' and '-nlp'.
5 1.3 rillig *
6 1.3 rillig * The option '-lp' lines up code surrounded by parentheses in continuation
7 1.3 rillig * lines. With '-lp', if a line has a left parenthesis that is not closed on
8 1.3 rillig * that line, continuation lines are lined up to start at the character
9 1.3 rillig * position just after the left parenthesis.
10 1.3 rillig *
11 1.3 rillig * The option '-nlp' indents continuation lines with the continuation
12 1.3 rillig * indentation; see '-ci'.
13 1.3 rillig */
14 1.3 rillig
15 1.6 rillig //indent input
16 1.1 rillig void
17 1.1 rillig example(void)
18 1.1 rillig {
19 1.1 rillig p1 = first_procedure(second_procedure(p2, p3),
20 1.1 rillig third_procedure(p4, p5));
21 1.1 rillig
22 1.1 rillig p1 = first_procedure(second_procedure(p2,
23 1.1 rillig p3),
24 1.1 rillig third_procedure(p4,
25 1.1 rillig p5));
26 1.4 rillig
27 1.4 rillig p1 = first_procedure(
28 1.4 rillig second_procedure(p2, p3),
29 1.4 rillig third_procedure(p4, p5));
30 1.1 rillig }
31 1.6 rillig //indent end
32 1.1 rillig
33 1.6 rillig //indent run -lp
34 1.1 rillig void
35 1.1 rillig example(void)
36 1.1 rillig {
37 1.1 rillig p1 = first_procedure(second_procedure(p2, p3),
38 1.1 rillig third_procedure(p4, p5));
39 1.1 rillig
40 1.1 rillig p1 = first_procedure(second_procedure(p2,
41 1.1 rillig p3),
42 1.1 rillig third_procedure(p4,
43 1.1 rillig p5));
44 1.4 rillig
45 1.4 rillig p1 = first_procedure(
46 1.4 rillig second_procedure(p2, p3),
47 1.4 rillig third_procedure(p4, p5));
48 1.1 rillig }
49 1.6 rillig //indent end
50 1.1 rillig
51 1.6 rillig //indent run -nlp
52 1.1 rillig void
53 1.1 rillig example(void)
54 1.1 rillig {
55 1.1 rillig p1 = first_procedure(second_procedure(p2, p3),
56 1.1 rillig third_procedure(p4, p5));
57 1.1 rillig
58 1.1 rillig p1 = first_procedure(second_procedure(p2,
59 1.1 rillig p3),
60 1.1 rillig third_procedure(p4,
61 1.1 rillig p5));
62 1.4 rillig
63 1.4 rillig p1 = first_procedure(
64 1.4 rillig second_procedure(p2, p3),
65 1.4 rillig third_procedure(p4, p5));
66 1.4 rillig }
67 1.6 rillig //indent end
68 1.4 rillig
69 1.6 rillig //indent run -nlp -ci4
70 1.4 rillig void
71 1.4 rillig example(void)
72 1.4 rillig {
73 1.4 rillig p1 = first_procedure(second_procedure(p2, p3),
74 1.4 rillig third_procedure(p4, p5));
75 1.4 rillig
76 1.4 rillig p1 = first_procedure(second_procedure(p2,
77 1.10 rillig p3),
78 1.4 rillig third_procedure(p4,
79 1.10 rillig p5));
80 1.4 rillig
81 1.4 rillig p1 = first_procedure(
82 1.4 rillig second_procedure(p2, p3),
83 1.4 rillig third_procedure(p4, p5));
84 1.1 rillig }
85 1.6 rillig //indent end
86 1.7 rillig
87 1.7 rillig
88 1.9 rillig /*
89 1.9 rillig * Ensure that in multi-line else-if conditions, all lines are indented by the
90 1.9 rillig * correct amount. The 'else if' condition is tricky because it has the same
91 1.9 rillig * indentation as the preceding 'if' condition.
92 1.9 rillig */
93 1.7 rillig //indent input
94 1.7 rillig {
95 1.8 rillig if (cond11a
96 1.8 rillig && cond11b
97 1.8 rillig && cond11c) {
98 1.8 rillig stmt11;
99 1.8 rillig } else if (cond12a
100 1.8 rillig && cond12b
101 1.8 rillig && cond12c) {
102 1.8 rillig stmt12;
103 1.7 rillig }
104 1.7 rillig }
105 1.8 rillig
106 1.8 rillig {
107 1.8 rillig if (cond21a
108 1.8 rillig && cond21b
109 1.8 rillig && cond21c)
110 1.8 rillig stmt21;
111 1.8 rillig else if (cond22a
112 1.8 rillig && cond22b
113 1.8 rillig && cond22c)
114 1.8 rillig stmt22;
115 1.8 rillig }
116 1.7 rillig //indent end
117 1.7 rillig
118 1.7 rillig //indent run -ci4 -nlp
119 1.7 rillig {
120 1.8 rillig if (cond11a
121 1.8 rillig && cond11b
122 1.8 rillig && cond11c) {
123 1.8 rillig stmt11;
124 1.8 rillig } else if (cond12a
125 1.9 rillig && cond12b
126 1.8 rillig && cond12c) {
127 1.8 rillig stmt12;
128 1.7 rillig }
129 1.7 rillig }
130 1.8 rillig
131 1.8 rillig {
132 1.8 rillig if (cond21a
133 1.8 rillig && cond21b
134 1.8 rillig && cond21c)
135 1.8 rillig stmt21;
136 1.8 rillig else if (cond22a
137 1.9 rillig && cond22b
138 1.8 rillig && cond22c)
139 1.8 rillig stmt22;
140 1.8 rillig }
141 1.7 rillig //indent end
142