Add leave_last field to ListItems
This commit is contained in:
parent
f9239dd630
commit
be38606c77
8 changed files with 25 additions and 1 deletions
|
@ -466,6 +466,7 @@ where
|
||||||
|item| item.rewrite(context, nested_shape),
|
|item| item.rewrite(context, nested_shape),
|
||||||
span.lo,
|
span.lo,
|
||||||
span.hi,
|
span.hi,
|
||||||
|
false,
|
||||||
).collect::<Vec<_>>();
|
).collect::<Vec<_>>();
|
||||||
|
|
||||||
if items.is_empty() {
|
if items.is_empty() {
|
||||||
|
@ -587,6 +588,7 @@ fn rewrite_closure_fn_decl(
|
||||||
|arg| arg.rewrite(context, arg_shape),
|
|arg| arg.rewrite(context, arg_shape),
|
||||||
context.codemap.span_after(span, "|"),
|
context.codemap.span_after(span, "|"),
|
||||||
body.span.lo,
|
body.span.lo,
|
||||||
|
false,
|
||||||
);
|
);
|
||||||
let item_vec = arg_items.collect::<Vec<_>>();
|
let item_vec = arg_items.collect::<Vec<_>>();
|
||||||
// 1 = space between arguments and return type.
|
// 1 = space between arguments and return type.
|
||||||
|
@ -2190,6 +2192,7 @@ where
|
||||||
|item| item.rewrite(context, shape),
|
|item| item.rewrite(context, shape),
|
||||||
span.lo,
|
span.lo,
|
||||||
span.hi,
|
span.hi,
|
||||||
|
true,
|
||||||
);
|
);
|
||||||
let mut item_vec: Vec<_> = items.collect();
|
let mut item_vec: Vec<_> = items.collect();
|
||||||
|
|
||||||
|
@ -2651,6 +2654,7 @@ fn rewrite_struct_lit<'a>(
|
||||||
rewrite,
|
rewrite,
|
||||||
body_lo,
|
body_lo,
|
||||||
span.hi,
|
span.hi,
|
||||||
|
false,
|
||||||
);
|
);
|
||||||
let item_vec = items.collect::<Vec<_>>();
|
let item_vec = items.collect::<Vec<_>>();
|
||||||
|
|
||||||
|
@ -2803,6 +2807,7 @@ where
|
||||||
|item| item.rewrite(context, nested_shape),
|
|item| item.rewrite(context, nested_shape),
|
||||||
list_lo,
|
list_lo,
|
||||||
span.hi - BytePos(1),
|
span.hi - BytePos(1),
|
||||||
|
false,
|
||||||
);
|
);
|
||||||
let item_vec: Vec<_> = items.collect();
|
let item_vec: Vec<_> = items.collect();
|
||||||
let tactic = definitive_tactic(
|
let tactic = definitive_tactic(
|
||||||
|
|
|
@ -442,6 +442,7 @@ fn rewrite_use_list(
|
||||||
rewrite_path_item,
|
rewrite_path_item,
|
||||||
context.codemap.span_after(span, "{"),
|
context.codemap.span_after(span, "{"),
|
||||||
span.hi,
|
span.hi,
|
||||||
|
false,
|
||||||
);
|
);
|
||||||
items.extend(iter);
|
items.extend(iter);
|
||||||
items
|
items
|
||||||
|
|
|
@ -469,6 +469,7 @@ impl<'a> FmtVisitor<'a> {
|
||||||
|f| self.format_variant(f),
|
|f| self.format_variant(f),
|
||||||
body_lo,
|
body_lo,
|
||||||
body_hi,
|
body_hi,
|
||||||
|
false,
|
||||||
);
|
);
|
||||||
|
|
||||||
let shape = Shape::indented(self.block_indent, self.config)
|
let shape = Shape::indented(self.block_indent, self.config)
|
||||||
|
@ -2207,6 +2208,7 @@ fn rewrite_args(
|
||||||
},
|
},
|
||||||
comment_span_start,
|
comment_span_start,
|
||||||
span.hi,
|
span.hi,
|
||||||
|
false,
|
||||||
);
|
);
|
||||||
|
|
||||||
arg_items.extend(more_items);
|
arg_items.extend(more_items);
|
||||||
|
@ -2411,6 +2413,7 @@ fn rewrite_generics_inner(
|
||||||
|&(_, ref str)| str.clone(),
|
|&(_, ref str)| str.clone(),
|
||||||
context.codemap.span_after(span, "<"),
|
context.codemap.span_after(span, "<"),
|
||||||
span.hi,
|
span.hi,
|
||||||
|
false,
|
||||||
);
|
);
|
||||||
format_generics_item_list(context, items, shape, one_line_width)
|
format_generics_item_list(context, items, shape, one_line_width)
|
||||||
}
|
}
|
||||||
|
@ -2554,6 +2557,7 @@ fn rewrite_where_clause_rfc_style(
|
||||||
|pred| pred.rewrite(context, block_shape),
|
|pred| pred.rewrite(context, block_shape),
|
||||||
span_start,
|
span_start,
|
||||||
span_end,
|
span_end,
|
||||||
|
false,
|
||||||
);
|
);
|
||||||
let comma_tactic = if where_clause_option.suppress_comma {
|
let comma_tactic = if where_clause_option.suppress_comma {
|
||||||
SeparatorTactic::Never
|
SeparatorTactic::Never
|
||||||
|
@ -2654,6 +2658,7 @@ fn rewrite_where_clause(
|
||||||
|pred| pred.rewrite(context, Shape::legacy(budget, offset)),
|
|pred| pred.rewrite(context, Shape::legacy(budget, offset)),
|
||||||
span_start,
|
span_start,
|
||||||
span_end,
|
span_end,
|
||||||
|
false,
|
||||||
);
|
);
|
||||||
let item_vec = items.collect::<Vec<_>>();
|
let item_vec = items.collect::<Vec<_>>();
|
||||||
// FIXME: we don't need to collect here if the where_layout isn't
|
// FIXME: we don't need to collect here if the where_layout isn't
|
||||||
|
|
|
@ -454,6 +454,7 @@ where
|
||||||
prev_span_end: BytePos,
|
prev_span_end: BytePos,
|
||||||
next_span_start: BytePos,
|
next_span_start: BytePos,
|
||||||
terminator: &'a str,
|
terminator: &'a str,
|
||||||
|
leave_last: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a, T, I, F1, F2, F3> Iterator for ListItems<'a, I, F1, F2, F3>
|
impl<'a, T, I, F1, F2, F3> Iterator for ListItems<'a, I, F1, F2, F3>
|
||||||
|
@ -592,7 +593,11 @@ where
|
||||||
ListItem {
|
ListItem {
|
||||||
pre_comment: pre_comment,
|
pre_comment: pre_comment,
|
||||||
pre_comment_style: pre_comment_style,
|
pre_comment_style: pre_comment_style,
|
||||||
item: (self.get_item_string)(&item),
|
item: if self.inner.peek().is_none() && self.leave_last {
|
||||||
|
None
|
||||||
|
} else {
|
||||||
|
(self.get_item_string)(&item)
|
||||||
|
},
|
||||||
post_comment: post_comment,
|
post_comment: post_comment,
|
||||||
new_lines: new_lines,
|
new_lines: new_lines,
|
||||||
}
|
}
|
||||||
|
@ -610,6 +615,7 @@ pub fn itemize_list<'a, T, I, F1, F2, F3>(
|
||||||
get_item_string: F3,
|
get_item_string: F3,
|
||||||
prev_span_end: BytePos,
|
prev_span_end: BytePos,
|
||||||
next_span_start: BytePos,
|
next_span_start: BytePos,
|
||||||
|
leave_last: bool,
|
||||||
) -> ListItems<'a, I, F1, F2, F3>
|
) -> ListItems<'a, I, F1, F2, F3>
|
||||||
where
|
where
|
||||||
I: Iterator<Item = T>,
|
I: Iterator<Item = T>,
|
||||||
|
@ -626,6 +632,7 @@ where
|
||||||
prev_span_end: prev_span_end,
|
prev_span_end: prev_span_end,
|
||||||
next_span_start: next_span_start,
|
next_span_start: next_span_start,
|
||||||
terminator: terminator,
|
terminator: terminator,
|
||||||
|
leave_last: leave_last,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -162,6 +162,7 @@ fn rewrite_struct_pat(
|
||||||
|f| f.node.rewrite(context, v_shape),
|
|f| f.node.rewrite(context, v_shape),
|
||||||
context.codemap.span_after(span, "{"),
|
context.codemap.span_after(span, "{"),
|
||||||
span.hi,
|
span.hi,
|
||||||
|
false,
|
||||||
);
|
);
|
||||||
let item_vec = items.collect::<Vec<_>>();
|
let item_vec = items.collect::<Vec<_>>();
|
||||||
|
|
||||||
|
@ -342,6 +343,7 @@ fn count_wildcard_suffix_len(
|
||||||
|item| item.rewrite(context, shape),
|
|item| item.rewrite(context, shape),
|
||||||
context.codemap.span_after(span, "("),
|
context.codemap.span_after(span, "("),
|
||||||
span.hi - BytePos(1),
|
span.hi - BytePos(1),
|
||||||
|
false,
|
||||||
).collect();
|
).collect();
|
||||||
|
|
||||||
for item in items.iter().rev().take_while(|i| match i.item {
|
for item in items.iter().rev().take_while(|i| match i.item {
|
||||||
|
|
|
@ -241,6 +241,7 @@ fn rewrite_segment(
|
||||||
|seg| seg.rewrite(context, generics_shape),
|
|seg| seg.rewrite(context, generics_shape),
|
||||||
list_lo,
|
list_lo,
|
||||||
span_hi,
|
span_hi,
|
||||||
|
false,
|
||||||
);
|
);
|
||||||
let generics_str = try_opt!(format_generics_item_list(
|
let generics_str = try_opt!(format_generics_item_list(
|
||||||
context,
|
context,
|
||||||
|
@ -344,6 +345,7 @@ where
|
||||||
},
|
},
|
||||||
list_lo,
|
list_lo,
|
||||||
span.hi,
|
span.hi,
|
||||||
|
false,
|
||||||
);
|
);
|
||||||
|
|
||||||
let item_vec: Vec<_> = items.collect();
|
let item_vec: Vec<_> = items.collect();
|
||||||
|
|
|
@ -219,6 +219,7 @@ fn rewrite_aligned_items_inner<T: AlignedItem>(
|
||||||
|field| field.rewrite_aligned_item(context, item_shape, field_prefix_max_width),
|
|field| field.rewrite_aligned_item(context, item_shape, field_prefix_max_width),
|
||||||
span.lo,
|
span.lo,
|
||||||
span.hi,
|
span.hi,
|
||||||
|
false,
|
||||||
).collect::<Vec<_>>();
|
).collect::<Vec<_>>();
|
||||||
|
|
||||||
let tactic = definitive_tactic(
|
let tactic = definitive_tactic(
|
||||||
|
|
|
@ -818,6 +818,7 @@ impl Rewrite for ast::MetaItem {
|
||||||
|nested_meta_item| nested_meta_item.rewrite(context, item_shape),
|
|nested_meta_item| nested_meta_item.rewrite(context, item_shape),
|
||||||
self.span.lo,
|
self.span.lo,
|
||||||
hi,
|
hi,
|
||||||
|
false,
|
||||||
);
|
);
|
||||||
let item_vec = items.collect::<Vec<_>>();
|
let item_vec = items.collect::<Vec<_>>();
|
||||||
let fmt = ListFormatting {
|
let fmt = ListFormatting {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue