Skip to content

Commit c23dca3

Browse files
committed
Merge pull request #449 from marcusklaas/array-block-indent
Use visual block indentation for array literals
2 parents 4bc43f6 + e6af5d2 commit c23dca3

File tree

3 files changed

+47
-2
lines changed

3 files changed

+47
-2
lines changed

src/expr.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -256,14 +256,16 @@ pub fn rewrite_array<'a, I>(expr_iter: I,
256256
where I: Iterator<Item = &'a ast::Expr>
257257
{
258258
// 2 for brackets;
259+
let offset = offset + 1;
260+
let inner_context = &RewriteContext { block_indent: offset, ..*context };
259261
let max_item_width = try_opt!(width.checked_sub(2));
260262
let items = itemize_list(context.codemap,
261263
expr_iter,
262264
"]",
263265
|item| item.span.lo,
264266
|item| item.span.hi,
265267
// 1 = [
266-
|item| item.rewrite(context, max_item_width, offset + 1),
268+
|item| item.rewrite(&inner_context, max_item_width, offset),
267269
span_after(span, "[", context.codemap),
268270
span.hi)
269271
.collect::<Vec<_>>();
@@ -283,7 +285,7 @@ pub fn rewrite_array<'a, I>(expr_iter: I,
283285
tactic: tactic,
284286
separator: ",",
285287
trailing_separator: SeparatorTactic::Never,
286-
indent: offset + 1,
288+
indent: offset,
287289
width: max_item_width,
288290
ends_with_newline: false,
289291
config: context.config,

tests/source/expr.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,25 @@ fn arrays() {
169169

170170
let y = [/* comment */ 1, 2 /* post comment */, 3];
171171

172+
let xy = [ strukt { test123: value_one_two_three_four, turbo: coolio(), } , /* comment */ 1 ];
173+
174+
let a =WeightedChoice::new(&mut [Weighted {
175+
weight: x,
176+
item: 0,
177+
},
178+
Weighted {
179+
weight: 1,
180+
item: 1,
181+
},
182+
Weighted {
183+
weight: x,
184+
item: 2,
185+
},
186+
Weighted {
187+
weight: 1,
188+
item: 3,
189+
}]);
190+
172191
let z = [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, yyyyyyyyyyyyyyyyyyyyyyyyyyy, zzzzzzzzzzzzzzzzzz, q];
173192

174193
[ 1 + 3, 4 , 5, 6, 7, 7, fncall::<Vec<_>>(3-1)]

tests/target/expr.rs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,30 @@ fn arrays() {
176176
2, // post comment
177177
3];
178178

179+
let xy = [strukt {
180+
test123: value_one_two_three_four,
181+
turbo: coolio(),
182+
},
183+
// comment
184+
1];
185+
186+
let a = WeightedChoice::new(&mut [Weighted {
187+
weight: x,
188+
item: 0,
189+
},
190+
Weighted {
191+
weight: 1,
192+
item: 1,
193+
},
194+
Weighted {
195+
weight: x,
196+
item: 2,
197+
},
198+
Weighted {
199+
weight: 1,
200+
item: 3,
201+
}]);
202+
179203
let z = [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,
180204
yyyyyyyyyyyyyyyyyyyyyyyyyyy,
181205
zzzzzzzzzzzzzzzzzz,

0 commit comments

Comments
 (0)