| Commit message (Collapse) | Author | Age |
| |
|
| |
|
|
|
|
|
| |
* This is the newest cabal version supported by stack
* Remove warning about missing Default-language field
* Remove warning regarding the License field
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
When some import line spans multuple lines, e.g. when import list is
long, stylish-haskell breaks a group at this line, leading to bad
result.
This commits makes sure that import groups are recognized solely by
empty lines.
|
|
|
| |
Fixes #184
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
| |
They are not needed on newer GHC.
|
|
|
| |
Builds fine and all tests pass here.
|
| |
|
| |
|
|
|
| |
The bounds of Cabal were not updated in 2dd6fbd669e3501d5d4783dfa2d9f9ba3026ea1b
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
* Use `withTestDirTree` in StylishSpec
* Move StylishSpec module
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Expose "format" function in Sylish.hs
It's going to be needed for the haskell-ide integration
* Update tests/Language/Haskell/StylishSpec.hs
Co-Authored-By: Jasper Van der Jeugt <jaspervdj@gmail.com>
* Remove empty line
Co-authored-by: Jasper Van der Jeugt <jaspervdj@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
* Format records where comments are in the same line as the field name
* Fix records format, records with comments will now be formatted
* Fix formatting of comments below
Co-authored-by: Łukasz Gołębiewski <lukasz.golebiewski@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Initial test describing simplest scenario for Data step
Co-authored-by: Łukasz Gołębiewski <lukasz.golebiewski@gmail.com>
* [sanity-check] Delete data defs
* Extract changeDecl
Co-authored-by: Łukasz Gołębiewski <lukasz.golebiewski@gmail.com>
* First green test :-)
* Cover case where there are more then one field in data type declaration
Co-authored-by: Łukasz Gołębiewski <lukasz.golebiewski@gmail.com>
* Add case03 where a type variable is present
* Add case04 - multiple declarations
* Make case04 pass
* Extend tests with case05
Co-authored-by: Łukasz Gołębiewski <lukasz.golebiewski@gmail.com>
* Add pending case06
Co-authored-by: Łukasz Gołębiewski <lukasz.golebiewski@gmail.com>
* Fix case 06
Co-authored-by: Łukasz Gołębiewski <lukasz.golebiewski@gmail.com>
* Add case07
Co-authored-by: Łukasz Gołębiewski <lukasz.golebiewski@gmail.com>
* Add second phantom case
* Add records to config
* Make indent size configurable for records
Co-authored-by: Paweł Szulc <paul.szulc@gmail.com>
* Fix warnings in Data.hs
* Process derivings during record formatting
Co-authored-by: Paweł Szulc <paul.szulc@gmail.com>
* Do not format when context is present
Co-authored-by: Paweł Szulc <paul.szulc@gmail.com>
* Add case 11 - deriving with DerivingStrategies
* Bugfix: do not remove empty data declarations
Co-authored-by: Paweł Szulc <paul.szulc@gmail.com>
* Update README example with ability to format records
* Add case12 (Point)
* Fix case 12
* Factor out processName
* Apply hlint suggestions
* Extract constructors helper function
* Make 'indent' global
* Remove unused Stylish.records method
* Fix Config formatting in Config.hs
* Extract processConstructor function
Co-authored-by: Łukasz Gołębiewski <lukasz.golebiewski@gmail.com>
* Refactor datas function
Co-authored-by: Łukasz Gołębiewski <lukasz.golebiewski@gmail.com>
* Include comments with AST. Two tests are still failing...
* Fix cases 15 and 16
* Do not format records when comments within
Co-authored-by: Łukasz Gołębiewski <lukasz.golebiewski@gmail.com>
* Clean-up Data.hs
* Refactor Data.hs
Co-authored-by: Pawel Szulc <paul.szulc@gmail.com>
|
| |
|
| |
|
|
|
| |
Closes: #250
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|