Evan Rutledge Borden
b02077e010
Update DataDecl to latest master
...
This update includes necessary code for handling deriving strategies.
2018-07-10 00:50:41 -04:00
Evan Rutledge Borden
33fb0ef0ec
Make record declarations respect alignment
...
This commit introduces tests for aligned record declarations. It
utilizes docCols and introduces a new `ColSig` for for record
declarations.
2018-07-09 23:34:11 -04:00
Evan Rutledge Borden
0401f314da
Remove docAlt.
2018-07-09 23:34:11 -04:00
Evan Rutledge Borden
91cd6afbe6
Work in progress, add record formatting tests.
2018-07-09 23:34:11 -04:00
Lennart Spitzner
443a52b109
Work-in-progress commit (deriving clause..)
2018-07-09 23:34:11 -04:00
Lennart Spitzner
b347fbe898
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.
2018-07-09 23:34:11 -04:00
Lennart Spitzner
4497fa927f
Add a comment about one superfluous docSetParSpacing
2018-07-06 22:57:33 +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
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
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
bdee27cb59
Add spaces around record braces (single-line) ( fixes #126 )
2018-05-25 17:57:54 +02:00
Lennart Spitzner
f75127b3a5
Make non-bottom-spacing affect sameline, too ( fixes #144 )
2018-05-16 21:19:36 +02:00
Lennart Spitzner
4973298f30
Support same-line let decl when indentAmount>=4
2018-05-01 23:21:31 +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
Lennart Spitzner
929e465fd4
Refactor a bit (Internal.ppDecl -> Decl.layoutDecl)
2018-04-25 20:17:36 +02:00
Lennart Spitzner
10e1c19788
Add support for ghc-8.4
2018-04-17 17:50:41 +02:00
Lennart Spitzner
213e82b476
Fix if-then-else paragraph layouting
2018-04-17 06:19:13 +02:00
Lennart Spitzner
8b67a028ea
Do not put `where` on newline when no export list
...
(even when lconfig_allowSingleLineExportList False)
2018-04-09 00:09:07 +02:00
Sergey Vinokurov
9bd3bfbe4c
Review suggestions
2018-04-03 22:49:06 +01:00
Sergey Vinokurov
7a60229673
Fix some hlint hints
2018-04-02 22:44:49 +01:00
Sergey Vinokurov
631d9e181d
Replace 'fmap f $' with 'f <$>'
2018-04-02 22:44:49 +01:00
Sergey Vinokurov
545eff9e4f
Remove redundant parens
2018-04-02 22:42:06 +01:00
Sergey Vinokurov
226da07815
Improve vertical alignment
2018-04-02 22:41:15 +01:00
Sergey Vinokurov
0dad5051df
Remove redundant '$'s
2018-04-02 22:41:14 +01:00
Sergey Vinokurov
2ed9a13fdb
Replace 'docAltFilter' with 'runFilteredAlternative'
2018-04-02 21:25:44 +01:00
Lennart Spitzner
b43ee43220
Fix/Implement empty type constraint handling ( fixes #133 )
2018-04-02 17:11:53 +02:00
Lennart Spitzner
0845142727
Fix let-in comment placement bug ( fixes #110 )
2018-03-23 17:34:36 +01:00
Lennart Spitzner
bdd3b155f3
Fix HsPar comment placement bug (see #111 )
2018-03-23 17:11:39 +01:00
Lennart Spitzner
3847325fd5
Omit single-line layout for OpApp with comments ( fixes #111 )
2018-03-23 17:02:58 +01:00
Lennart Spitzner
a003b932a9
Fix comments in tuples being dropped ( fixes #37 )
2018-03-23 16:55:28 +01:00
Lennart Spitzner
d634d34ff1
Fix module-import-hiding-items layout
2018-03-23 15:41:41 +01:00
Lennart Spitzner
90a2f65ba7
Align applications on for same function, plus minor fixup
...
Arguments of two function applications will only be aligned
if the same function is called in both cases.
The column transform was altered slightly to fix #65
properly as well.
fixes #65 , #128
2018-03-22 01:19:56 +01:00
Lennart Spitzner
f1536b8966
Merge pull request #83/#124 from sniperrifle2004/import
2018-03-21 01:06:26 +01:00
Lennart Spitzner
8de56ba11d
Support import column vs import-as column
2018-03-21 01:02:44 +01:00
Lennart Spitzner
1330aeb6b4
Fix ticked type operator losing tick ( fixes #125 )
2018-03-13 23:51:22 +01:00
Lennart Spitzner
833ac95fd7
Add two config options to control preamble layouting
2018-03-12 17:11:25 +01:00
Lennart Spitzner
9531edb2a7
Improve module layouting in two aspects
...
- IEThingWith in export list can now be single-line
- Now respect offset of the "module" keyword
(retain empty lines after pragmas, for example)
2018-03-12 16:29:47 +01:00
Lennart Spitzner
20f9c009ee
Stop hanging indent for IEThingWith
...
plus minor refactors/cleanups
this is more in line with IndentPolicyLeft and imo also looks
nicer in general
2018-03-11 22:49:20 +01:00
Lennart Spitzner
41a60ce60f
Merge branch 'master' into import
2018-03-11 17:43:16 +01:00
Lennart Spitzner
19e31fdaf2
Improve layouting of RecordUpd, Fix minor issue for HsLet
2018-02-19 21:33:43 +01:00
Lennart Spitzner
c124336738
Fix NOINLINE pragma layouting
2018-02-19 17:17:39 +01:00
Lennart Spitzner
55b1c71bf3
Fix a layouting mistake that went unnoticed so far
2018-02-14 01:00:01 +01:00
Lennart Spitzner
91de1ca08c
Fix bang deletion on ghc-8.2, Add testcase ( fixes #116 )
2018-02-13 23:48:00 +01:00
Lennart Spitzner
077b93db01
Minor refactor
2018-02-09 16:50:57 +01:00
Evan Rutledge Borden
eb8f0de6c3
Remove redundant import.
2018-02-09 16:43:59 +01:00
Evan Rutledge Borden
019d47bf7e
Change infix patterns to include spaces
...
This commit changes infix patterns to utilize `lrdrNameToTextAnn`. This
function allows the logic to avoid introspecting on the constructor
name.
Additionally this adds spaces to all infix operator pattern matches.
Previously infix symbols did not include spaces:
```
foo (x:xs) = _
```
Now they include a space
```
foo (x : xs) = _
```
2018-02-09 16:43:44 +01:00
Evan Rutledge Borden
18b3cfaf88
Fix infix constructor pattern matching for normal constructors
...
Brittany was previously only support symbol based infix constructors. It
is common in some libraries (for example Esqueleto) to pattern match on
normal constructors as infix. Brittany was failing in this case by not
wrapping the constructor name in back ticks/spaces. Backticks and spaces
have been added in the case where the constructor contains any alpha
characters.
2018-02-09 16:43:29 +01:00