diff options
| author | Gaëtan Cassiers <gaetan.cassiers@gmail.com> | 2015-05-24 23:46:02 +0200 |
|---|---|---|
| committer | Gaëtan Cassiers <gaetan.cassiers@gmail.com> | 2015-05-24 23:46:02 +0200 |
| commit | 09bd4a74e4dfa64fd1223662eef71bf6bd9c2f44 (patch) | |
| tree | 10ce1751bb8bd7c9f8c6b5b956b5317621a64df5 /src/expr.rs | |
| parent | c1fc693c5e5676f93a331a0498dc6ba36193cd66 (diff) | |
Avoid dangling )
Diffstat (limited to 'src/expr.rs')
| -rw-r--r-- | src/expr.rs | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/src/expr.rs b/src/expr.rs index c242322a51d..79234eb7f13 100644 --- a/src/expr.rs +++ b/src/expr.rs @@ -127,24 +127,13 @@ impl<'a> FmtVisitor<'a> { fn rewrite_paren(&mut self, subexpr: &ast::Expr, width: usize, offset: usize) -> String { debug!("rewrite_paren, width: {}, offset: {}", width, offset); - // 1 is for opening paren - let subexpr_str = self.rewrite_expr(subexpr, width-1, offset+1); + // 1 is for opening paren, 2 is for opening+closing, we want to keep the closing + // paren on the same line as the subexpr + let subexpr_str = self.rewrite_expr(subexpr, width-2, offset+1); debug!("rewrite_paren, subexpr_str: `{}`", subexpr_str); - let mut lines = subexpr_str.rsplit('\n'); - let last_line_len = lines.next().unwrap().len(); - let last_line_offset = match lines.next() { - None => offset+1, - Some(_) => 0, - }; - if width + offset - last_line_offset - last_line_len > 0 { - format!("({})", subexpr_str) - } else { - // FIXME That's correct unless we have width < 2. Return an Option for such cases ? - format!("({}\n{} )", subexpr_str, make_indent(offset)) - } + format!("({})", subexpr_str) } - pub fn rewrite_expr(&mut self, expr: &ast::Expr, width: usize, offset: usize) -> String { match expr.node { ast::Expr_::ExprLit(ref l) => { |
