Lennart Spitzner
5481e5015f
Make use of OpTree for type (signature) layouting, Fix layout
...
Some more cases that still produced broken layout on interaction
with do-blocks were fixed.
2023-05-29 20:44:01 +00:00
Lennart Spitzner
adc74d8bb1
Fix paren-multiline-expression in do block
2023-05-28 13:55:21 +00:00
Lennart Spitzner
7bf2879ac0
Deny one layout for OpApp cases unless precedence<=1
...
Previously allowed: `foo = abc + def-as-par`
Still allowed: `foo = abc $ def-as-par`
Still allowed: `foo = abc <&> \x -> def-as-par`
2023-05-08 15:15:14 +00:00
Lennart Spitzner
e7cdff440d
Fix space between paren and multi-line lambda
2023-05-08 15:15:14 +00:00
Lennart Spitzner
7ab6a207ae
Update OpApp layouting options
...
- Allow par-spacing for single-operator 1+n-line layout
- Tweak when to flatten operators, i.e. when to allow a flat one-line-each
layout for the operator sequence "$ $ $ + +".
2023-05-02 09:16:44 +00:00
Lennart Spitzner
99e5aacb5e
Discard special case for non-nested OpApp
2023-05-02 09:16:04 +00:00
Lennart Spitzner
52e4658314
Minor comment updates and cleanup
2023-05-02 09:16:04 +00:00
Lennart Spitzner
156b5cf407
setParSpacing for operator-expression ending in par
2023-05-02 09:16:04 +00:00
Lennart Spitzner
5563cd4d93
Dont flatten operators without surrounding parens
2023-05-02 09:16:04 +00:00
Lennart Spitzner
ebe85a5949
Use dependency-injection for ToBriDoc modules
...
I assume this makes inlining impossible, but it enables
parallel compilation of all these modules. In my tests
this reduce wall clock time to 92%, and with more cores
the benefit should be higher.
2023-05-02 09:16:04 +00:00
Lennart Spitzner
676695a609
Implement fixity-aware-ops feature
2023-05-02 09:16:03 +00:00