packages feed

ormolu 0.8.0.0 → 0.8.0.1

raw patch · 16 files changed

+59/−14 lines, 16 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Ormolu.Config: instance GHC.Internal.Base.Functor Ormolu.Config.Config
- Ormolu.Config: instance GHC.Internal.Generics.Generic (Ormolu.Config.Config region)
- Ormolu.Config: instance GHC.Internal.Show.Show Ormolu.Config.DynOption
- Ormolu.Config: instance GHC.Internal.Show.Show Ormolu.Config.RegionDeltas
- Ormolu.Config: instance GHC.Internal.Show.Show Ormolu.Config.RegionIndices
- Ormolu.Config: instance GHC.Internal.Show.Show Ormolu.Config.SourceType
- Ormolu.Config: instance GHC.Internal.Show.Show region => GHC.Internal.Show.Show (Ormolu.Config.Config region)
- Ormolu.Diff.ParseResult: instance GHC.Internal.Base.Monoid Ormolu.Diff.ParseResult.ParseResultDiff
- Ormolu.Diff.ParseResult: instance GHC.Internal.Base.Semigroup Ormolu.Diff.ParseResult.ParseResultDiff
- Ormolu.Diff.ParseResult: instance GHC.Internal.Show.Show Ormolu.Diff.ParseResult.ParseResultDiff
- Ormolu.Diff.Text: instance GHC.Internal.Show.Show Ormolu.Diff.Text.Hunk
- Ormolu.Diff.Text: instance GHC.Internal.Show.Show Ormolu.Diff.Text.TextDiff
- Ormolu.Exception: instance GHC.Internal.Exception.Type.Exception Ormolu.Exception.OrmoluException
- Ormolu.Exception: instance GHC.Internal.Show.Show Ormolu.Exception.OrmoluException
- Ormolu.Fixity.Internal: instance GHC.Internal.Base.Semigroup Ormolu.Fixity.Internal.FixityApproximation
- Ormolu.Fixity.Internal: instance GHC.Internal.Data.String.IsString Ormolu.Fixity.Internal.OpName
- Ormolu.Fixity.Internal: instance GHC.Internal.Generics.Generic Ormolu.Fixity.Internal.FixityApproximation
- Ormolu.Fixity.Internal: instance GHC.Internal.Generics.Generic Ormolu.Fixity.Internal.FixityDirection
- Ormolu.Fixity.Internal: instance GHC.Internal.Generics.Generic Ormolu.Fixity.Internal.FixityInfo
- Ormolu.Fixity.Internal: instance GHC.Internal.Generics.Generic Ormolu.Fixity.Internal.HackageInfo
- Ormolu.Fixity.Internal: instance GHC.Internal.Show.Show Ormolu.Fixity.Internal.FixityApproximation
- Ormolu.Fixity.Internal: instance GHC.Internal.Show.Show Ormolu.Fixity.Internal.FixityDirection
- Ormolu.Fixity.Internal: instance GHC.Internal.Show.Show Ormolu.Fixity.Internal.FixityInfo
- Ormolu.Fixity.Internal: instance GHC.Internal.Show.Show Ormolu.Fixity.Internal.FixityOverrides
- Ormolu.Fixity.Internal: instance GHC.Internal.Show.Show Ormolu.Fixity.Internal.FixityProvenance
- Ormolu.Fixity.Internal: instance GHC.Internal.Show.Show Ormolu.Fixity.Internal.FixityQualification
- Ormolu.Fixity.Internal: instance GHC.Internal.Show.Show Ormolu.Fixity.Internal.ModuleFixityMap
- Ormolu.Fixity.Internal: instance GHC.Internal.Show.Show Ormolu.Fixity.Internal.ModuleReexports
- Ormolu.Fixity.Internal: instance GHC.Internal.Show.Show Ormolu.Fixity.Internal.OpName
- Ormolu.Fixity.Internal: instance GHC.Internal.Show.Show Ormolu.Fixity.Internal.PackageFixityMap
- Ormolu.Parser.CommentStream: instance GHC.Internal.Base.Monoid Ormolu.Parser.CommentStream.CommentStream
- Ormolu.Parser.CommentStream: instance GHC.Internal.Base.Semigroup Ormolu.Parser.CommentStream.CommentStream
- Ormolu.Parser.CommentStream: instance GHC.Internal.Data.Data.Data Ormolu.Parser.CommentStream.Comment
- Ormolu.Parser.CommentStream: instance GHC.Internal.Data.Data.Data Ormolu.Parser.CommentStream.CommentStream
- Ormolu.Parser.CommentStream: instance GHC.Internal.Show.Show Ormolu.Parser.CommentStream.Comment
- Ormolu.Parser.Pragma: instance GHC.Internal.Show.Show Ormolu.Parser.Pragma.Pragma
- Ormolu.Printer.Combinators: instance GHC.Internal.Show.Show Ormolu.Printer.Combinators.BracketStyle
- Ormolu.Printer.Combinators: instance GHC.Internal.Show.Show Ormolu.Printer.Combinators.Placement
- Ormolu.Printer.Internal: instance GHC.Internal.Base.Applicative Ormolu.Printer.Internal.R
- Ormolu.Printer.Internal: instance GHC.Internal.Base.Functor Ormolu.Printer.Internal.R
- Ormolu.Printer.Internal: instance GHC.Internal.Base.Monad Ormolu.Printer.Internal.R
- Ormolu.Printer.Internal: instance GHC.Internal.Show.Show Ormolu.Printer.Internal.CommentPosition
- Ormolu.Printer.Internal: instance GHC.Internal.Show.Show Ormolu.Printer.Internal.Layout
- Ormolu.Printer.Internal: instance GHC.Internal.Show.Show Ormolu.Printer.Internal.RequestedDelimiter
- Ormolu.Printer.Internal: instance GHC.Internal.Show.Show Ormolu.Printer.Internal.SpitType
- Ormolu.Printer.Meat.Declaration: instance GHC.Internal.Show.Show Ormolu.Printer.Meat.Declaration.UserGrouping
- Ormolu.Printer.Meat.Declaration.StringLiteral: instance GHC.Internal.Show.Show Ormolu.Printer.Meat.Declaration.StringLiteral.ParsedStringLiteral
- Ormolu.Printer.Meat.Declaration.StringLiteral: instance GHC.Internal.Show.Show Ormolu.Printer.Meat.Declaration.StringLiteral.StringLiteralKind
- Ormolu.Printer.Operators: instance (GHC.Internal.Show.Show ty, GHC.Internal.Show.Show op) => GHC.Internal.Show.Show (Ormolu.Printer.Operators.OpTree ty op)
- Ormolu.Printer.SpanStream: instance GHC.Internal.Base.Monoid Ormolu.Printer.SpanStream.SpanStream
- Ormolu.Printer.SpanStream: instance GHC.Internal.Base.Semigroup Ormolu.Printer.SpanStream.SpanStream
- Ormolu.Printer.SpanStream: instance GHC.Internal.Data.Data.Data Ormolu.Printer.SpanStream.SpanStream
- Ormolu.Printer.SpanStream: instance GHC.Internal.Show.Show Ormolu.Printer.SpanStream.SpanStream
- Ormolu.Processing.Cpp: instance GHC.Internal.Show.Show Ormolu.Processing.Cpp.State
- Ormolu.Processing.Preprocess: instance GHC.Internal.Show.Show Ormolu.Processing.Preprocess.OrmoluState
- Ormolu.Terminal: instance GHC.Internal.Base.Applicative Ormolu.Terminal.TermOutput
- Ormolu.Terminal: instance GHC.Internal.Base.Functor Ormolu.Terminal.TermOutput
- Ormolu.Terminal: instance GHC.Internal.Base.Monoid (Ormolu.Terminal.TermOutput a)
- Ormolu.Terminal: instance GHC.Internal.Base.Semigroup (Ormolu.Terminal.TermOutput a)
- Ormolu.Terminal: instance GHC.Internal.Show.Show Ormolu.Terminal.ColorMode
- Ormolu.Utils: instance GHC.Internal.Show.Show Ormolu.Utils.RelativePos
- Ormolu.Utils.Cabal: instance GHC.Internal.Show.Show Ormolu.Utils.Cabal.CabalInfo
- Ormolu.Utils.Cabal: instance GHC.Internal.Show.Show Ormolu.Utils.Cabal.CabalSearchResult
- Ormolu.Utils.Cabal: instance GHC.Internal.Show.Show Ormolu.Utils.Cabal.CachedCabalFile
+ Ormolu.Config: instance GHC.Base.Functor Ormolu.Config.Config
+ Ormolu.Config: instance GHC.Generics.Generic (Ormolu.Config.Config region)
+ Ormolu.Config: instance GHC.Show.Show Ormolu.Config.DynOption
+ Ormolu.Config: instance GHC.Show.Show Ormolu.Config.RegionDeltas
+ Ormolu.Config: instance GHC.Show.Show Ormolu.Config.RegionIndices
+ Ormolu.Config: instance GHC.Show.Show Ormolu.Config.SourceType
+ Ormolu.Config: instance GHC.Show.Show region => GHC.Show.Show (Ormolu.Config.Config region)
+ Ormolu.Diff.ParseResult: instance GHC.Base.Monoid Ormolu.Diff.ParseResult.ParseResultDiff
+ Ormolu.Diff.ParseResult: instance GHC.Base.Semigroup Ormolu.Diff.ParseResult.ParseResultDiff
+ Ormolu.Diff.ParseResult: instance GHC.Show.Show Ormolu.Diff.ParseResult.ParseResultDiff
+ Ormolu.Diff.Text: instance GHC.Show.Show Ormolu.Diff.Text.Hunk
+ Ormolu.Diff.Text: instance GHC.Show.Show Ormolu.Diff.Text.TextDiff
+ Ormolu.Exception: instance GHC.Exception.Type.Exception Ormolu.Exception.OrmoluException
+ Ormolu.Exception: instance GHC.Show.Show Ormolu.Exception.OrmoluException
+ Ormolu.Fixity.Internal: instance Data.String.IsString Ormolu.Fixity.Internal.OpName
+ Ormolu.Fixity.Internal: instance GHC.Base.Semigroup Ormolu.Fixity.Internal.FixityApproximation
+ Ormolu.Fixity.Internal: instance GHC.Generics.Generic Ormolu.Fixity.Internal.FixityApproximation
+ Ormolu.Fixity.Internal: instance GHC.Generics.Generic Ormolu.Fixity.Internal.FixityDirection
+ Ormolu.Fixity.Internal: instance GHC.Generics.Generic Ormolu.Fixity.Internal.FixityInfo
+ Ormolu.Fixity.Internal: instance GHC.Generics.Generic Ormolu.Fixity.Internal.HackageInfo
+ Ormolu.Fixity.Internal: instance GHC.Show.Show Ormolu.Fixity.Internal.FixityApproximation
+ Ormolu.Fixity.Internal: instance GHC.Show.Show Ormolu.Fixity.Internal.FixityDirection
+ Ormolu.Fixity.Internal: instance GHC.Show.Show Ormolu.Fixity.Internal.FixityInfo
+ Ormolu.Fixity.Internal: instance GHC.Show.Show Ormolu.Fixity.Internal.FixityOverrides
+ Ormolu.Fixity.Internal: instance GHC.Show.Show Ormolu.Fixity.Internal.FixityProvenance
+ Ormolu.Fixity.Internal: instance GHC.Show.Show Ormolu.Fixity.Internal.FixityQualification
+ Ormolu.Fixity.Internal: instance GHC.Show.Show Ormolu.Fixity.Internal.ModuleFixityMap
+ Ormolu.Fixity.Internal: instance GHC.Show.Show Ormolu.Fixity.Internal.ModuleReexports
+ Ormolu.Fixity.Internal: instance GHC.Show.Show Ormolu.Fixity.Internal.OpName
+ Ormolu.Fixity.Internal: instance GHC.Show.Show Ormolu.Fixity.Internal.PackageFixityMap
+ Ormolu.Parser.CommentStream: instance Data.Data.Data Ormolu.Parser.CommentStream.Comment
+ Ormolu.Parser.CommentStream: instance Data.Data.Data Ormolu.Parser.CommentStream.CommentStream
+ Ormolu.Parser.CommentStream: instance GHC.Base.Monoid Ormolu.Parser.CommentStream.CommentStream
+ Ormolu.Parser.CommentStream: instance GHC.Base.Semigroup Ormolu.Parser.CommentStream.CommentStream
+ Ormolu.Parser.CommentStream: instance GHC.Show.Show Ormolu.Parser.CommentStream.Comment
+ Ormolu.Parser.Pragma: instance GHC.Show.Show Ormolu.Parser.Pragma.Pragma
+ Ormolu.Printer.Combinators: instance GHC.Show.Show Ormolu.Printer.Combinators.BracketStyle
+ Ormolu.Printer.Combinators: instance GHC.Show.Show Ormolu.Printer.Combinators.Placement
+ Ormolu.Printer.Internal: instance GHC.Base.Applicative Ormolu.Printer.Internal.R
+ Ormolu.Printer.Internal: instance GHC.Base.Functor Ormolu.Printer.Internal.R
+ Ormolu.Printer.Internal: instance GHC.Base.Monad Ormolu.Printer.Internal.R
+ Ormolu.Printer.Internal: instance GHC.Show.Show Ormolu.Printer.Internal.CommentPosition
+ Ormolu.Printer.Internal: instance GHC.Show.Show Ormolu.Printer.Internal.Layout
+ Ormolu.Printer.Internal: instance GHC.Show.Show Ormolu.Printer.Internal.RequestedDelimiter
+ Ormolu.Printer.Internal: instance GHC.Show.Show Ormolu.Printer.Internal.SpitType
+ Ormolu.Printer.Meat.Declaration: instance GHC.Show.Show Ormolu.Printer.Meat.Declaration.UserGrouping
+ Ormolu.Printer.Meat.Declaration.StringLiteral: instance GHC.Show.Show Ormolu.Printer.Meat.Declaration.StringLiteral.ParsedStringLiteral
+ Ormolu.Printer.Meat.Declaration.StringLiteral: instance GHC.Show.Show Ormolu.Printer.Meat.Declaration.StringLiteral.StringLiteralKind
+ Ormolu.Printer.Operators: instance (GHC.Show.Show ty, GHC.Show.Show op) => GHC.Show.Show (Ormolu.Printer.Operators.OpTree ty op)
+ Ormolu.Printer.SpanStream: instance Data.Data.Data Ormolu.Printer.SpanStream.SpanStream
+ Ormolu.Printer.SpanStream: instance GHC.Base.Monoid Ormolu.Printer.SpanStream.SpanStream
+ Ormolu.Printer.SpanStream: instance GHC.Base.Semigroup Ormolu.Printer.SpanStream.SpanStream
+ Ormolu.Printer.SpanStream: instance GHC.Show.Show Ormolu.Printer.SpanStream.SpanStream
+ Ormolu.Processing.Cpp: instance GHC.Show.Show Ormolu.Processing.Cpp.State
+ Ormolu.Processing.Preprocess: instance GHC.Show.Show Ormolu.Processing.Preprocess.OrmoluState
+ Ormolu.Terminal: instance GHC.Base.Applicative Ormolu.Terminal.TermOutput
+ Ormolu.Terminal: instance GHC.Base.Functor Ormolu.Terminal.TermOutput
+ Ormolu.Terminal: instance GHC.Base.Monoid (Ormolu.Terminal.TermOutput a)
+ Ormolu.Terminal: instance GHC.Base.Semigroup (Ormolu.Terminal.TermOutput a)
+ Ormolu.Terminal: instance GHC.Show.Show Ormolu.Terminal.ColorMode
+ Ormolu.Utils: instance GHC.Show.Show Ormolu.Utils.RelativePos
+ Ormolu.Utils.Cabal: instance GHC.Show.Show Ormolu.Utils.Cabal.CabalInfo
+ Ormolu.Utils.Cabal: instance GHC.Show.Show Ormolu.Utils.Cabal.CabalSearchResult
+ Ormolu.Utils.Cabal: instance GHC.Show.Show Ormolu.Utils.Cabal.CachedCabalFile

Files

CHANGELOG.md view
@@ -1,3 +1,19 @@+## Ormolu 0.8.0.1++* Correctly format edge cases where fully collapsing string gaps changes the+  string represented by a string literal. [Issue+  1160](https://github.com/tweag/ormolu/issues/1160).++* Fix false positives in AST diffing in fixity declarations with implicit+  fixity, such as `infix +`. [Issue+  1166](https://github.com/tweag/ormolu/issues/1166).++* Make multiline function signatures in RequiredTypeArguments consistent with+  types [PR 1170](https://github.com/tweag/ormolu/pull/1170)++* Correctly format single-line `MultiWayIf`s. [Issue+  1171](https://github.com/tweag/ormolu/issues/1171).+ ## Ormolu 0.8.0.0  * Format multiple files in parallel. [Issue
data/examples/declaration/signature/fixity/infix-out.hs view
@@ -5,3 +5,5 @@ infix 2 ->  infix 0 type <!>++infix 9 +
data/examples/declaration/signature/fixity/infix.hs view
@@ -4,3 +4,5 @@ infix 2 ->  infix 0 type <!>++infix +
data/examples/declaration/value/function/multi-way-if-out.hs view
@@ -14,3 +14,5 @@       | p -> f       | otherwise -> g     x++x y = if | foo -> False | otherwise -> True
data/examples/declaration/value/function/multi-way-if.hs view
@@ -12,3 +12,5 @@   if | p -> f      | otherwise -> g     x++x y = if | foo -> False | otherwise -> True
data/examples/declaration/value/function/multiline-strings-0-out.hs view
@@ -7,7 +7,7 @@   """  s_2 =-  """Line 1+  """\ \Line 1      Line 2   Line 3   """
data/examples/declaration/value/function/multiline-strings-1-out.hs view
@@ -2,9 +2,11 @@  s =   """-  a b c d e+  a b\ \ c d e   f g   """  -- equivalent to s' = "a b c d e\nf g"++weirdGap = """\65\ \0"""
data/examples/declaration/value/function/multiline-strings-1.hs view
@@ -9,3 +9,5 @@  -- equivalent to s' = "a b c d e\nf g"++weirdGap = """\65\ \0"""
data/examples/declaration/value/function/required-type-arguments-2-out.hs view
@@ -18,5 +18,6 @@       Maybe Int ->       Maybe         (String, Int) %1 ->-      Word %m -> Text+      Word %m ->+      Text     )
data/examples/declaration/value/function/strings-out.hs view
@@ -2,9 +2,11 @@  foo = "foobar" -bar = "foo\&barbaz"+bar = "foo\&bar\ \baz"  baz =   "foo\   \bar\   \baz"++weirdGap = "\65\ \0"
data/examples/declaration/value/function/strings.hs view
@@ -5,3 +5,5 @@ baz = "foo\       \bar\     \baz"++weirdGap = "\65\ \0"
ormolu.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: ormolu-version: 0.8.0.0+version: 0.8.0.1 license: BSD-3-Clause license-file: LICENSE.md maintainer: Mark Karpov <mark.karpov@tweag.io>
src/Ormolu/Diff/ParseResult.hs view
@@ -94,6 +94,7 @@                   `extQ` considerEqual @SourceText                   `extQ` considerEqual @EpAnnComments -- ~ XCGRHSs GhcPs                   `extQ` considerEqual @EpaLocation+                  `extQ` considerEqual @(Maybe EpaLocation)                   `extQ` considerEqual @EpLayout                   `extQ` considerEqual @AnnSig                   `extQ` considerEqual @HsRuleAnn
src/Ormolu/Printer/Meat/Declaration/StringLiteral.hs view
@@ -28,7 +28,7 @@     case stringLiteralKind of       RegularStringLiteral -> do         let singleLine =-              txt $ T.concat segments+              txt $ intercalateMinimalStringGaps segments             multiLine =               sep breakpoint f (attachRelativePos segments)               where@@ -105,9 +105,9 @@     splitMultilineString :: Text -> [Text]     splitMultilineString =       splitGaps-        -- There is no reason to use gaps with multiline string literals, so-        -- we collapse them.-        >>> T.concat+        -- There is no reason to use gaps with multiline string literals just to+        -- emulate multi-line strings, so we replace them with "\\ \\".+        >>> intercalateMinimalStringGaps         >>> splitNewlines         >>> fmap expandLeadingTabs         >>> rmCommonWhitespacePrefixAndBlank@@ -150,3 +150,12 @@             | otherwise = (Just $ Min leadingSpace, T.drop commonWs l)             where               leadingSpace = T.length $ T.takeWhile is_space l++-- | Add minimal string gaps between string literal chunks. Such string gaps+-- /can/ be semantically meaningful (so we preserve them for simplicity); for+-- example:+--+-- >>> "\65\ \0" == "\650"+-- False+intercalateMinimalStringGaps :: [Text] -> Text+intercalateMinimalStringGaps = T.intercalate "\\ \\"
src/Ormolu/Printer/Meat/Declaration/Value.hs view
@@ -733,7 +733,7 @@   HsMultiIf _ guards -> do     txt "if"     breakpoint-    inciApplicand isApp $ sep newline (located' (p_grhs RightArrow)) guards+    inciApplicand isApp $ sep breakpoint (located' (p_grhs RightArrow)) guards   HsLet _ localBinds e ->     p_let p_hsExpr localBinds e   HsDo _ doFlavor es -> do@@ -860,7 +860,9 @@     space     p_arrow (located' p_hsExpr) arrow     breakpoint-    located y p_hsExpr+    case unLoc y of+      HsFunArr {} -> p_hsExpr (unLoc y)+      _ -> located y p_hsExpr  -- | Print a list comprehension. --
src/Ormolu/Printer/Meat/Type.hs view
@@ -87,13 +87,13 @@     inci $ do       txt "@"       located kd p_hsType-  HsFunTy _ arrow x y@(L _ y') -> do+  HsFunTy _ arrow x y -> do     located x p_hsType     space     p_arrow (located' p_hsTypeR) arrow     interArgBreak-    case y' of-      HsFunTy {} -> p_hsTypeR y'+    case unLoc y of+      HsFunTy {} -> p_hsTypeR (unLoc y)       _ -> located y p_hsTypeR   HsListTy _ t ->     located t (brackets N . p_hsType)