Commit Graph

20 Commits (18704e403f6164aab15e7036d07ecbf27dea8c47)

Author SHA1 Message Date
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 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
Sergey Vinokurov 0dad5051df
Remove redundant '$'s 2018-04-02 22:41:14 +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 f651d02898 Merge branch 'dev' into import 2017-12-19 22:27:37 +01:00
Lennart Spitzner d8097f2862 Add mask_ to prevent "ghc panic" when using timeout on brittany 2017-12-17 15:45:08 +01:00
sniperrifle2004 ee9abff9e8 Add import and module support 2017-12-17 12:51:04 +01:00
Lennart Spitzner 39c48b33f1 Fix error in Annotation filtering (fixes #70) 2017-12-08 19:57:16 +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 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 41beeb9723 Remove/Cleanup unused/deprecated MTEL stuff 2017-08-06 16:28:41 +02:00
Lennart Spitzner 5a82968a7b Add sub-config-alternative default to lib interface
i.e. `forwardOptionsSyntaxExtsEnabled`
2017-07-04 23:26:13 +02:00
Lennart Spitzner 3784a0123b Refactor exposed function (now parsePrintModule)
- Rename parsePrintModule -> parsePrintModuleTests
- Rename pureModuleTransform -> parsePrintModule
- Change argument type from (CConfig Option) to Config
- Expose CConfig type fully
2017-06-03 18:23:03 +02:00
Lennart Spitzner dfec26e55b Refactor/Rename LayoutError -> BrittanyError 2017-06-03 18:23:03 +02:00
Lennart Spitzner f350113f7f Refactor all modules: +Internal; Add public Brittany module 2017-05-22 21:25:08 +02:00