diff options
| author | C4K3 <github25b@c4k3.net> | 2017-03-26 07:32:29 +0200 |
|---|---|---|
| committer | Nick Cameron <nrc@ncameron.org> | 2017-03-26 18:32:29 +1300 |
| commit | abca1dededc504eeff7fb31fb2f92e54c7ddae0e (patch) | |
| tree | 176cc589852c7f712d70ca6c2d049d562a761cbb /src/expr.rs | |
| parent | 0dd0cc1941d5ef8222e36d54b0efd38628d589ee (diff) | |
Add indent_match_arms option (#1404)
Makes it optional whether to indent arms in match expressions. Setting this to false may be desirable for people wishing to avoid double-indents, in that if the match arm is a block, the block will cause an extra indentation level, and if it isn't a block but just a single line, it's still easy to see the logic at a glance. This style is preferred in certain other languages with switch statements, e.g. Linux style C and the most common Java style.
Diffstat (limited to 'src/expr.rs')
| -rw-r--r-- | src/expr.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/expr.rs b/src/expr.rs index 1df0f2a96d0..6ab9e1c3393 100644 --- a/src/expr.rs +++ b/src/expr.rs @@ -1137,7 +1137,12 @@ fn rewrite_match(context: &RewriteContext, }; let mut result = format!("match {}{}{{", cond_str, block_sep); - let arm_shape = shape.block_indent(context.config.tab_spaces); + let arm_shape = if context.config.indent_match_arms { + shape.block_indent(context.config.tab_spaces) + } else { + shape.block_indent(0) + }; + let arm_indent_str = arm_shape.indent.to_string(context.config); let open_brace_pos = context.codemap.span_after(mk_sp(cond.span.hi, arm_start_pos(&arms[0])), |
