Changelog of @hackage/hindent 5.3.0

5.3.0: * Handle multiple deriving clauses in a DerivingStrategies scenario * Ignore non-files in findCabalFiles * Allow batch processing of multiple files * Prevent hindent from trying to open non-files when searching for .cabal files * Specify default extensions in configuration file * Fix bad output for [p|Foo|] pattern quasi-quotes * Parse C preprocessor line continuations * Fix pretty printing of '(:) * Add parens around symbols (:|) when required * Support $p pattern splices * Fix associated type families * Non-dependent record constructor formatting

5.2.7: * Fix -X option bug

5.2.6: * Switch to optparse-applicative

5.2.5:

* Support get extensions from `.cabal` file
* Improve indention with record constructions and updates
* Fix `let ... in` bug
* Fix top-level lambda expressions in TemplateHaskell slices
* Update to haskell-src-exts dependency to version `>= 1.20.0`

5.2.4:

* Pretty print imports
* Fix pretty print for string literals for `DataKinds`
* Support `--validate` option for checking the format without reformatting
* Support parse `#include`, `#error`, `#warning` directives
* Support read `LANGUAGE` pragma and parse the declared extensions from source
* Treat `TypeApplications` extension as 'badExtensions' due to the `@` symbol
* Improve pretty print for unboxed tuples
* Fix many issues related to infix operators, includes TH name quotes,
  `INLINE`/`NOINLINE` pragmas, infix type operator and infix constructor
* Fix pretty print for operators in `INLINE`/`NOINLINE` pragmas
* Support for `EmptyCases` extension
* Fix TH name quotes on operator names
* Optimize pretty print for many fundeps
* Fix extra linebreaks after short identifiers

5.2.3:

* Sort explicit import lists
* Report the `SrcLoc` when there's a parse error
* Improve long type signatures pretty printing
* Support custom line-break operators, add `--line-breaks` argument
* Fix infix data constructor
* Disable `RecursiveDo` and `DoRec` extensions by default
* Add RecStmt support
* Improve GADT records, data declaration records
* Complicated type alias and type signatures pretty printing
* Fix quasi-quoter names

5.2.2:

* Parallel list comprehensions
* Leave do, lambda, lambda-case on previous line of $
* Misc fixes

5.2.1:

* Fix hanging on large constraints
* Render multi-line comments
* Rename --tab-size to --indent-size
* Don't add a spurious space for comments at the end of the file
* Don't add trailing whitespace on <-
* Disable PatternSynonyms
* Put a newline before the closing bracket on a list

5.2.0:

* Default tab-width is now 2
* Supports .hindent.yaml file to specify alt tab-width and max
  column
* Put last paren of export list on a new line
* Implement tab-size support in Emacs Lisp

5.1.1:

* Preserve spaces between groups of imports (fixes #200)
* Support shebangs (closes #208)
* Output filename for parse errors (fixes #179)
* Input with newline ends with newline (closes #211)
* Document -X (closes #212)
* Fix explicit forall in instances (closes #218)
* Put last paren of export list on a new line #227

5.1.0:

* Rewrote comment association, more reliable
* Added --tab-size flag for indentation spaces
* Fixed some miscellaneous bugs

5.0.1:

* Re-implement using bytestring instead of text
* Made compatible with GHC 7.8 through to GHC 8.0
* Added test suite and benchmarks in TESTS.md and BENCHMARKS.md

5.0.0:

* Drop support for styles

4.6.4

* Copy/delete file instead of renaming

4.4.6

* Fix whole module printer
* Accept a filename to reformat

4.4.5

* Fix bug in infix patterns

4.4.2

* Bunch of Gibiansky style fixes.
* Support CPP.
* Tibell style fixes.

4.3.8

* Fixed: bug in printing operators in statements.

4.5.4

* Improvements to Tibell style.
* 6x speed up on rendering operators.