diff options
| author | Josh Chase <josh@jec.pw> | 2018-06-19 11:28:58 -0400 |
|---|---|---|
| committer | Josh Chase <josh@jec.pw> | 2018-06-19 12:13:35 -0400 |
| commit | ee5ff2d9e8f2fcf7ef8ceefc5de78e5439ed7a21 (patch) | |
| tree | 4e6cdcbe95ceda0bc3839d69912317fd41288819 /src | |
| parent | 2077855e000210be5c89f4d7e17e495122686b28 (diff) | |
Add flag to the ListFormatting struct for nested imports
Diffstat (limited to 'src')
| -rw-r--r-- | src/attr.rs | 1 | ||||
| -rw-r--r-- | src/closures.rs | 1 | ||||
| -rw-r--r-- | src/expr.rs | 2 | ||||
| -rw-r--r-- | src/imports.rs | 1 | ||||
| -rw-r--r-- | src/items.rs | 4 | ||||
| -rw-r--r-- | src/lists.rs | 6 | ||||
| -rw-r--r-- | src/macros.rs | 1 | ||||
| -rw-r--r-- | src/matches.rs | 1 | ||||
| -rw-r--r-- | src/overflow.rs | 1 | ||||
| -rw-r--r-- | src/reorder.rs | 1 | ||||
| -rw-r--r-- | src/types.rs | 1 | ||||
| -rw-r--r-- | src/vertical.rs | 1 |
12 files changed, 20 insertions, 1 deletions
diff --git a/src/attr.rs b/src/attr.rs index 28e3e24ea09..efbd4872aae 100644 --- a/src/attr.rs +++ b/src/attr.rs @@ -247,6 +247,7 @@ impl Rewrite for ast::MetaItem { shape: item_shape, ends_with_newline: false, preserve_newline: false, + nested: false, config: context.config, }; let item_str = write_list(&item_vec, &fmt)?; diff --git a/src/closures.rs b/src/closures.rs index 3d0a52de0dc..257b8729f45 100644 --- a/src/closures.rs +++ b/src/closures.rs @@ -260,6 +260,7 @@ fn rewrite_closure_fn_decl( shape: arg_shape, ends_with_newline: false, preserve_newline: true, + nested: false, config: context.config, }; let list_str = write_list(&item_vec, &fmt)?; diff --git a/src/expr.rs b/src/expr.rs index 112383e7e4c..0c2716a2dba 100644 --- a/src/expr.rs +++ b/src/expr.rs @@ -1338,6 +1338,7 @@ pub fn rewrite_multiple_patterns( shape, ends_with_newline: false, preserve_newline: false, + nested: false, config: context.config, }; write_list(&items, &fmt) @@ -1902,6 +1903,7 @@ where shape, ends_with_newline: false, preserve_newline: false, + nested: false, config: context.config, }; let list_str = write_list(&item_vec, &fmt)?; diff --git a/src/imports.rs b/src/imports.rs index 4740921c525..7e45bb55f0d 100644 --- a/src/imports.rs +++ b/src/imports.rs @@ -727,6 +727,7 @@ fn rewrite_nested_use_tree( shape: nested_shape, ends_with_newline, preserve_newline: true, + nested: has_nested_list, config: context.config, }; diff --git a/src/items.rs b/src/items.rs index 38311abcba0..843d5839de9 100644 --- a/src/items.rs +++ b/src/items.rs @@ -533,6 +533,7 @@ impl<'a> FmtVisitor<'a> { shape, ends_with_newline: true, preserve_newline: true, + nested: false, config: self.config, }; @@ -2307,6 +2308,7 @@ fn rewrite_args( shape: Shape::legacy(budget, indent), ends_with_newline: tactic.ends_with_newline(context.config.indent_style()), preserve_newline: true, + nested: false, config: context.config, }; @@ -2494,6 +2496,7 @@ fn rewrite_where_clause_rfc_style( shape: clause_shape, ends_with_newline: true, preserve_newline: true, + nested: false, config: context.config, }; let preds_str = write_list(&items.collect::<Vec<_>>(), &fmt)?; @@ -2607,6 +2610,7 @@ fn rewrite_where_clause( shape: Shape::legacy(budget, offset), ends_with_newline: tactic.ends_with_newline(context.config.indent_style()), preserve_newline: true, + nested: false, config: context.config, }; let preds_str = write_list(&item_vec, &fmt)?; diff --git a/src/lists.rs b/src/lists.rs index 5562602133b..97dd093b4f9 100644 --- a/src/lists.rs +++ b/src/lists.rs @@ -34,6 +34,8 @@ pub struct ListFormatting<'a> { pub ends_with_newline: bool, // Remove newlines between list elements for expressions. pub preserve_newline: bool, + // Nested import lists get some special handling for the "Mixed" list type + pub nested: bool, pub config: &'a Config, } @@ -288,7 +290,8 @@ where // 1 is space between separator and item. if (line_len > 0 && line_len + 1 + total_width > formatting.shape.width) || prev_item_had_post_comment - || (prev_item_is_nested_import || (!first && inner_item.contains("::"))) + || (formatting.nested + && (prev_item_is_nested_import || (!first && inner_item.contains("::")))) { result.push('\n'); result.push_str(indent_str); @@ -824,6 +827,7 @@ pub fn struct_lit_formatting<'a>( shape, ends_with_newline, preserve_newline: true, + nested: false, config: context.config, } } diff --git a/src/macros.rs b/src/macros.rs index 9053aaebd90..801e04baad0 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -399,6 +399,7 @@ pub fn rewrite_macro_def( shape: arm_shape, ends_with_newline: true, preserve_newline: true, + nested: false, config: context.config, }; diff --git a/src/matches.rs b/src/matches.rs index 9551dc36002..c179efc3963 100644 --- a/src/matches.rs +++ b/src/matches.rs @@ -224,6 +224,7 @@ fn rewrite_match_arms( shape: arm_shape, ends_with_newline: true, preserve_newline: true, + nested: false, config: context.config, }; diff --git a/src/overflow.rs b/src/overflow.rs index 62675b4002c..f91ef38e2ee 100644 --- a/src/overflow.rs +++ b/src/overflow.rs @@ -388,6 +388,7 @@ impl<'a, T: 'a + Rewrite + ToExpr + Spanned> Context<'a, T> { _ => false, }, preserve_newline: false, + nested: false, config: self.context.config, }; diff --git a/src/reorder.rs b/src/reorder.rs index 027b64e8317..ed6df1227ef 100644 --- a/src/reorder.rs +++ b/src/reorder.rs @@ -77,6 +77,7 @@ fn wrap_reorderable_items( shape, ends_with_newline: true, preserve_newline: false, + nested: false, config: context.config, }; diff --git a/src/types.rs b/src/types.rs index 46d48e72763..44fdbee6efd 100644 --- a/src/types.rs +++ b/src/types.rs @@ -366,6 +366,7 @@ where shape: list_shape, ends_with_newline: tactic.ends_with_newline(context.config.indent_style()), preserve_newline: true, + nested: false, config: context.config, }; diff --git a/src/vertical.rs b/src/vertical.rs index 1595b22c5c4..a8a8ee6cec3 100644 --- a/src/vertical.rs +++ b/src/vertical.rs @@ -252,6 +252,7 @@ fn rewrite_aligned_items_inner<T: AlignedItem>( shape: item_shape, ends_with_newline: true, preserve_newline: true, + nested: false, config: context.config, }; write_list(&items, &fmt) |
