Commit Graph

348 Commits (1e118a44ca9880b5e96f85a6f8c12d756f08fa8b)

Author SHA1 Message Date
Luke Lau 1e118a44ca Fix build on GHC 8.8 and below 2020-11-15 12:55:50 -05:00
Ximin Luo adb642353d more GHC 8.10.1 fixes 2020-11-15 12:55:50 -05:00
jneira b69a8f983c Adapt to new GHC modules organization 2020-11-15 12:55:50 -05:00
Taylor Fausak 682f08c562
Merge pull request #313 from expipiplus1/joe-exportlist
nondecreasing export list formatting
2020-10-20 16:35:21 -04:00
Joe Hermaszewski 64417c59f4 nondecreasing export list formatting 2020-08-29 13:26:36 +08:00
Lennart Spitzner 55f84c3294
Merge pull request #293 from scrive/main-module
Expose main function as a module
2020-05-07 00:38:48 +02:00
Lennart Spitzner 5c64928972 Fix problem of do notation as left argument of an operator 2020-04-21 01:34:46 +02:00
Soares Chen 8778dcf2f4 Create Main module for Brittany 2020-04-06 12:03:46 +00:00
Lennart Spitzner 86c25ff315
Merge pull request #286 from lspitzner/fix-instance-comment
Fix comments in instance/type instances (#282)
2020-03-24 20:38:28 +01:00
Lennart Spitzner 061c39b4e9 Fix a semi-hidden missing indentation bug 2020-03-23 16:52:18 +01:00
Lennart Spitzner df2ee177b2 Fix comments in instance/type instances (#282) 2020-03-23 16:51:30 +01:00
Lennart Spitzner 7b5c0dc4e3
Merge pull request #287 from RaoulHC/pattern-synonyms
Add support for pattern synonyms
2020-03-23 16:50:50 +01:00
Lennart Spitzner 2ce3fb178c Share some more bridoc nodes, clean up code 2020-03-21 22:07:54 +01:00
Lennart Spitzner eec946830b Fix failing testcase on bidirectional pattern synonyms 2020-03-21 22:05:21 +01:00
Lennart Spitzner 2d07900005 Rewrite non-recommended usage of docLines 2020-03-21 22:05:21 +01:00
Lennart Spitzner 9236673d66 Fix newtype indent in associated type family (#207) 2020-03-13 01:23:17 +01:00
Raoul Hidalgo Charman dfa3fef56c Add support for pattern synonyms 2020-03-08 19:30:23 +00:00
Lennart Spitzner 4b673d1d9d Fix bug in record layouting causing overflows 2020-02-25 17:55:20 +01:00
Lennart Spitzner a3b501051a Add proper multiline layout for type-level-lists 2020-02-23 23:33:03 +01:00
Lennart Spitzner 38cdd15221 Fix moving comment in export list (haddock header) (#281) 2020-02-13 19:05:05 +01:00
Lennart Spitzner 825ec425d4 Improve comments-affecting-layout behaviour for tuples (#231) 2020-02-13 19:04:49 +01:00
Lennart Spitzner 0fdbd51de0 Revert embarrassing debugging leftover that breaks things badly 2020-02-06 20:28:53 +01:00
Lennart Spitzner fad9db8fd8 Autoformat Config.hs 2020-01-23 13:56:25 +01:00
Lennart Spitzner 03e2b62c24 Introduce flag to disable formatting per-module
New inline config `-- brittany-disable` that parses but
ignores the current module. Useful if both brittany
and ghc-exactprint bug out for some syntax.
2020-01-23 13:56:25 +01:00
Lennart Spitzner 95686c20cd Merge branch 'master' into error-handling 2020-01-22 22:58:40 +01:00
Lennart Spitzner 128dd828c2 Fix newline issue on comments before where 2020-01-11 23:19:04 +01:00
Lennart Spitzner 2b303b2a20 Fix additional indentation bug for let-in 2020-01-10 16:32:18 +01:00
Lennart Spitzner d0256bb0db Make unknown syntax errors non-fatal/Fall back on exactprint 2020-01-03 11:58:53 +01:00
Lennart Spitzner 342cf16c56 Improve error message printing
- Omit unnecessary show-invocation
- Use showOutputable for the error span (location)

before/after:

  "RealSrcSpan SrcSpanPoint \"stdin\" 2 1: parse error (possibly incorrect indentation or mismatched brackets)"
  stdin:2:1: parse error (possibly incorrect indentation or mismatched brackets)
2020-01-03 11:58:53 +01:00
Lennart Spitzner af227a797d Add a few code comments 2019-12-20 01:20:07 +01:00
Lennart Spitzner 6724760f40 Fix non-idempotent newlines with comment + where (#263) 2019-12-20 01:12:25 +01:00
Lennart Spitzner 00c6854887 Fix two minor data-decl layouting issues 2019-12-09 22:35:26 +01:00
Lennart Spitzner 3fbbf3d661 Fix one misplaced comment bug on data decls 2019-12-09 11:22:43 -07:00
Lennart Spitzner 6c3d9c57c5 Comment the single-line record decl config flag out 2019-12-09 11:22:43 -07:00
Lennart Spitzner 5a49277eba Improve data decl layouting
- Fix bug in BackendUtil/lowest level of brittany about
  alignment being ignored after a comment,
- Properly layout large (more than single-line) types in
  record fields and in data decl rhs arguments,
- Properly layout data decl constructors with large "heads"
  (forall, constraints),
- Add a config flag to control single-line layout of record
  definition,
2019-12-09 11:20:28 -07:00
Evan Rutledge Borden 80f370a8e1 Support nullary data types
Add tests for nullary prefix data types and nullary record data types.
2019-12-09 11:17:32 -07:00
Lennart Spitzner 0381b9fe24 Fix record field comment indentation 2019-12-09 11:17:32 -07:00
Evan Rutledge Borden 9494d6203a Allow multi line formatting of normal records
Only single line formatting of normal records was being supported. For
records with long names we need multi line formatting. This also needs
to support both multi and left indentation policies.
2019-12-09 11:17:32 -07:00
Lennart Spitzner 48490a7110 Fix handling of comment before data-decl
`docWrapNodePrior` caused duplication of offset of `data` keyword
and of comments connected to it.
2019-12-09 11:17:31 -07:00
Evan Rutledge Borden aeaa043e99 Support building DataDecl with 8.0.2 2019-12-09 11:17:31 -07:00
Evan Rutledge Borden 9971e3905d Support building DataDecl with 8.2.2 2019-12-09 11:17:31 -07:00
Lennart Spitzner 2f6967b7b8 Support comments in record data decls 2019-12-09 11:17:31 -07:00
Lennart Spitzner d21ecf89e6 Fix a comment bug in tuple-type layouting 2019-12-09 11:17:31 -07:00
Lennart Spitzner 208a1ceadb Start making datadecls work with ghc-8.4 2019-12-09 11:17:31 -07:00
Evan Rutledge Borden 57ba88a73c Work-in-progress add record declaration layout
Simple records are supports. The tests cover:

- single records
- multi-field types
- columnized alignment
- basic deriving
- deriving strategies
- existential quanitification

A few items block merger

- retaining comments

A few items can be deferred:

- normal types
- sum types
2019-12-09 11:17:31 -07:00
Lennart Spitzner 4f827491da Work-in-progress commit (deriving clause..) 2019-12-09 11:17:31 -07:00
Lennart Spitzner 172866755c Start impl. layouting for datatypes (#12)
Only newtypes work for now; the "interesting" data records
are not touched yet.

Comment insertion not really considered yet; probably needs work.
2019-12-09 11:17:31 -07:00
Lennart Spitzner e24271318d Improve record-expression layouting
- Finish consolidation, clearing a TODO
- Fix two comment placement issues around record wildcards
- Fix regression in brittany-0.12 about layouting large
  (multiline) record field updates
2019-12-05 14:30:50 +01:00
Lennart Spitzner f87c0c64b8 Implement experimental semicolon-into-newlines feature 2019-12-04 13:55:41 +01:00
Lennart Spitzner 77d6d5b553 Fix roundtripping of (~) constraint/type 2019-11-27 22:21:16 +01:00