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
56e7d6b5b9
Simplify/Optimize Decl:layoutPatternBindFinal
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
d29303d4cd
Improve one HsLet layout
...
- Allow parSpacing for single-clause layout
- Allow par/sl layout when no where-clause was present
(not sure why this was disabled in the first place)
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
09ec59eaf9
Fix comment-after-context
2023-05-02 09:16:04 +00:00
Lennart Spitzner
b24379d104
Fix restore-position after block comment
2023-05-02 09:16:04 +00:00
Lennart Spitzner
2fef44559e
Fix comments moving after "where"
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
736c2a8d46
Fix retain comments on matches (lambda rhs etc.)
2023-05-02 09:16:04 +00:00
Lennart Spitzner
0a76fe952c
Refactor s/rec/go for extension compat
2023-05-02 09:16:03 +00:00
Lennart Spitzner
dc4e59f2a1
Fix BDLines getSpacing computation
2023-05-02 09:16:03 +00:00
Lennart Spitzner
412c5460aa
Do not count warnings for considering exactprint fallback
2023-05-02 09:16:03 +00:00
Lennart Spitzner
dd4367c6e8
Fixup annotation on error-fallback
2023-05-02 09:16:03 +00:00
Lennart Spitzner
676695a609
Implement fixity-aware-ops feature
2023-05-02 09:16:03 +00:00
Lennart Spitzner
75d17b961c
Fix double-printing of comments on certain data-decls
2023-05-02 09:16:03 +00:00
Lennart Spitzner
f13a82964a
Partially restore retaining-empty-lines behaviour
...
Currently works for do blocks, multi-line list literals, and
lambda-case cases (apart from top-level blank lines that
never got ignored).
2023-05-02 09:16:03 +00:00
Lennart Spitzner
05270ecb45
Improve block-comment behaviour (newlines after or not)
2023-05-02 09:16:03 +00:00
Lennart Spitzner
7c329d391b
Make if-then-layout layout more consistent
2023-05-02 09:16:03 +00:00
Lennart Spitzner
5bee3fa93d
Fix missing comment for MG
2023-05-02 09:16:03 +00:00
Lennart Spitzner
83b13d61a0
Change behaviour: Less par-spacing for function application
2023-05-02 09:16:03 +00:00
Lennart Spitzner
3121ccacfe
Behaviour addition: Allow par-spacing on HsApp
2023-05-02 09:16:03 +00:00
Lennart Spitzner
d9373ec80e
Implement extension support - OverloadedRecordDot
2023-05-02 09:16:03 +00:00
Lennart Spitzner
72c9e4c3ab
Fix block-comment delta position special case
2023-05-02 09:16:03 +00:00
Lennart Spitzner
b116529005
Replace BriDoc+BriDocF with single BriDocW + type family
2023-05-02 09:16:03 +00:00
Lennart Spitzner
ee2814e3a8
Reintroduce BDAnnotationKW in the form of BDEntryDelta
2023-05-02 09:16:03 +00:00
Lennart Spitzner
7d3490b80a
Clean up WriteBriDoc monad state handling
2023-05-02 09:16:03 +00:00
Lennart Spitzner
847e01cc30
Clean up unused WriteBriDoc operators
2023-05-02 09:16:03 +00:00
Lennart Spitzner
d11141d34d
Refactor+Rewrite+Adaptation for ghc-9.2 support
2023-05-02 09:16:03 +00:00
Lennart Spitzner
bff9bfb312
Support and use nested file structure for tests
2023-05-02 09:16:03 +00:00
Lennart Spitzner
4e397441b9
Revert "Split tests into individual files"
...
This reverts commit 21e86adf6e
.
2023-05-02 09:16:00 +00:00
Lennart Spitzner
d4896d2234
Revert "Run tests in serial"
...
This reverts commit cddb98b124
.
2023-04-22 19:54:24 +00:00
Lennart Spitzner
eabf4e9d45
Revert "Simplify test suite"
...
This reverts commit 8f2625dc87
.
2023-04-22 19:54:24 +00:00
Lennart Spitzner
dc008800e7
Switch to butcher-2.0
2023-04-22 19:54:24 +00:00
Taylor Fausak
93a43bf28d
Revert "Remove `Language.Haskell.` from module names"
...
This reverts commit 2fe1432631
.
2022-01-13 14:16:14 +00:00
Taylor Fausak
97da38fab7
Merge remote-tracking branch 'upstream/master' into main
2022-01-11 13:48:58 +00:00
Sergey Vinokurov
3996efd5eb
Use defaultDynFlags to obtain ghc’s DynFlags
...
This way brittany can avoid dealing with incompatibilities in DynFlags
structure between ghc versions (e.g. different versions having
different fields).
2022-01-09 20:11:23 +00:00
Taylor Fausak
2fe1432631
Remove `Language.Haskell.` from module names
2021-11-29 12:25:00 +00:00
Taylor Fausak
7fa2a85b30
Format Brittany with Brittany
...
Fixes #238 .
2021-11-29 02:31:50 +00:00
Taylor Fausak
8f2625dc87
Simplify test suite
2021-11-28 13:24:11 +00:00
Taylor Fausak
cddb98b124
Run tests in serial
2021-11-25 14:16:22 +00:00
Taylor Fausak
21e86adf6e
Split tests into individual files
2021-11-23 22:41:01 +00:00
Taylor Fausak
89a9f47b72
Ignore warnings when parsing modules
2021-11-21 23:40:15 +00:00
Taylor Fausak
ab59e9acc3
Parse modules "purely", without ghc-paths
2021-11-21 22:58:07 +00:00
Taylor Fausak
8fadac8b2e
Format imports
2021-11-21 13:44:06 +00:00
Taylor Fausak
8d7b46b9e9
Fix handling of comments
2021-11-07 13:01:54 +00:00
Taylor Fausak
4079981b1d
Revert "Format Brittany with Brittany"
...
This reverts commit 4398b5880d
.
2021-11-07 12:37:49 +00:00
Taylor Fausak
4398b5880d
Format Brittany with Brittany
2021-11-06 22:29:34 +00:00
Taylor Fausak
e22a647baa
Move literate test files
2021-11-06 21:28:23 +00:00
Taylor Fausak
79be0ed200
Move test suite
2021-11-06 21:25:04 +00:00
Taylor Fausak
2ab406471b
Move library
2021-11-06 21:07:34 +00:00
Taylor Fausak
95017640a8
Move executable
2021-11-06 21:06:23 +00:00