@@ -414,11 +414,16 @@ onTypesInErrorMessageM f (ErrorMessage hints simple) = ErrorMessage <$> traverse
414 gHint (ErrorInInstance cl ts) = ErrorInInstance cl <$> traverse f ts
414 gHint (ErrorInInstance cl ts) = ErrorInInstance cl <$> traverse f ts
415 gHint other = pure other
415 gHint other = pure other
418+wikiUri :: ErrorMessage -> String
419+wikiUri e = "https://github.com/purescript/purescript/wiki/Error-Code-" ++ errorCode e
418-- Pretty print a single error, simplifying if necessary
423-- Pretty print a single error, simplifying if necessary
420−prettyPrintSingleError :: Bool -> Level -> ErrorMessage -> Box.Box
425+prettyPrintSingleError :: Bool -> Level -> Bool -> ErrorMessage -> Box.Box
421−prettyPrintSingleError full level e = flip evalState defaultUnknownMap $ do
426+prettyPrintSingleError full level showWiki e = flip evalState defaultUnknownMap $ do
422 em <- onTypesInErrorMessageM replaceUnknowns (if full then e else simplifyErrorMessage e)
427 em <- onTypesInErrorMessageM replaceUnknowns (if full then e else simplifyErrorMessage e)
423 um <- get
428 um <- get
424 return (prettyPrintErrorMessage um em)
429 return (prettyPrintErrorMessage um em)
@@ -427,17 +432,16 @@ prettyPrintSingleError full level e = flip evalState defaultUnknownMap $ do
427 -- Pretty print an ErrorMessage
432 -- Pretty print an ErrorMessage
428 prettyPrintErrorMessage :: TypeMap -> ErrorMessage -> Box.Box
433 prettyPrintErrorMessage :: TypeMap -> ErrorMessage -> Box.Box
429 prettyPrintErrorMessage typeMap (ErrorMessage hints simple) =
434 prettyPrintErrorMessage typeMap (ErrorMessage hints simple) =
431 [ foldr renderHint (indent (renderSimpleErrorMessage simple)) hints
436 [ foldr renderHint (indent (renderSimpleErrorMessage simple)) hints
432 , Box.moveDown 1 typeInformation
437 , Box.moveDown 1 typeInformation
433− , Box.moveDown 1 $ paras [ line $ "See " ++ wikiUri ++ " for more information, "
439+ [ Box.moveDown 1 $ paras [ line $ "See " ++ wikiUri e ++ " for more information, "
434− , line $ "or to contribute content related to this " ++ levelText ++ "."
440+ , line $ "or to contribute content related to this " ++ levelText ++ "."
439− wikiUri = "https://github.com/purescript/purescript/wiki/Error-Code-" ++ errorCode e
441 typeInformation :: Box.Box
445 typeInformation :: Box.Box
442 typeInformation | not (null types) = Box.hsep 1 Box.left [ line "where", paras types]
446 typeInformation | not (null types) = Box.hsep 1 Box.left [ line "where", paras types]
443 | otherwise = Box.emptyBox 0 0
447 | otherwise = Box.emptyBox 0 0
@@ -1072,12 +1076,12 @@ prettyPrintMultipleErrorsBox full = prettyPrintMultipleErrorsWith Error "Error f
1073prettyPrintMultipleErrorsWith :: Level -> String -> String -> Bool -> MultipleErrors -> Box.Box
1077prettyPrintMultipleErrorsWith :: Level -> String -> String -> Bool -> MultipleErrors -> Box.Box
1074prettyPrintMultipleErrorsWith level intro _ full (MultipleErrors [e]) =
1078prettyPrintMultipleErrorsWith level intro _ full (MultipleErrors [e]) =
1075− let result = prettyPrintSingleError full level e
1079+ let result = prettyPrintSingleError full level True e
1076 in Box.vcat Box.left [ Box.text intro
1080 in Box.vcat Box.left [ Box.text intro
1077 , result
1081 , result
1079prettyPrintMultipleErrorsWith level _ intro full (MultipleErrors es) =
1083prettyPrintMultipleErrorsWith level _ intro full (MultipleErrors es) =
1080− let result = map (prettyPrintSingleError full level) es
1084+ let result = map (prettyPrintSingleError full level True) es
1081 in Box.vsep 1 Box.left $ concat $ zipWith withIntro [1 :: Int ..] result
1085 in Box.vsep 1 Box.left $ concat $ zipWith withIntro [1 :: Int ..] result
1083 withIntro i err = [ Box.text (intro ++ " " ++ show i ++ " of " ++ show (length es) ++ ":")
1087 withIntro i err = [ Box.text (intro ++ " " ++ show i ++ " of " ++ show (length es) ++ ":")