diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/config.rs | 4 | ||||
| -rw-r--r-- | src/expr.rs | 10 | ||||
| -rw-r--r-- | src/items.rs | 10 |
3 files changed, 17 insertions, 7 deletions
diff --git a/src/config.rs b/src/config.rs index 1d912093c2e..112d8e35d1d 100644 --- a/src/config.rs +++ b/src/config.rs @@ -564,6 +564,10 @@ create_config! { "Leave a space before the colon in a type annotation"; space_after_type_annotation_colon: bool, true, "Leave a space after the colon in a type annotation"; + space_before_struct_lit_field_colon: bool, false, + "Leave a space before the colon in a struct literal field"; + space_after_struct_lit_field_colon: bool, true, + "Leave a space after the colon in a struct literal field"; space_before_bound: bool, false, "Leave a space before the colon in a trait or lifetime bound"; space_after_bound_colon: bool, true, "Leave a space after the colon in a trait or lifetime bound"; diff --git a/src/expr.rs b/src/expr.rs index 16dfe6fcaa6..8392ab438cd 100644 --- a/src/expr.rs +++ b/src/expr.rs @@ -2050,18 +2050,18 @@ fn rewrite_struct_lit<'a>(context: &RewriteContext, // FIXME if context.config.struct_lit_style() == Visual, but we run out // of space, we should fall back to BlockIndent. } - -pub fn type_annotation_separator(config: &Config) -> &str { - colon_spaces(config.space_before_type_annotation(), - config.space_after_type_annotation_colon()) +pub fn struct_lit_field_separator(config: &Config) -> &str { + colon_spaces(config.space_before_struct_lit_field_colon(), + config.space_after_struct_lit_field_colon()) } + fn rewrite_field(context: &RewriteContext, field: &ast::Field, shape: Shape) -> Option<String> { let name = &field.ident.node.to_string(); if field.is_shorthand { Some(name.to_string()) } else { - let separator = type_annotation_separator(context.config); + let separator = struct_lit_field_separator(context.config); let overhead = name.len() + separator.len(); let mut expr_shape = try_opt!(shape.sub_width(overhead)); expr_shape.offset += overhead; diff --git a/src/items.rs b/src/items.rs index fdcf96454c7..bf7933b547c 100644 --- a/src/items.rs +++ b/src/items.rs @@ -14,10 +14,10 @@ use {Indent, Shape}; use codemap::SpanUtils; use utils::{format_mutability, format_visibility, contains_skip, end_typaram, wrap_str, last_line_width, format_unsafety, trim_newlines, stmt_expr, semicolon_for_expr, - trimmed_last_line_width}; + trimmed_last_line_width, colon_spaces}; use lists::{write_list, itemize_list, ListItem, ListFormatting, SeparatorTactic, list_helper, DefinitiveListTactic, ListTactic, definitive_tactic, format_item_list}; -use expr::{is_empty_block, is_simple_block_stmt, rewrite_assign_rhs, type_annotation_separator}; +use expr::{is_empty_block, is_simple_block_stmt, rewrite_assign_rhs}; use comment::{FindUncommented, contains_comment, rewrite_comment, recover_comment_removed}; use visitor::FmtVisitor; use rewrite::{Rewrite, RewriteContext}; @@ -27,6 +27,12 @@ use syntax::{ast, abi, codemap, ptr, symbol}; use syntax::codemap::{Span, BytePos, mk_sp}; use syntax::ast::ImplItem; +fn type_annotation_separator(config: &Config) -> &str { + colon_spaces(config.space_before_type_annotation(), + config.space_after_type_annotation_colon()) +} + + // Statements of the form // let pat: ty = init; impl Rewrite for ast::Local { |
