Commit Graph

469 Commits (281d7a2f81698b265ce7ff8d559af2eeea8df484)

Author SHA1 Message Date
Sergey Vinokurov 281d7a2f81
Lay out unboxed tuples with spaces
This avoids clashes with names like foo#
2018-09-18 09:07:13 +01:00
Sergey Vinokurov 9d7cecaa92
Run tests in prallel 2018-09-17 23:54:56 +01:00
Lennart Spitzner 48482c59a6
Merge pull request #184 from eborden/consolidate-record-expression-layouter
Consolidate record expression layouter
2018-09-17 23:40:47 +02:00
Evan Rutledge Borden 92a1d89983 Consolidate record expression layouter
Both record construction and record layouting have very similar
constructions. These each had their own layouter with slightly different
variations. Variations here lead to subtley different bugs in layout for
nearly identicle syntactic forms.

The record update logic is more advanced and respects `IndentPolicyLeft`.
Instead of keeping these layouters distinct we can consolidate
construction logic into the update logic. This results in a smaller
volume of code and more uniform layouting of syntax for these simlilar
forms.

Record constructors with fields and wildcards are not included in this
consolidation. A TODO has been left to handle this consolidation later.
2018-09-16 15:47:04 -04:00
Lennart Spitzner 932cf70f9b Fix stack yamls for ghc-exactprint bounds 2018-09-13 22:47:25 +02:00
Lennart Spitzner 393258036f Bump bounds to ghc-exactprint-0.5.8 to include pkg-env innoculation 2018-09-13 22:09:12 +02:00
Lennart Spitzner 34e303ae43
Merge pull request #179 from alanz/master
Allow ghc-exactprint 0.5.7.1
2018-09-12 23:25:59 +02:00
Lennart Spitzner 9ae790ede1 Fix .travis script: Prevent duplicated build 2018-09-12 23:22:16 +02:00
Alan Zimmerman 989364093c Allow ghc-exactprint 0.5.7.1 2018-09-12 22:01:43 +02:00
Lennart Spitzner 5e96ae8776
Merge pull request #178 from mightybyte/check-mode
Add check mode for use by test suites
2018-09-11 20:26:49 +02:00
Doug Beardsley 3729a57196 Add check mode for use by test suites
This mode makes no changes to files, but returns 0 (success) when no
changes would be made and 1 (failure) when changes would be made.
2018-09-11 01:25:35 -04:00
Lennart Spitzner 8c5cce5070 Prevent package environment file GHC API stupidities
This fixes the code-path for the commandline interface
(unfortunately not covered by our testsuite).
The other code-path should be covered by the changes in
https://github.com/alanz/ghc-exactprint/pull/68.
2018-08-20 21:19:10 +02:00
Lennart Spitzner 33a4039751
Merge pull request #171 from ChickenProp/fix-type-operator-imports
Fix imports of type operators.
2018-08-19 15:20:06 +02:00
Phil Hazelden a5a24b4220 Fix imports of type operators.
Previously, we could only import a type operator with no subsequent
list, i.e.

    import Foo ( (:.) )

was fine, but

    import Foo ( (:.)(..) )
    import Foo ( (:.)((:.) )
    import Foo ( (:.)(A, b) )

would all break. Brittany would attempt to output them as

    import Foo ( :.(..) )
    import Foo ( :.((:.) )
    import Foo ( :.(A, b) )

I believe the problem was that although `ieName <$> lie` was returning
an `IEWrappedName` with the same contents as used in `layoutWrapped`,
it had different location annotations; and the parentheses are
apparently saved in the location annotations.
2018-08-10 10:01:11 +01:00
Lennart Spitzner 8c5e0ef3b6
Merge pull request #168 from robx/patch-1
Fix a brittany misspelling
2018-08-08 14:12:53 +02:00
Robert c303e45f16
Fix a brittany misspelling 2018-08-06 14:05:10 +02:00
Lennart Spitzner 0aaedb7601
Merge pull request #160 from Tehnix/patch-1
Add note about Atom editor integration in README, fixes #62
2018-07-16 00:31:24 +02:00
Christian Kjær 0c324b19ec
Add note about Atom editor integration in README, fixes #62 2018-07-09 14:29:49 +02:00
Lennart Spitzner 4497fa927f Add a comment about one superfluous docSetParSpacing 2018-07-06 22:57:33 +02:00
Lennart Spitzner ab27825b7b Core layouting algo improvement (non-bottom more effective)
During alt-transform, when gather spacings, previously
we tracked different non-bottom spacings separately even
though they would be treated in the same way during any
future transformations (apart from certain exceptions that
don't practically give better results). Instead we now
merge such spacings into one, giving more space for other
spacings when pruning to the spacings limit.
2018-07-06 22:41:31 +02:00
Lennart Spitzner 3c5670d5cd Fix layouting for OpApps with comments (fixes 159) 2018-07-05 21:31:28 +02:00
Lennart Spitzner 95f42061d2 Fixup for the fix of ExplicitNames/PatternSynonyms for ghc-8.0 2018-07-04 22:42:20 +02:00
Lennart Spitzner d01572ecf4 Switch CI to use ghc-8.4.3 instead of 8.4.1 2018-07-04 22:04:45 +02:00
Lennart Spitzner ab389fe66f Support for -XExplicitNamespaces and -XPatternSynonyms
Properly round-trip export items of the forms "type OPERATOR"
or "pattern SYNONYM"

fixes #158
2018-07-04 21:42:46 +02:00
Lennart Spitzner 0b40dd7c32 Fix deprecation warnings with latest versions of yaml 2018-07-04 21:14:06 +02:00
Lennart Spitzner 4cb3b96f07 Merge branch 'release' 2018-06-20 23:18:21 +02:00
Adam Bergmark 0bcab7c7b3 Allow aeson 1.4.* 2018-06-20 23:14:24 +02:00
Lennart Spitzner b37732d658
Fix README.md installation command 2018-06-20 22:33:46 +02:00
Lennart Spitzner d398fbe7be
Merge pull request #153 from bergmark/aeson
Allow aeson 1.4.*
2018-06-20 22:31:34 +02:00
Adam Bergmark 5ed4612107 Allow aeson 1.4.* 2018-06-18 03:14:39 +02:00
Lennart Spitzner cc0718e964 Add indentation to import-hiding-paragraph 2018-06-04 18:18:44 +02:00
Lennart Spitzner 5816704658 Fix import-hiding-paragraph with policy/=free (fixes #150) 2018-06-04 17:30:50 +02:00
Lennart Spitzner 6725d0e119 Refactor/Auto-format Main, Brittany.Internal 2018-06-04 17:10:10 +02:00
Lennart Spitzner 57c48f64c1 Apply inline config to module header (fixes #151) 2018-06-04 16:57:07 +02:00
Lennart Spitzner bdee27cb59 Add spaces around record braces (single-line) (fixes #126) 2018-05-25 17:57:54 +02:00
Lennart Spitzner ef7b0fcc70 Add test for #144 2018-05-16 21:25:40 +02:00
Lennart Spitzner f75127b3a5 Make non-bottom-spacing affect sameline, too (fixes #144) 2018-05-16 21:19:36 +02:00
Lennart Spitzner 1cab9be7ed Merge branch 'release' 2018-05-10 17:55:03 +02:00
Lennart Spitzner f5b5fe9f74 Bump aeson upper bound 2018-05-10 17:52:15 +02:00
Lennart Spitzner ac0a5bd7c7
Merge pull request #141 from leonschoorl/fix-readme-link
Fix link to README.md
2018-05-07 13:53:26 +02:00
Leon Schoorl 82b59299cb Fix link to README.md 2018-05-07 11:59:40 +02:00
Lennart Spitzner 8bda9827b8 Amend changelog
[ci skip]
2018-05-01 23:31:07 +02:00
Lennart Spitzner a42bf2e03f Merge branch 'IndentPolicyMultiple' 2018-05-01 23:26:05 +02:00
Lennart Spitzner 4973298f30 Support same-line let decl when indentAmount>=4 2018-05-01 23:21:31 +02:00
Lennart Spitzner dd53948a23 Fix IndentPolicyMultiple for indentAmount>4 2018-05-01 23:21:09 +02:00
Lennart Spitzner e91bb6aec9 Clean up IndentPolicyMultiple 2018-05-01 23:19:44 +02:00
Bryan Richter 9ab17cc899 Implement IndentPolicyMultiple 2018-05-01 22:07:05 +02:00
Bryan Richter 004dee73e0 Add test for IndentPolicyMultiple 2018-05-01 22:07:03 +02:00
Lennart Spitzner 601dd05be6 Change test file name 2018-05-01 21:45:31 +02:00
Lennart Spitzner d40b840980 Amend changelog (issue 89 fix)
[ci skip]
2018-05-01 17:20:37 +02:00