fix: awkward assignment formatting

Co-authored-by: Lucas Rosa <x@rvcas.dev>
This commit is contained in:
microproofs 2024-03-13 19:10:06 -04:00
parent b16880a170
commit 1d72838f83
1 changed files with 22 additions and 5 deletions

View File

@ -722,12 +722,29 @@ impl<'comments> Formatter<'comments> {
},
);
keyword
let pattern_len = patterns.len();
let assignment = keyword
.to_doc()
.append(break_("", " "))
.append(join(patterns, break_(",", ", ")))
.nest(INDENT)
.append(break_(",", " "))
.append(if pattern_len == 1 {
" ".to_doc()
} else {
break_("", " ")
})
.append(join(patterns, break_(",", ", ")));
let assignment = if pattern_len == 1 {
assignment
} else {
assignment.nest(INDENT)
};
assignment
.append(if pattern_len == 1 {
" ".to_doc()
} else {
break_(",", " ")
})
.append(symbol)
.append(self.case_clause_value(value))
}