git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Fix #1321
be318a7Phil Freeman
src/Language/PureScript/Errors.hs+9−5
@@ -747,24 +747,28 @@ 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 . flip evalState M.empty . prettyPrintMultipleErrorsWith Warning "Warning found:" "Multiple warnings found:" full
757
757
758+-- | Pretty print errors as a Box
759+prettyPrintMultipleErrorsBox :: Bool -> MultipleErrors -> Box.Box
760+prettyPrintMultipleErrorsBox full = flip evalState M.empty . prettyPrintMultipleErrorsWith Error "Error found:" "Multiple errors found:" full
761+
758−prettyPrintMultipleErrorsWith :: Level -> String -> String -> Bool -> MultipleErrors -> State UnknownMap String
762+prettyPrintMultipleErrorsWith :: Level -> String -> String -> Bool -> MultipleErrors -> State UnknownMap Box.Box
759prettyPrintMultipleErrorsWith level intro _ full (MultipleErrors [e]) = do
763prettyPrintMultipleErrorsWith level intro _ full (MultipleErrors [e]) = do
760 result <- prettyPrintSingleError full level e
764 result <- prettyPrintSingleError full level e
761− return $ renderBox $
765+ return $
762 Box.vcat Box.left [ Box.text intro
766 Box.vcat Box.left [ Box.text intro
763 , result
767 , result
764 ]
768 ]
765prettyPrintMultipleErrorsWith level _ intro full (MultipleErrors es) = do
769prettyPrintMultipleErrorsWith level _ intro full (MultipleErrors es) = do
766 result <- forM es $ (liftM $ Box.moveRight 2) . prettyPrintSingleError full level
770 result <- forM es $ (liftM $ Box.moveRight 2) . prettyPrintSingleError full level
767− return $ renderBox $
771+ return $
768 Box.vcat Box.left [ Box.text intro
772 Box.vcat Box.left [ Box.text intro
769 , Box.vsep 1 Box.left result
773 , Box.vsep 1 Box.left result
770 ]
774 ]
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