Commit Graph

550 Commits (38f77f6c5e04883dcbda60286ce88e83275009ab)

Author SHA1 Message Date
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
Lennart Spitzner 03fd81f851 Update Readme and copyright dates
[ci skip]
2018-05-01 17:13:45 +02:00
Lennart Spitzner 031df539b3 Prepare release (bump to 0.11.0.0, changelog) 2018-05-01 17:09:31 +02:00
Lennart Spitzner 929e465fd4 Refactor a bit (Internal.ppDecl -> Decl.layoutDecl) 2018-04-25 20:17:36 +02:00
Lennart Spitzner e9aacb27ff Implement hacky workaround for issue 89 2018-04-25 19:54:35 +02:00
Lennart Spitzner a237e591b2 Implement `--obfuscate`
Support replacing all (non-keyword) identifiers with
randomly generated characters
2018-04-24 00:47:50 +02:00
Lennart Spitzner 696f72d336 Fixup last two commits (tests were effectively disabled
- re-enable tests
- un-break tests by fixing the alignment code behaviour
2018-04-24 00:38:40 +02:00
Lennart Spitzner 315a7e1ee1 Fix overflowing due to alignment; Add docs (alignment algorithm) 2018-04-23 19:33:04 +02:00
Lennart Spitzner caeb42c020
Merge pull request #136 from lspitzner/inlineconfig
Inlineconfig
2018-04-22 15:18:28 +02:00
Lennart Spitzner 280b70f6bd Undo adding -j ghc-option in brittany.cabal 2018-04-19 18:08:07 +02:00
Lennart Spitzner 18704e403f Fix inline disabling of brittany 2018-04-19 17:09:10 +02:00
Lennart Spitzner 17fb271694 Fix inlineconfig additions for ghc-8.4 + compat
The semigroup changes are a bit confusing when aiming
for backwards-compat.
2018-04-17 21:45:38 +02:00
Lennart Spitzner 1fc007591c Merge branch 'master' into inlineconfig
# Conflicts:
#	src/Language/Haskell/Brittany/Internal.hs
2018-04-17 20:05:33 +02:00
Lennart Spitzner 2a8a752a59 Fix stack.yamls 2018-04-17 20:04:40 +02:00
Lennart Spitzner e559a2cbf7 Implement inline configuration
e.g. "-- brittany --indent=4"

respects the following comment forms as input:

  source comment                       affected target
  ======================================================
  "-- brittany CONFIG"                 whole module
  "-- brittany-next-binding CONFIG"    next binding
  "-- brittany-disable-next-binding"   next binding
  "-- brittany @ myExampleFunc CONFIG" `myExampleFunc`

multiline-comments are supported too, although
the specification must still be a single line. E.g.

  "{- brittany --columns 50 -}"

CONFIG is either:

  1) one or more flags in the form of what brittany accepts
     on the commandline, e.g. "-- columns 50", or
  2) one or more specifications in the form of what brittany
     accepts in its config files for the layouting config
     (a one-line yaml document), e.g. "{ lconfig_cols: 50 }"

see #30
2018-04-17 20:04:40 +02:00
Lennart Spitzner 10e1c19788 Add support for ghc-8.4 2018-04-17 17:50:41 +02:00
Lennart Spitzner ac76b69127 Permit stack.yaml failure in travis 2018-04-17 17:08:21 +02:00
Lennart Spitzner 3785d15c2a Bump some upper bounds, Remove unneeded dep 2018-04-17 16:53:33 +02:00
Lennart Spitzner ad744b0247 Fix stack.yaml 2018-04-17 16:24:58 +02:00
Lennart Spitzner 213e82b476 Fix if-then-else paragraph layouting 2018-04-17 06:19:13 +02:00