about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMarcus Klaas de Vries <mail@marcusklaas.nl>2015-11-21 21:04:34 +0100
committerMarcus Klaas de Vries <mail@marcusklaas.nl>2015-11-21 21:04:34 +0100
commit2a159e05ac4e0a42ab1e154b96bce01073d8bb1e (patch)
tree9f4c5d032934e5e507eb745a33e61a9237ac2257 /src
parent7809e3bb18b5a1ce6548a34c2559a9f08d3ac74a (diff)
parent465662a69187f89a48700c746ec63200bbb21942 (diff)
Merge pull request #635 from Marwes/long_field_access
Fix long field accesses not being broken onto separate lines
Diffstat (limited to 'src')
-rw-r--r--src/chains.rs18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/chains.rs b/src/chains.rs
index 665fb5ac073..9e85b22da02 100644
--- a/src/chains.rs
+++ b/src/chains.rs
@@ -194,8 +194,22 @@ fn rewrite_chain_expr(expr: &ast::Expr,
                                 width,
                                 offset)
         }
-        ast::Expr_::ExprField(_, ref field) => Some(format!(".{}", field.node)),
-        ast::Expr_::ExprTupField(_, ref field) => Some(format!(".{}", field.node)),
+        ast::Expr_::ExprField(_, ref field) => {
+            let s = format!(".{}", field.node);
+            if s.len() <= width {
+                Some(s)
+            } else {
+                None
+            }
+        }
+        ast::Expr_::ExprTupField(_, ref field) => {
+            let s = format!(".{}", field.node);
+            if s.len() <= width {
+                Some(s)
+            } else {
+                None
+            }
+        }
         _ => unreachable!(),
     }
 }