]> git.lizzy.rs Git - rust.git/commitdiff
Generalize ListItems to allow a separator other than comma
authortopecongiro <seuchida@gmail.com>
Thu, 16 Nov 2017 08:38:12 +0000 (17:38 +0900)
committertopecongiro <seuchida@gmail.com>
Thu, 16 Nov 2017 08:43:36 +0000 (17:43 +0900)
src/closures.rs
src/expr.rs
src/imports.rs
src/items.rs
src/lists.rs
src/patterns.rs
src/types.rs
src/vertical.rs
src/visitor.rs

index 5f5b3d8fe261005ff8f87881b423b16906dd73eb..8290f1b09a13636b8f5554191bbef32a55500a1f 100644 (file)
@@ -194,6 +194,7 @@ fn rewrite_closure_fn_decl(
         context.codemap,
         fn_decl.inputs.iter(),
         "|",
+        ",",
         |arg| span_lo_for_arg(arg),
         |arg| span_hi_for_arg(context, arg),
         |arg| arg.rewrite(context, arg_shape),
index 1086a7030ba485b74d7ab3d4ce4f015fab0c54d3..0b47bb847ed8e3e0c3901e4acfda7d3efdedf37a 100644 (file)
@@ -430,6 +430,7 @@ pub fn rewrite_array<'a, I>(
         context.codemap,
         expr_iter,
         "]",
+        ",",
         |item| item.span.lo(),
         |item| item.span.hi(),
         |item| item.rewrite(context, nested_shape),
@@ -1341,6 +1342,7 @@ fn rewrite_match_arms(
             .zip(is_last_iter)
             .map(|(arm, is_last)| ArmWrapper::new(arm, is_last)),
         "}",
+        "|",
         |arm| arm.arm.span().lo(),
         |arm| arm.arm.span().hi(),
         |arm| arm.rewrite(context, arm_shape),
@@ -1874,6 +1876,7 @@ fn rewrite_call_args<'a, T>(
         context.codemap,
         args.iter(),
         ")",
+        ",",
         |item| item.span().lo(),
         |item| item.span().hi(),
         |item| item.rewrite(context, shape),
@@ -2301,6 +2304,7 @@ enum StructLitField<'a> {
             context.codemap,
             field_iter,
             "}",
+            ",",
             span_lo,
             span_hi,
             rewrite,
@@ -2451,6 +2455,7 @@ fn rewrite_tuple_in_visual_indent_style<'a, T>(
         context.codemap,
         items,
         ")",
+        ",",
         |item| item.span().lo(),
         |item| item.span().hi(),
         |item| item.rewrite(context, nested_shape),
index 300aa046cf12ec4653fcc6bf918c1c9df65bc8df..56d23fa98277ec372a55abdfe8b9cdf1a61e1173 100644 (file)
@@ -212,6 +212,7 @@ fn rewrite_imports(
         context.codemap,
         use_items.iter(),
         "",
+        ";",
         |item| item.span().lo(),
         |item| item.span().hi(),
         |item| {
@@ -442,6 +443,7 @@ fn rewrite_use_list(
             context.codemap,
             path_list.iter(),
             "}",
+            ",",
             |vpi| vpi.span.lo(),
             |vpi| vpi.span.hi(),
             rewrite_path_item,
index 0c1895c23914fbb8d4cdfcd30bf1b29cefddb4a5..2dda5bc16bd27de250df1eb03c8d71d1150faa3c 100644 (file)
@@ -489,6 +489,7 @@ fn format_variant_list(
                 self.codemap,
                 enum_def.variants.iter(),
                 "}",
+                ",",
                 |f| if !f.node.attrs.is_empty() {
                     f.node.attrs[0].span.lo()
                 } else {
@@ -2226,6 +2227,7 @@ enum ArgumentKind<'a> {
                 .map(ArgumentKind::Regular)
                 .chain(variadic_arg),
             ")",
+            ",",
             |arg| match *arg {
                 ArgumentKind::Regular(arg) => span_lo_for_arg(arg),
                 ArgumentKind::Variadic(start) => start,
@@ -2447,6 +2449,7 @@ fn span(&self) -> Span {
         context.codemap,
         generics_args,
         ">",
+        ",",
         |arg| arg.span().lo(),
         |arg| arg.span().hi(),
         |arg| arg.rewrite(context, shape),
@@ -2589,6 +2592,7 @@ fn rewrite_where_clause_rfc_style(
         context.codemap,
         where_clause.predicates.iter(),
         terminator,
+        ",",
         |pred| pred.span().lo(),
         |pred| pred.span().hi(),
         |pred| pred.rewrite(context, clause_shape),
@@ -2702,6 +2706,7 @@ fn rewrite_where_clause(
         context.codemap,
         where_clause.predicates.iter(),
         terminator,
+        ",",
         |pred| pred.span().lo(),
         |pred| pred.span().hi(),
         |pred| pred.rewrite(context, Shape::legacy(budget, offset)),
index dc55a8261fa9d3f6046c719f05aa9a3e4929ad82..89382ab76ecdffc644f9f5045a839bb1195c1d38 100644 (file)
@@ -509,6 +509,7 @@ pub struct ListItems<'a, I, F1, F2, F3>
     prev_span_end: BytePos,
     next_span_start: BytePos,
     terminator: &'a str,
+    separator: &'a str,
     leave_last: bool,
 }
 
@@ -581,7 +582,7 @@ fn next(&mut self) -> Option<Self::Item> {
                         }
                     }
                     let newline_index = post_snippet.find('\n');
-                    if let Some(separator_index) = post_snippet.find_uncommented(",") {
+                    if let Some(separator_index) = post_snippet.find_uncommented(self.separator) {
                         match (block_open_index, newline_index) {
                             // Separator before comment, with the next item on same line.
                             // Comment belongs to next item.
@@ -677,6 +678,7 @@ pub fn itemize_list<'a, T, I, F1, F2, F3>(
     codemap: &'a CodeMap,
     inner: I,
     terminator: &'a str,
+    separator: &'a str,
     get_lo: F1,
     get_hi: F2,
     get_item_string: F3,
@@ -699,6 +701,7 @@ pub fn itemize_list<'a, T, I, F1, F2, F3>(
         prev_span_end: prev_span_end,
         next_span_start: next_span_start,
         terminator: terminator,
+        separator: separator,
         leave_last: leave_last,
     }
 }
index 1b8840392cafffae3960f2fabf8bc90c32935743..f4bb59e5127ac69032d6b1ef9ac8d0faee91d29e 100644 (file)
@@ -151,6 +151,7 @@ fn rewrite_struct_pat(
         context.codemap,
         fields.iter(),
         terminator,
+        ",",
         |f| f.span.lo(),
         |f| f.span.hi(),
         |f| f.node.rewrite(context, v_shape),
@@ -347,6 +348,7 @@ fn count_wildcard_suffix_len(
         context.codemap,
         patterns.iter(),
         ")",
+        ",",
         |item| item.span().lo(),
         |item| item.span().hi(),
         |item| item.rewrite(context, shape),
index 180a38b2f23a811a0806a463dff5833ab851abe1..ab4de7349b1c17fdecf6c38753b33e9472b13de7 100644 (file)
@@ -230,6 +230,7 @@ fn rewrite_segment(
                     context.codemap,
                     param_list.into_iter(),
                     ">",
+                    ",",
                     |param| param.get_span().lo(),
                     |param| param.get_span().hi(),
                     |seg| seg.rewrite(context, generics_shape),
@@ -321,6 +322,7 @@ enum ArgumentKind<T>
             .map(|i| ArgumentKind::Regular(Box::new(i)))
             .chain(variadic_arg),
         ")",
+        ",",
         |arg| match *arg {
             ArgumentKind::Regular(ref ty) => ty.span().lo(),
             ArgumentKind::Variadic(start) => start,
index 32072acfc9e6d243b809e2b345ff34d626331860..bb4bad7852e0432925ce229d9aa5742ee584dc65 100644 (file)
@@ -231,6 +231,7 @@ fn rewrite_aligned_items_inner<T: AlignedItem>(
         context.codemap,
         fields.iter(),
         "}",
+        ",",
         |field| field.get_span().lo(),
         |field| field.get_span().hi(),
         |field| field.rewrite_aligned_item(context, item_shape, field_prefix_max_width),
index 159f73452bd83a51b56bddb738f4bda4501a583c..79bade0cc20bb05d3be8792076313306f4c6acfd 100644 (file)
@@ -750,6 +750,7 @@ fn rewrite(&self, context: &RewriteContext, shape: Shape) -> Option<String> {
                     context.codemap,
                     list.iter(),
                     ")",
+                    ",",
                     |nested_meta_item| nested_meta_item.span.lo(),
                     |nested_meta_item| nested_meta_item.span.hi(),
                     |nested_meta_item| nested_meta_item.rewrite(context, item_shape),