git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Merge pull request #1745 from purescript/1732
cc91cadPhil Freeman
psc/JSON.hs+1−1
@@ -53,7 +53,7 @@ toJSONErrors verbose level = map (toJSONError verbose level) . P.runMultipleErro
53toJSONError :: Bool -> P.Level -> P.ErrorMessage -> JSONError
53toJSONError :: Bool -> P.Level -> P.ErrorMessage -> JSONError
54toJSONError verbose level e =
54toJSONError verbose level e =
55 JSONError (toErrorPosition <$> sspan)
55 JSONError (toErrorPosition <$> sspan)
56− (P.renderBox (P.prettyPrintSingleError' verbose level (P.stripModuleAndSpan e)))
56+ (P.renderBox (P.prettyPrintSingleError verbose level (P.stripModuleAndSpan e)))
57 (P.errorCode e)
57 (P.errorCode e)
58 (P.spanName <$> sspan)
58 (P.spanName <$> sspan)
59 (P.runModuleName <$> P.errorModule e)
59 (P.runModuleName <$> P.errorModule e)
src/Language/PureScript/Errors.hs+14−18
@@ -412,14 +412,11 @@ onTypesInErrorMessageM f (ErrorMessage hints simple) = ErrorMessage <$> traverse
412 gHint (ErrorInInstance cl ts) = ErrorInInstance cl <$> traverse f ts
412 gHint (ErrorInInstance cl ts) = ErrorInInstance cl <$> traverse f ts
413 gHint other = pure other
413 gHint other = pure other
414
414
415−prettyPrintSingleError' :: Bool -> Level -> ErrorMessage ->Box.Box
416−prettyPrintSingleError' full level = flip evalState defaultUnknownMap . prettyPrintSingleError full level
417−
418-- |
415-- |
419-- Pretty print a single error, simplifying if necessary
416-- Pretty print a single error, simplifying if necessary
420--
417--
421−prettyPrintSingleError :: Bool -> Level -> ErrorMessage -> State TypeMap Box.Box
418+prettyPrintSingleError :: Bool -> Level -> ErrorMessage -> Box.Box
422−prettyPrintSingleError full level e = do
419+prettyPrintSingleError full level e = flip evalState defaultUnknownMap $ do
423 em <- onTypesInErrorMessageM replaceUnknowns (if full then e else simplifyErrorMessage e)
420 em <- onTypesInErrorMessageM replaceUnknowns (if full then e else simplifyErrorMessage e)
424 um <- get
421 um <- get
425 return (prettyPrintErrorMessage um em)
422 return (prettyPrintErrorMessage um em)
@@ -1061,22 +1058,21 @@ prettyPrintMultipleWarnings full = renderBox . prettyPrintMultipleWarningsBox fu
1061
1058
1062-- | Pretty print warnings as a Box
1059-- | Pretty print warnings as a Box
1063prettyPrintMultipleWarningsBox :: Bool -> MultipleErrors -> Box.Box
1060prettyPrintMultipleWarningsBox :: Bool -> MultipleErrors -> Box.Box
1064−prettyPrintMultipleWarningsBox full = flip evalState defaultUnknownMap . prettyPrintMultipleErrorsWith Warning "Warning found:" "Warning" full
1061+prettyPrintMultipleWarningsBox full = prettyPrintMultipleErrorsWith Warning "Warning found:" "Warning" full
1065
1062
1066-- | Pretty print errors as a Box
1063-- | Pretty print errors as a Box
1067prettyPrintMultipleErrorsBox :: Bool -> MultipleErrors -> Box.Box
1064prettyPrintMultipleErrorsBox :: Bool -> MultipleErrors -> Box.Box
1068−prettyPrintMultipleErrorsBox full = flip evalState defaultUnknownMap . prettyPrintMultipleErrorsWith Error "Error found:" "Error" full
1065+prettyPrintMultipleErrorsBox full = prettyPrintMultipleErrorsWith Error "Error found:" "Error" full
1069−
1066+
1070−prettyPrintMultipleErrorsWith :: Level -> String -> String -> Bool -> MultipleErrors -> State TypeMap Box.Box
1067+prettyPrintMultipleErrorsWith :: Level -> String -> String -> Bool -> MultipleErrors -> Box.Box
1071−prettyPrintMultipleErrorsWith level intro _ full (MultipleErrors [e]) = do
1068+prettyPrintMultipleErrorsWith level intro _ full (MultipleErrors [e]) =
1072− result <- prettyPrintSingleError full level e
1069+ let result = prettyPrintSingleError full level e
1073− return $
1074− Box.vcat Box.left [ Box.text intro
1070+ in Box.vcat Box.left [ Box.text intro
1075− , result
1071+ , result
1076− ]
1072+ ]
1077−prettyPrintMultipleErrorsWith level _ intro full (MultipleErrors es) = do
1073+prettyPrintMultipleErrorsWith level _ intro full (MultipleErrors es) =
1078− result <- forM es $ prettyPrintSingleError full level
1074+ let result = map (prettyPrintSingleError full level) es
1079− return $ Box.vsep 1 Box.left $ concat $ zipWith withIntro [1 :: Int ..] result
1075+ in Box.vsep 1 Box.left $ concat $ zipWith withIntro [1 :: Int ..] result
1080 where
1076 where
1081 withIntro i err = [ Box.text (intro ++ " " ++ show i ++ " of " ++ show (length es) ++ ":")
1077 withIntro i err = [ Box.text (intro ++ " " ++ show i ++ " of " ++ show (length es) ++ ":")
1082 , Box.moveRight 2 err
1078 , Box.moveRight 2 err