Evan Rutledge Borden
aeaa043e99
Support building DataDecl with 8.0.2
2019-12-09 11:17:31 -07:00
Evan Rutledge Borden
9971e3905d
Support building DataDecl with 8.2.2
2019-12-09 11:17:31 -07:00
Lennart Spitzner
2f6967b7b8
Support comments in record data decls
2019-12-09 11:17:31 -07:00
Lennart Spitzner
d21ecf89e6
Fix a comment bug in tuple-type layouting
2019-12-09 11:17:31 -07:00
Lennart Spitzner
208a1ceadb
Start making datadecls work with ghc-8.4
2019-12-09 11:17:31 -07:00
Evan Rutledge Borden
57ba88a73c
Work-in-progress add record declaration layout
...
Simple records are supports. The tests cover:
- single records
- multi-field types
- columnized alignment
- basic deriving
- deriving strategies
- existential quanitification
A few items block merger
- retaining comments
A few items can be deferred:
- normal types
- sum types
2019-12-09 11:17:31 -07:00
Lennart Spitzner
4f827491da
Work-in-progress commit (deriving clause..)
2019-12-09 11:17:31 -07:00
Lennart Spitzner
172866755c
Start impl. layouting for datatypes ( #12 )
...
Only newtypes work for now; the "interesting" data records
are not touched yet.
Comment insertion not really considered yet; probably needs work.
2019-12-09 11:17:31 -07:00
Lennart Spitzner
e24271318d
Improve record-expression layouting
...
- Finish consolidation, clearing a TODO
- Fix two comment placement issues around record wildcards
- Fix regression in brittany-0.12 about layouting large
(multiline) record field updates
2019-12-05 14:30:50 +01:00
Lennart Spitzner
f87c0c64b8
Implement experimental semicolon-into-newlines feature
2019-12-04 13:55:41 +01:00
Lennart Spitzner
77d6d5b553
Fix roundtripping of (~) constraint/type
2019-11-27 22:21:16 +01:00
Lennart Spitzner
974826f98f
Fix whitespace regression on forall+constraint type sig
2019-11-08 12:11:35 +01:00
Lennart Spitzner
89b7655bac
Fix support for ghc-8.8
2019-09-29 21:45:46 +02:00
Lennart Spitzner
0795a39806
Fix infix matches with more than 2 args, fixes #219
2019-09-19 00:48:59 +02:00
Lennart Spitzner
6879436e67
Fix lambdas with lazy/bang pattern as first argument
2019-09-03 01:10:38 +02:00
Lennart Spitzner
702b993dab
Fix prefix operator pattern-match invalid result
2019-09-03 00:23:58 +02:00
Lennart Spitzner
8861f16624
Fix comment handling with let-in
2019-09-02 17:04:44 +02:00
Lennart Spitzner
91d6e18aba
Adapt to ghc-8.8 (deps are not ready though)
2019-09-02 17:04:44 +02:00
Lennart Spitzner
f289389879
Fix comment wandering left inside instance decls
2019-08-28 14:48:11 +02:00
Lennart Spitzner
6c69388d73
Make errors more descriptive
...
This is defensive against GHC API guarantees.
2019-07-19 00:12:04 +02:00
pepe iborra
a79b5e1a4b
Add support for Implicit Params
...
I don't know what I'm doing, but it type checks
Closes #246
2019-07-14 23:31:11 +01:00
Evan Borden
988d5b4353
Add support for OverloadedLabels
...
`OverloadedLabels` is a simple enough extension to parse and format. It
is becoming more common with use of `generic-lens`. Since it can be
treated as a `HsVar` its implementation only requires using `docLit`,
along with some marshalling for dealing with `FastString`.
2019-06-23 19:31:05 -05:00
Lennart Spitzner
3288ef3bd4
For funs with multiple matches, use the match id as id ( fixes #234 )
2019-06-16 22:51:18 +02:00
Lennart Spitzner
42f566b94a
Support QuasiQuotation-splices
2019-06-12 09:17:21 +02:00
Lennart Spitzner
517eda8526
Merge pull request #216 from matt-noonan/master
2019-06-05 22:41:22 +02:00
Lennart Spitzner
4f2673a2eb
Merge pull request #215 from matt-noonan/multiline-app-with-comments
...
Disable single-line HsApp with argument comments.
2019-06-05 21:06:02 +02:00
Lennart Spitzner
f9d70cf546
Refactor CPP slightly, Add test-cases
2019-06-05 21:05:27 +02:00
Lennart Spitzner
059bb9402e
Merge pull request #198 from ruhatch/type-synonyms
2019-06-05 15:56:50 +02:00
Lennart Spitzner
ca3c8b6f9e
Add one source doc
2019-06-05 15:56:32 +02:00
Lennart Spitzner
bd8b743e36
Document terminology "regular comments"
2019-06-05 15:42:47 +02:00
Matt Noonan
8551600377
Explicitly handle empty HsCase and HsLamCase.
2019-02-04 22:56:46 -05:00
Matt Noonan
6aa537089d
Disable single-line HsApp with argument comments.
2019-02-04 15:10:55 -05:00
Lennart Spitzner
621e00bf3f
Fix indentation (comments) after "if" ( Fixes #167 )
2018-11-14 14:53:08 +01:00
Rupert Horlick
01e31b4256
Add type fam instance formatting
2018-11-13 17:07:27 -04:00
Lennart Spitzner
e7d8f59e93
travis-ci: Add ghc-8.6, Clean up a bit
2018-11-04 22:14:02 +01:00
Lennart Spitzner
34735e27ef
Add compat with GHC-8.6 API
2018-11-04 22:14:00 +01:00
Lennart Spitzner
522e40c8ed
Retain empty lines before "where"
...
only applies to local "where"s (not module..where)
2018-11-04 18:13:37 +01:00
Lennart Spitzner
ad5868eb76
Fix spacing bugs, Clean up implemenation
...
- Normalize spaces on type alias lhs. unnecessary spaces were
retained previously, e.g.
"type ( ( a :%: b ) c ) = (a , c)"
had non-optimal output
- Clean up separator usage
- Remove backend hacks (to some degree)
- Minor reformatting and premature optimization
2018-10-27 16:15:28 +02:00
Rupert Horlick
e7d8b5f1ab
Fix type synonym comments
2018-10-19 15:55:29 -04:00
Rupert Horlick
b249c10054
Deal with parens inside comments on 8.4.3
2018-10-17 17:01:31 -04:00
Rupert Horlick
e1b43531a8
Add type synonym formatting
2018-10-16 19:28:30 -04:00
Lennart Spitzner
38216cdc02
Add longer doc/Refactor stripWhitespace'
2018-10-11 20:14:29 +02:00
Rupert Horlick
66fd44058d
Add instance formatting for simple case
2018-10-10 14:32:58 -04:00
Lennart Spitzner
6dc5561d08
Merge pull request #186 from sergv/unboxed-tuples
...
Unboxed tuples
2018-09-30 21:19:15 +02:00
Lennart Spitzner
71efa54954
Move tests, minor Refactoring, Add comments
2018-09-23 23:32:05 +02:00
Lennart Spitzner
460bd4dd2b
Merge pull request #185 from 5outh/benjamin/file-name-errors
...
Append input path name to UnknownNode errors
2018-09-23 22:29:42 +02:00
Sergey Vinokurov
9755db1d05
Unify "(#", "#)" under single name, docParenHashL and docParenHashR
2018-09-18 09:14:20 +01:00
Sergey Vinokurov
6898d3ef44
Lay out unboxed tuples in types
2018-09-18 09:07:15 +01:00
Sergey Vinokurov
281d7a2f81
Lay out unboxed tuples with spaces
...
This avoids clashes with names like foo#
2018-09-18 09:07:13 +01:00
Lennart Spitzner
37e4225c49
Include exact location when printing ErrorUnknownNode
2018-09-18 00:23:23 +02:00