git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Merge pull request #1353 from purescript/1321
f2ce44fPhil Freeman
src/Language/PureScript/Errors.hs+13−5
@@ -747,24 +747,32 @@ prettyPrintSingleError full level e = prettyPrintErrorMessage <$> onTypesInError
747-- Pretty print multiple errors
747-- Pretty print multiple errors
748--
748--
749prettyPrintMultipleErrors :: Bool -> MultipleErrors -> String
749prettyPrintMultipleErrors :: Bool -> MultipleErrors -> String
750−prettyPrintMultipleErrors full = flip evalState M.empty . prettyPrintMultipleErrorsWith Error "Error found:" "Multiple errors found:" full
750+prettyPrintMultipleErrors full = renderBox . prettyPrintMultipleErrorsBox full
751
751
752-- |
752-- |
753-- Pretty print multiple warnings
753-- Pretty print multiple warnings
754--
754--
755prettyPrintMultipleWarnings :: Bool -> MultipleErrors -> String
755prettyPrintMultipleWarnings :: Bool -> MultipleErrors -> String
756−prettyPrintMultipleWarnings full = flip evalState M.empty . prettyPrintMultipleErrorsWith Warning "Warning found:" "Multiple warnings found:" full
756+prettyPrintMultipleWarnings full = renderBox . prettyPrintMultipleWarningsBox full
757
757
758+-- | Pretty print warnings as a Box
759+prettyPrintMultipleWarningsBox :: Bool -> MultipleErrors -> Box.Box
760+prettyPrintMultipleWarningsBox full = flip evalState M.empty . prettyPrintMultipleErrorsWith Warning "Warning found:" "Multiple warnings found:" full
761+
762+-- | Pretty print errors as a Box
763+prettyPrintMultipleErrorsBox :: Bool -> MultipleErrors -> Box.Box
764+prettyPrintMultipleErrorsBox full = flip evalState M.empty . prettyPrintMultipleErrorsWith Error "Error found:" "Multiple errors found:" full
765+
758−prettyPrintMultipleErrorsWith :: Level -> String -> String -> Bool -> MultipleErrors -> State UnknownMap String
766+prettyPrintMultipleErrorsWith :: Level -> String -> String -> Bool -> MultipleErrors -> State UnknownMap Box.Box
759prettyPrintMultipleErrorsWith level intro _ full (MultipleErrors [e]) = do
767prettyPrintMultipleErrorsWith level intro _ full (MultipleErrors [e]) = do
760 result <- prettyPrintSingleError full level e
768 result <- prettyPrintSingleError full level e
761− return $ renderBox $
769+ return $
762 Box.vcat Box.left [ Box.text intro
770 Box.vcat Box.left [ Box.text intro
763 , result
771 , result
764 ]
772 ]
765prettyPrintMultipleErrorsWith level _ intro full (MultipleErrors es) = do
773prettyPrintMultipleErrorsWith level _ intro full (MultipleErrors es) = do
766 result <- forM es $ (liftM $ Box.moveRight 2) . prettyPrintSingleError full level
774 result <- forM es $ (liftM $ Box.moveRight 2) . prettyPrintSingleError full level
767− return $ renderBox $
775+ return $
768 Box.vcat Box.left [ Box.text intro
776 Box.vcat Box.left [ Box.text intro
769 , Box.vsep 1 Box.left result
777 , Box.vsep 1 Box.left result
770 ]
778 ]
src/Language/PureScript/Publish/ErrorsWarnings.hs+2−2
@@ -198,12 +198,12 @@ displayUserError e = case e of
198 ParseAndDesugarError (D.SortModulesError err) ->
198 ParseAndDesugarError (D.SortModulesError err) ->
199 vcat
199 vcat
200 [ para "Error in sortModules:"
200 [ para "Error in sortModules:"
201− , indented (para (P.prettyPrintMultipleErrors False err))
201+ , indented (P.prettyPrintMultipleErrorsBox False err)
202 ]
202 ]
203 ParseAndDesugarError (D.DesugarError err) ->
203 ParseAndDesugarError (D.DesugarError err) ->
204 vcat
204 vcat
205 [ para "Error while desugaring:"
205 [ para "Error while desugaring:"
206− , indented (para (P.prettyPrintMultipleErrors False err))
206+ , indented (P.prettyPrintMultipleErrorsBox False err)
207 ]
207 ]
208 DirtyWorkingTree ->
208 DirtyWorkingTree ->
209 para (concat
209 para (concat