git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Remove errorlink in JSON to separate field
commit95f2b12cfe94cb4394bdf4fa346a401518c24652 authorNicholas Wolverson <nicholas.wolverson@gmail.com> dateThu 31 Dec 2015, 20:01 (11 years ago) parent08aeed2
2 files changed+18−12
psc/JSON.hs+3−1 src/Language/PureScript/Errors.hs+15−11
psc/JSON.hs+3−1
@@ -34,6 +34,7 @@ data JSONError = JSONError
3434 { position :: Maybe ErrorPosition
3535 , message :: String
3636 , errorCode :: String
37+ , errorLink :: String
3738 , filename :: Maybe String
3839 , moduleName :: Maybe String
3940 }
@@ -53,8 +54,9 @@ toJSONErrors verbose level = map (toJSONError verbose level) . P.runMultipleErro
5354toJSONError :: Bool -> P.Level -> P.ErrorMessage -> JSONError
5455toJSONError verbose level e =
5556 JSONError (toErrorPosition <$> sspan)
56− (P.renderBox (P.prettyPrintSingleError verbose level (P.stripModuleAndSpan e)))
57+ (P.renderBox (P.prettyPrintSingleError verbose level False (P.stripModuleAndSpan e)))
5758 (P.errorCode e)
59+ (P.wikiUri e)
5860 (P.spanName <$> sspan)
5961 (P.runModuleName <$> P.errorModule e)
6062 where
src/Language/PureScript/Errors.hs+15−11
@@ -414,11 +414,16 @@ onTypesInErrorMessageM f (ErrorMessage hints simple) = ErrorMessage <$> traverse
414414 gHint (ErrorInInstance cl ts) = ErrorInInstance cl <$> traverse f ts
415415 gHint other = pure other
416416
417+
418+wikiUri :: ErrorMessage -> String
419+wikiUri e = "https://github.com/purescript/purescript/wiki/Error-Code-" ++ errorCode e
420+
421+
417422-- |
418423-- Pretty print a single error, simplifying if necessary
419424--
420−prettyPrintSingleError :: Bool -> Level -> ErrorMessage -> Box.Box
421−prettyPrintSingleError full level e = flip evalState defaultUnknownMap $ do
425+prettyPrintSingleError :: Bool -> Level -> Bool -> ErrorMessage -> Box.Box
426+prettyPrintSingleError full level showWiki e = flip evalState defaultUnknownMap $ do
422427 em <- onTypesInErrorMessageM replaceUnknowns (if full then e else simplifyErrorMessage e)
423428 um <- get
424429 return (prettyPrintErrorMessage um em)
@@ -427,17 +432,16 @@ prettyPrintSingleError full level e = flip evalState defaultUnknownMap $ do
427432 -- Pretty print an ErrorMessage
428433 prettyPrintErrorMessage :: TypeMap -> ErrorMessage -> Box.Box
429434 prettyPrintErrorMessage typeMap (ErrorMessage hints simple) =
430− paras
435+ paras $
431436 [ foldr renderHint (indent (renderSimpleErrorMessage simple)) hints
432437 , Box.moveDown 1 typeInformation
433− , Box.moveDown 1 $ paras [ line $ "See " ++ wikiUri ++ " for more information, "
434− , line $ "or to contribute content related to this " ++ levelText ++ "."
435− ]
438+ ] ++
439+ [ Box.moveDown 1 $ paras [ line $ "See " ++ wikiUri e ++ " for more information, "
440+ , line $ "or to contribute content related to this " ++ levelText ++ "."
441+ ]
442+ | showWiki
436443 ]
437444 where
438− wikiUri :: String
439− wikiUri = "https://github.com/purescript/purescript/wiki/Error-Code-" ++ errorCode e
440−
441445 typeInformation :: Box.Box
442446 typeInformation | not (null types) = Box.hsep 1 Box.left [ line "where", paras types]
443447 | otherwise = Box.emptyBox 0 0
@@ -1072,12 +1076,12 @@ prettyPrintMultipleErrorsBox full = prettyPrintMultipleErrorsWith Error "Error f
10721076
10731077prettyPrintMultipleErrorsWith :: Level -> String -> String -> Bool -> MultipleErrors -> Box.Box
10741078prettyPrintMultipleErrorsWith level intro _ full (MultipleErrors [e]) =
1075− let result = prettyPrintSingleError full level e
1079+ let result = prettyPrintSingleError full level True e
10761080 in Box.vcat Box.left [ Box.text intro
10771081 , result
10781082 ]
10791083prettyPrintMultipleErrorsWith level _ intro full (MultipleErrors es) =
1080− let result = map (prettyPrintSingleError full level) es
1084+ let result = map (prettyPrintSingleError full level True) es
10811085 in Box.vsep 1 Box.left $ concat $ zipWith withIntro [1 :: Int ..] result
10821086 where
10831087 withIntro i err = [ Box.text (intro ++ " " ++ show i ++ " of " ++ show (length es) ++ ":")