Commit Graph

41 Commits (89b7655bac0e0ff8ac9a2f6f23bcff9f77a151af)

Author SHA1 Message Date
Lennart Spitzner 0795a39806 Fix infix matches with more than 2 args, fixes #219 2019-09-19 00:48:59 +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 517eda8526 Merge pull request #216 from matt-noonan/master 2019-06-05 22:41:22 +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 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 2eb22e730f Add tests for empty lines around where 2018-11-04 18:13:37 +01:00
Rupert Horlick e7d8b5f1ab
Fix type synonym comments 2018-10-19 15:55:29 -04:00
Rupert Horlick e1b43531a8
Add type synonym formatting 2018-10-16 19:28:30 -04:00
Rupert Horlick 66fd44058d
Add instance formatting for simple case 2018-10-10 14:32:58 -04: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 5816704658 Fix import-hiding-paragraph with policy/=free (fixes #150) 2018-06-04 17:30:50 +02:00
Lennart Spitzner d634d34ff1 Fix module-import-hiding-items layout 2018-03-23 15:41:41 +01:00
Lennart Spitzner 46de13256b Add one more testcase 2018-03-21 16:03:38 +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 c124336738 Fix NOINLINE pragma layouting 2018-02-19 17:17:39 +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
sniperrifle2004 98c93f0d63 Move expanded binding list to standard indent level for compact layout 2017-12-22 16:35:39 +01:00
sniperrifle2004 ad34a8b9b9 Only expand empty binding list with comments 2017-12-22 10:18:09 +01:00
sniperrifle2004 3708838b6a Also handle comments inside ThingWith 2017-12-22 06:58:39 +01:00
sniperrifle2004 21c080572b Add compact version of import layout
Also let layoutLLIEs deal with comments
2017-12-21 23:51:27 +01:00
Lennart Spitzner f651d02898 Merge branch 'dev' into import 2017-12-19 22:27:37 +01:00
sniperrifle2004 162b6e6bfd Also fix export comments
Also refactored a little to improve reuse of the docWrapNode logic
2017-12-19 16:33:13 +01:00
sniperrifle2004 a59df1f391 Fix comments!! 🎉 2017-12-19 14:28:22 +01:00
sniperrifle2004 7c51a181c8 Fix operators for ThingWith 2017-12-19 01:17:19 +01:00
Lennart Spitzner 8c3a9bec25 Fix operators in import list 2017-12-18 18:56:50 +01:00
sniperrifle2004 c3b6e17261 Improve layout for imports 2017-12-18 13:17:24 +01:00
Lennart Spitzner 204f0aff08 import+module: Refactor and Simplify slightly 2017-12-17 21:14:46 +01:00
sniperrifle2004 ee9abff9e8 Add import and module support 2017-12-17 12:51:04 +01:00
Matthew Piziak 9704fc3490
add tuple section tests 2017-12-14 18:15:07 -05:00
Lennart Spitzner 127299b442 Merge branch 'dev' into indentpolicyleft 2017-11-30 23:47:18 +01:00
Lennart Spitzner 6a97379b33 Add whitespace around operator in section, Fixes #67 2017-11-28 17:56:28 +01:00
Evan Rutledge Borden f6859d184f Fix tests after rebase. 2017-11-27 13:05:04 -05:00
Lennart Spitzner 338beb8eea Move testcases for extensions in separate testfile 2017-10-24 00:15:53 +02:00
Lennart Spitzner a0112524aa Split up littests input into multiple files
*.blt instead of just tests.blt

yay for unix-style for ordering the inputs "15-regression.blt"
2017-10-02 20:53:56 +02:00