Commit Graph

57 Commits (ea550b401afc4aae3a76fa5a7734c4816862978b)

Author SHA1 Message Date
Lennart Spitzner ea550b401a Respect newlines after block-comments 2023-04-24 15:45:28 +00:00
Lennart Spitzner a3083729af Refactor WriteBriDoc FlushCommentsPrior code slightly 2023-04-24 15:45:28 +00:00
Lennart Spitzner e04b90e4c8 Fixup misspelled data-type name 2023-04-24 15:45:28 +00:00
Lennart Spitzner 084125eed3 Allow par-spacing for single-operator 1+n-line layout plus Tweak of OpApp 2023-04-22 19:54:24 +00:00
Lennart Spitzner 396c23191c Discard special case for non-nested OpApp 2023-04-22 19:54:24 +00:00
Lennart Spitzner 89092d994c Minor comment updates and cleanup 2023-04-22 19:54:24 +00:00
Lennart Spitzner 05e00f39f2 Simplify/Optimize Decl:layoutPatternBindFinal 2023-04-22 19:54:24 +00:00
Lennart Spitzner b1e85de95d setParSpacing for operator-expression ending in par 2023-04-22 19:54:24 +00:00
Lennart Spitzner 99dc88e2f9 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-04-22 19:54:24 +00:00
Lennart Spitzner f18fd0c4ba Dont flatten operators without surrounding parens 2023-04-22 19:54:24 +00:00
Lennart Spitzner e9f66b3fd8 Fix comment-after-context 2023-04-22 19:54:24 +00:00
Lennart Spitzner a6ed006427 Fix restore-position after block comment 2023-04-22 19:54:24 +00:00
Lennart Spitzner f2e0044c4a Fix comments moving after "where" 2023-04-22 19:54:24 +00:00
Lennart Spitzner bad95f3670 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-04-22 19:54:24 +00:00
Lennart Spitzner 5e1452a5f0 Fix retain comments on matches (lambda rhs etc.) 2023-04-22 19:54:24 +00:00
Lennart Spitzner 0c660e272d Refactor s/rec/go for extension compat 2023-04-22 19:54:24 +00:00
Lennart Spitzner 6a1edb38f9 Fix BDLines getSpacing computation 2023-04-22 19:54:24 +00:00
Lennart Spitzner 9b5fb89c2b Do not count warnings for considering exactprint fallback 2023-04-22 19:54:24 +00:00
Lennart Spitzner 7d4d6e77f7 Fixup annotation on error-fallback 2023-04-22 19:54:24 +00:00
Lennart Spitzner 73656eeff6 Implement fixity-aware-ops feature 2023-04-22 19:54:24 +00:00
Lennart Spitzner 4ea66b0e45 Fix double-printing of comments on certain data-decls 2023-04-22 19:54:24 +00:00
Lennart Spitzner cbfa0d6d22 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-04-22 19:54:24 +00:00
Lennart Spitzner dafaa8cab8 Improve block-comment behaviour (newlines after or not) 2023-04-22 19:54:24 +00:00
Lennart Spitzner 5693be1be0 Make if-then-layout layout more consistent 2023-04-22 19:54:24 +00:00
Lennart Spitzner e92580429a Fix missing comment for MG 2023-04-22 19:54:24 +00:00
Lennart Spitzner 6f380f2be6 Change behaviour: Less par-spacing for function application 2023-04-22 19:54:24 +00:00
Lennart Spitzner 67a6ab8209 Behaviour addition: Allow par-spacing on HsApp 2023-04-22 19:54:24 +00:00
Lennart Spitzner c58bf7b845 Implement extension support - OverloadedRecordDot 2023-04-22 19:54:24 +00:00
Lennart Spitzner 278dcfc7c6 Fix block-comment delta position special case 2023-04-22 19:54:24 +00:00
Lennart Spitzner 7f5dc46798 Replace BriDoc+BriDocF with single BriDocW + type family 2023-04-22 19:54:24 +00:00
Lennart Spitzner 7db1028223 Reintroduce BDAnnotationKW in the form of BDEntryDelta 2023-04-22 19:54:24 +00:00
Lennart Spitzner 9034a2f59d Clean up WriteBriDoc monad state handling 2023-04-22 19:54:24 +00:00
Lennart Spitzner cca049b100 Clean up unused WriteBriDoc operators 2023-04-22 19:54:24 +00:00
Lennart Spitzner 7ebd61db3d Refactor+Rewrite+Adaptation for ghc-9.2 support 2023-04-22 19:54:24 +00:00
Lennart Spitzner f7de67892b Support and use nested file structure for tests 2023-04-22 19:54:24 +00:00
Lennart Spitzner dd8264797e Revert "Split tests into individual files"
This reverts commit 21e86adf6e.
2023-04-22 19:54:24 +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