@@ -16,8 +16,8 @@ module Elm.Compiler.Type
17import qualified Data.Text as Text
17import qualified Data.Text as Text
18import qualified Data.Text.Encoding as Text
18import qualified Data.Text.Encoding as Text
19−import qualified Text.PrettyPrint as P
19+import qualified Text.PrettyPrint.ANSI.Leijen as P
20−import Text.PrettyPrint ((<+>))
20+import Text.PrettyPrint.ANSI.Leijen ((<+>))
22import qualified AST.Source as Src
22import qualified AST.Source as Src
23import qualified Elm.Name as N
23import qualified Elm.Name as N
@@ -63,15 +63,12 @@ data Format = OneLine | MultiLine
64toString :: Format -> Type -> String
64toString :: Format -> Type -> String
65toString format tipe =
65toString format tipe =
68− case format of
66+ case format of
69− OneLine ->
67+ OneLine ->
70− P.OneLineMode
68+ P.displayS (P.renderPretty 1.0 maxBound (toDoc None tipe)) ""
71− MultiLine ->
70+ MultiLine ->
74− P.renderStyle (P.Style mode 80 1.0) (toDoc None tipe)
71+ P.displayS (P.renderPretty 1.0 80 (toDoc None tipe)) ""
77data Context = None | InType | InFunction
74data Context = None | InType | InFunction
@@ -114,11 +111,11 @@ toDoc context tipe =
115+ P.text (N.toString name)
117 application =
117 application =
119− (P.text (N.toString name))
121− (P.sep $ map (toDoc InType) args)
118+ P.hang 2 $ P.sep (docName : map (toDoc InType) args)
123 case context of
120 case context of
124 InType ->
121 InType ->
@@ -139,14 +136,12 @@ toDoc context tipe =
141 Just x ->
138 Just x ->
142− P.hang
139+ P.hang 4 $
143− ("{" <+> P.text (N.toString x) <+> "|")
141+ [ "{" <+> P.text (N.toString x) <+> "|"
146− [ P.sep (P.punctuate "," (map entryToDoc fields))
142+ , P.sep (P.punctuate "," (map entryToDoc fields))
152entryToDoc :: (N.Name, Type) -> P.Doc
147entryToDoc :: (N.Name, Type) -> P.Doc