Open infinity0 opened 4 years ago
I tried screwing around with the config but it doesn't help either - lconfig_hangingTypeSignature: true
doesn't affect this.
Thanks for the reproduction case.
I am almost tempted to debug why exactly this happens, but this can and should best be resolved by rewriting the HsFunTy{} layouter, using the same technique that the value-level nested-operator layouter uses. Might even be able to remove the docForceMultiline
construct after that and clean up the low-level stuff a bit.
Consider the following type signature. Under the default settings, brittany version
0.12.1.1
does:Not great, but not terrible. However if you extend the type signature by just a little bit more:
Wow, what has happened here? Why all the extra unnecessary line breaks???
(Yes, regrettably my "real use-case" signature is similar, I am coding with dependent types. :disappointed: )