on master help sign in
Trim the public API of Elm.Compiler for now
9b630c1Evan Czaplicki
src/Elm/Compiler.hs+11−28
@@ -7,26 +7,25 @@ module Elm.Compiler
7 , Localizer
7 , Localizer
8 , dummyLocalizer
8 , dummyLocalizer
9 , Error.Error
9 , Error.Error
10− , errorToDoc
10+ , errorsToDoc
11− , errorToJson
12 , Warning.Warning
11 , Warning.Warning
13− , warningToDoc
14− , warningToJson
15 )
12 )
16 where
13 where
17
14
18−import qualified Data.Aeson as Json
15+
19import qualified Data.ByteString as BS
16import qualified Data.ByteString as BS
20import qualified Data.Map as Map
17import qualified Data.Map as Map
21import qualified Data.Text as Text
18import qualified Data.Text as Text
22−import Text.PrettyPrint.ANSI.Leijen (Doc)
23
19
24import qualified Compile
20import qualified Compile
25import qualified Elm.Compiler.Module as M
21import qualified Elm.Compiler.Module as M
26import qualified Elm.Compiler.Version
22import qualified Elm.Compiler.Version
27import qualified Elm.Package as Pkg
23import qualified Elm.Package as Pkg
28import qualified Reporting.Error as Error
24import qualified Reporting.Error as Error
25+import qualified Reporting.Helpers as H
26+import qualified Reporting.Render.Code as Code
29import qualified Reporting.Render.Type as RenderType
27import qualified Reporting.Render.Type as RenderType
28+import qualified Reporting.Report as Report
30import qualified Reporting.Result as Result
29import qualified Reporting.Result as Result
31import qualified Reporting.Warning as Warning
30import qualified Reporting.Warning as Warning
32
31
@@ -82,25 +81,9 @@ dummyLocalizer =
82-- ERRORS
81-- ERRORS
83
82
84
83
85−errorToDoc :: Localizer -> String -> Text.Text -> Error.Error -> Doc
84+errorsToDoc :: FilePath -> Text.Text -> Localizer -> [Error.Error] -> H.Doc
86−errorToDoc (Localizer localizer) location source err =
87− error "TODO Report.toDoc" location (Error.toReport localizer err) source
88−
89−
90−errorToJson :: Localizer -> String -> Error.Error -> Json.Value
91−errorToJson (Localizer localizer) location err =
85+errorsToDoc filePath source (Localizer localizer) errors =
92− error "TODO Error.toJson" localizer location err
86+ H.vcat $
93−
87+ map
94−
88+ (Report.toDoc filePath)
95−
89+ (concatMap (Error.toReports (Code.toSource source) localizer) errors)
96−-- WARNINGS
97−
98−
99−warningToDoc :: Localizer -> String -> Text.Text -> Warning.Warning -> Doc
100−warningToDoc (Localizer localizer) location source warning =
101− error "TODO Report.toDoc" location (Warning.toReport localizer warning) source
102−
103−
104−warningToJson :: Localizer -> String -> Warning.Warning -> Json.Value
105−warningToJson (Localizer localizer) location warning =
106− error "TODO Warning.toJson" localizer location warning