Commit Graph

648 Commits (1e5b8ada4ea9fa45cf3e36907e848a2f47d435d3)

Author SHA1 Message Date
Evan Rutledge Borden 3bbf81baab Add literate tests for context free formatting
Left indent combined with no columnized alignment represents a context
free formatting style for brittany. These tests allow this format to be
tested until inline formatting tools are available to make these files
less redundant.
2017-11-27 18:12:19 +01:00
Evan Rutledge Borden ce41178df5 Remove context sensitive let indentation when IndentPolicyLeft
Let expressions with multiple bindings automattically indent and pull
left

```
let
  a = b
  c = d
in foo bar baz
```

```
let
  a = b
  c = d
in
  foo bar baz
```

```
let
  a = b
  c = d
in foo
  bar
  baz
```

```
let
  a = b
  c = d
in
  foo
    bar
    baz
```
2017-11-27 18:12:19 +01:00
Evan Rutledge Borden bdf8769913 Remove 3 space special case from HsIf when IndentPolicyLeft
```
if foo
   bar
then
  baz
```

becomes

```
if foo
  bar
then
  baz
```
2017-11-27 18:12:19 +01:00
Lennart Spitzner 88cbaf813a Implement `IndentPolicyLeft` for one HsApp case 2017-11-27 18:12:19 +01:00
Lennart Spitzner 4568bd3553 Prepare implementation for `IndentPolicyLeft` 2017-11-27 18:12:19 +01:00
Lennart Spitzner fdd2f5f6dc Try fix shitty travis CI script again 2017-11-27 18:11:49 +01:00
Lennart Spitzner c709513209 Remove dependency on either package
Following the deprecation and removal of the EitherT transformer
2017-11-27 18:11:49 +01:00
Lennart Spitzner ea1720f95e Merge branch 'master' into dev 2017-11-25 19:09:13 +01:00
Lennart Spitzner 37436e675a
Update README.md: Mention stackage nightly, contribution, dev branch 2017-11-25 00:58:33 +01:00
Lennart Spitzner f46fcc135d Update doc/HCAR entry 2017-11-19 22:20:39 +01:00
Lennart Spitzner 26f8cdfb65 Support RecursiveDo/`rec` keyword 2017-10-24 00:25:59 +02:00
Lennart Spitzner 338beb8eea Move testcases for extensions in separate testfile 2017-10-24 00:15:53 +02:00
Lennart Spitzner ddd7c6b439 Fix some rare issue and add some comments
(it is so rare i cannot reproduce anymore right now,
because the code that caused it has changed since..)
2017-10-24 00:00:34 +02:00
Lennart Spitzner 585c345c35 Fix silently broken travis setup (rahhh) 2017-10-23 23:43:59 +02:00
Lennart Spitzner b1c6be7acd Fix parentheses around kind signatures, fixes #64 2017-10-15 00:23:14 +02:00
Lennart Spitzner f86665a251 Fix promoted HsTyVars on ghc-8.2.1
This fix does not work on ghc-8.0, because I do not understand
the 8.0 API in this instance. Could be resolved by looking
at annotations, but that really should not be necessary.
2017-10-14 23:21:13 +02:00
Lennart Spitzner 7d7ec3e8b4 Update commandline help output 2017-10-04 23:43:30 +02:00
Lennart Spitzner 45d5235724 Merge pull request #60 from d-dorazio/dev
Rework the cli interface (fixes #40)

- Remove `--inplace` flag and replace with `--write-mode=(display|inplace)`;
  default is "display".
- Remove `-i/--input` and `-o/--output` flags
2017-10-04 22:57:57 +02:00
d-dorazio 752048882e move inputParams into the reordered block 2017-10-04 20:56:37 +02:00
d-dorazio f21c6b6eac rework the cli interface 2017-10-03 23:32:36 +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
Lennart Spitzner bb40870f81 Merge pull request #59 from d-dorazio/master 2017-10-02 14:13:27 +02:00
d-dorazio 95c40f2b1e address review comments 2017-10-02 13:55:52 +02:00
Lennart Spitzner ccf2eb092f Support RecordWildCards, Add one-liner layouting for records
fixes #52
2017-10-01 17:24:13 +02:00
d-dorazio 36af16f881 add inplace flag 2017-10-01 17:04:20 +02:00
d-dorazio 308da71afb support multiple inputs and outputs 2017-10-01 17:04:20 +02:00
Lennart Spitzner 5a12b63035 Adapt travis script to improve build times 2017-09-29 21:42:39 +02:00
Lennart Spitzner a348ae7fbc Switch to XDG path for config; Search conf in parents
- switch to XDG path should be backwards-compatible:
  - new config will be written to XDG path
  - but existing config in ~/.brittany will be respected
- looks for "brittany.yaml" not only in cwd, but in parents too.
  uses the first file found.

fixes #45, fixes #55
2017-09-29 21:42:39 +02:00
Lennart Spitzner 8c6eb4d1e2 Update stack.yaml (butcher-1.1.0.2) 2017-09-26 23:45:56 +02:00
Lennart Spitzner 8438d4a03d Update README.md (ghc versions) 2017-09-26 23:45:56 +02:00
Lennart Spitzner 8ef7daece8 Add changelog entry for 0.8.0.3 2017-09-26 23:24:00 +02:00
Lennart Spitzner d1606932f8 Minor cleanup / performance improvement 2017-09-20 23:35:45 +02:00
Lennart Spitzner 867016c198 Fix quadratic behaviour (fixes #34)
Split up annotations by top-level elements in one
go, instead of doing the filtering per top-level
element (which necessarily makes things quadratic,
or rather O(n*m) with n top-level elements and m
size of annotation map). The fixed version should
be O(log n * m), and log n is negligible.
2017-09-20 23:35:45 +02:00
Lennart Spitzner 9703ebead5 Fix #53
Previously, if the input did not end with a newline
character and config had 'ppconf_hackAroundIncludes = True'
then due to using unlines/lines the output contained an
additional newline.
2017-09-10 16:37:35 +02:00
Lennart Spitzner 0e7adeef5f Merge pull request #51 from alanz/patch-1
Allow extra-1.6
2017-09-04 21:23:08 +02:00
Alan Zimmerman 32a193f0ce Allow extra-1.6 2017-09-04 00:42:49 +02:00
Lennart Spitzner 8171836774 Update README.md: Add hackage/stackage/travis badges 2017-08-20 15:18:53 +02:00
Lennart Spitzner ca13a1897f Fix type application layouting (fixes #48)
- one-line externals are not detected as multiline in backend
- layouting of EAsPat (when TypeApplications is disabled)
- layouting of HsTyLit (TypeApplications with literals)
2017-08-20 14:09:03 +02:00
Lennart Spitzner fba8ad1a99 Fix negative literals in patterns (fixes #49) 2017-08-20 00:34:13 +02:00
Lennart Spitzner baac0a6a7e Add travis-CI script (cabal, new-cabal, stack) 2017-08-19 14:56:46 +02:00
Lennart Spitzner 1288c37204 Disable specific optim. in Config/Types/Instances 2017-08-19 14:56:46 +02:00
Lennart Spitzner 3751e83f8d Make README pandoc-markdown-compatible 2017-08-19 14:40:38 +02:00
Lennart Spitzner aba7d13f67 Fix stupid haddock needs 2017-08-16 00:14:56 +02:00
Lennart Spitzner 6f4eec245e Split up Config/Types.hs
for the compilation of that module, GHC max residency
was an astounding 600MB for Config/Types.hs;
for Config/Types/Instances.hs it now "only" is 480MB.
(numbers according to "+RTS -s", the real usage
accoding to `time` is about 20% higher even.)
2017-08-15 20:37:46 +02:00
Lennart Spitzner 722f03aa11 Clean up prelude.inc 2017-08-13 00:42:10 +02:00
Lennart Spitzner 3ac8cccb0f Refactor prelude.inc/Prelude to reduce imports 2017-08-12 23:51:07 +02:00
Lennart Spitzner ebf84a03e9 Merge remote-tracking branch 'origin/master' 2017-08-12 15:29:06 +02:00
Lennart Spitzner 06c0a14b0e Merge pull request #46 from eschnett/patch-1
Correct typographical errors in comments
2017-08-12 15:24:19 +02:00
Erik Schnetter 0774d0e413 Correct typographical errors in comments 2017-08-11 21:37:29 -04:00
Lennart Spitzner b0f211fbfc Add/Use flag `-h` for `--help`, fixes #44 2017-08-10 17:46:21 +02:00