Put empty modules on one line

Fixes #463
This commit is contained in:
Nick Cameron 2016-01-28 19:53:41 +13:00
parent fb17a44584
commit a0e85f9a5f
4 changed files with 17 additions and 14 deletions

View File

@ -454,11 +454,19 @@ impl<'a> FmtVisitor<'a> {
if is_internal {
self.buffer.push_str(" {");
self.last_pos = ::utils::span_after(s, "{", self.codemap);
self.block_indent = self.block_indent.block_indent(self.config);
self.walk_mod_items(m);
self.format_missing_with_indent(m.inner.hi - BytePos(1));
self.close_block();
// Hackery to account for the closing }.
let mod_lo = ::utils::span_after(s, "{", self.codemap);
let body_snippet = self.snippet(codemap::mk_sp(mod_lo, m.inner.hi - BytePos(1)));
let body_snippet = body_snippet.trim();
if body_snippet.is_empty() {
self.buffer.push_str("}");
} else {
self.last_pos = mod_lo;
self.block_indent = self.block_indent.block_indent(self.config);
self.walk_mod_items(m);
self.format_missing_with_indent(m.inner.hi - BytePos(1));
self.close_block();
}
self.last_pos = m.inner.hi;
} else {
self.buffer.push_str(";");

View File

@ -2,5 +2,4 @@
/// This is a long line that angers rustfmt. Rustfmt shall deal with it swiftly
/// and justly.
pub mod foo {
}
pub mod foo {}

View File

@ -3,5 +3,4 @@
//! This is a long line that angers rustfmt. Rustfmt shall deal with it swiftly
//! and justly.
pub mod foo {
}
pub mod foo {}

View File

@ -2,8 +2,7 @@
mod foo {
mod bar {
mod baz {
}
mod baz {}
}
}
@ -16,9 +15,7 @@ mod foo {
}
}
mod qux {
}
mod qux {}
}
mod boxed {