git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Better Show instance for SourcePos/SourceSpan
18bd86bHarry Garrood
src/Language/PureScript/AST/SourcePos.hs+11−6
@@ -30,10 +30,12 @@ data SourcePos = SourcePos
30 -- Column number
30 -- Column number
31 --
31 --
32 , sourcePosColumn :: Int
32 , sourcePosColumn :: Int
33− } deriving (Eq, D.Data, D.Typeable)
33+ } deriving (Eq, Show, D.Data, D.Typeable)
34
34
35−instance Show SourcePos where
35+displaySourcePos :: SourcePos -> String
36+displaySourcePos sp =
37+ "line " ++ show (sourcePosLine sp) ++
36− show sp = "line " ++ show (sourcePosLine sp) ++ ", column " ++ show (sourcePosColumn sp)
38+ ", column " ++ show (sourcePosColumn sp)
37
39
38data SourceSpan = SourceSpan
40data SourceSpan = SourceSpan
39 { -- |
41 { -- |
@@ -47,7 +49,10 @@ data SourceSpan = SourceSpan
47 -- End of the span
49 -- End of the span
48 --
50 --
49 , spanEnd :: SourcePos
51 , spanEnd :: SourcePos
50− } deriving (Eq, D.Data, D.Typeable)
52+ } deriving (Eq, Show, D.Data, D.Typeable)
51
53
52−instance Show SourceSpan where
54+displaySourceSpan :: SourceSpan -> String
53− show sp = spanName sp ++ " " ++ show (spanStart sp) ++ " - " ++ show (spanEnd sp)
55+displaySourceSpan sp =
56+ spanName sp ++ " " ++
57+ displaySourcePos (spanStart sp) ++ " - " ++
58+ displaySourcePos (spanEnd sp)
src/Language/PureScript/Errors.hs+1−1
@@ -439,7 +439,7 @@ prettyPrintSingleError full e = prettyPrintErrorMessage (if full then e else sim
439 go (ErrorInForeignImport nm err) = paras [ line $ "Error in foreign import " ++ show nm ++ ":"
439 go (ErrorInForeignImport nm err) = paras [ line $ "Error in foreign import " ++ show nm ++ ":"
440 , go err
440 , go err
441 ]
441 ]
442− go (PositionedError pos err) = paras [ line $ "Error at " ++ show pos ++ ":"
442+ go (PositionedError span err) = paras [ line $ "Error at " ++ displaySourceSpan span ++ ":"
443 , indent $ go err
443 , indent $ go err
444 ]
444 ]
445
445