diff options
author | Jasper Van der Jeugt <m@jaspervdj.be> | 2020-10-02 13:08:39 +0200 |
---|---|---|
committer | Jasper Van der Jeugt <m@jaspervdj.be> | 2020-10-02 13:08:39 +0200 |
commit | 250e7091edd93ce5a476706ddd968ef3ec1ef336 (patch) | |
tree | 98c1a37f8f7adf031b317f820428184c084b9b49 /stack.yaml.lock | |
parent | ce3feb1db9a0e7998a66c9dfdc7aebd9bae79477 (diff) | |
download | stylish-haskell-250e7091edd93ce5a476706ddd968ef3ec1ef336.tar.gz |
Use ghc-lib-parser rather than haskell-src-exts
This patch swaps out the parsing library from `haskell-src-exts` to
`ghc-lib-parser`, which gives us better compatibility with GHC.
Because almost every module heavily used the Haskell AST provided by
`haskell-src-exts`, this was a huge effort and it would not have been possible
without Felix Mulder doing an initial port, GSoC student Beatrice Vergani
porting several other steps, and Łukasz Gołębiewski and Paweł Szulc who helped
me finish up things in the home stretch.
I've generally tried to keep styling 100% compatible with what was there before,
but some issues may have unintentionally slipped in so please report those.
This introduces one new import styling contributed by Felix: when wrapping
import lists over multiple lines, you can repeat the module name, e.g.:
import Control.Monad.Except as X (ExceptT (..), MonadError (..), liftEither)
import Control.Monad.Except as X (runExceptT, withExceptT)
This is activated by using `import_align: repeat`.
Secondly, a new Step was added, `module_header`, which formats the export list
of a module, including the trailing `where` clause. Details for this new step
can be found in the `data/stylish-haskell.yaml`.
Co-Authored-By: Beatrice Vergani <beatrice.vergani11@gmail.com>
Co-Authored-By: Paweł Szulc <paul.szulc@gmail.com>
Co-Authored-By: Łukasz Gołębiewski <lukasz.golebiewski@gmail.com>
Co-Authored-By: Felix Mulder <felix.mulder@klarna.com>
Diffstat (limited to 'stack.yaml.lock')
-rw-r--r-- | stack.yaml.lock | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/stack.yaml.lock b/stack.yaml.lock index 36c1629..3b36748 100644 --- a/stack.yaml.lock +++ b/stack.yaml.lock @@ -5,6 +5,13 @@ packages: - completed: + hackage: ghc-lib-parser-8.10.1.20200324@sha256:6a0b014e97f627dd9ca177f26f184e2f2ff713ec1271045334ccb56ac7bfdff3,9116 + pantry-tree: + size: 19497 + sha256: ba6d7c3a2c3517b1a1f25daa04446209137a38e39b35367ffb13bbb2a0a7be4e + original: + hackage: ghc-lib-parser-8.10.1.20200324 +- completed: hackage: aeson-1.5.2.0@sha256:d00c7aa51969b2849550e4dee14c9ce188504d55ed8d7f734ce9f6976db452f6,6786 pantry-tree: size: 39758 |