Fix fmt_spaces indenting in the context of 3 or more newlines

This commit is contained in:
Joshua Warner 2021-11-30 08:49:46 -08:00
parent 8ab7b121eb
commit c6116ba3ca
2 changed files with 26 additions and 1 deletions

View file

@ -46,7 +46,7 @@ where
match space { match space {
Newline => { Newline => {
if !encountered_comment && (consecutive_newlines < 2) { if !encountered_comment && (consecutive_newlines < 2) {
if iter.peek() == Some(&&Newline) { if iter.peek() == Some(&&Newline) && consecutive_newlines < 1 {
buf.push('\n'); buf.push('\n');
} else { } else {
newline(buf, indent); newline(buf, indent);

View file

@ -2110,6 +2110,31 @@ mod test_fmt {
)); ));
} }
#[test]
fn inner_def_with_triple_newline_before() {
expr_formats_to(
indoc!(
r#"
\x ->
m1 = insert m n powerOf10
42
"#
),
indoc!(
r#"
\x ->
m1 = insert m n powerOf10
42
"#
),
);
}
#[test] #[test]
fn when_guard() { fn when_guard() {
expr_formats_same(indoc!( expr_formats_same(indoc!(