diff --git a/Language/Haskell/GhcMod/ErrMsg.hs b/Language/Haskell/GhcMod/ErrMsg.hs index 83c626f..99e1cf7 100644 --- a/Language/Haskell/GhcMod/ErrMsg.hs +++ b/Language/Haskell/GhcMod/ErrMsg.hs @@ -52,22 +52,12 @@ errBagToStrList dflag ls = map (ppErrMsg dflag ls) . reverse . bagToList ---------------------------------------------------------------- -#if __GLASGOW_HASKELL__ >= 707 ppErrMsg :: DynFlags -> LineSeparator -> ErrMsg -> String ppErrMsg dflag ls err = ppMsg spn SevError dflag ls msg ++ ext where - spn = errMsgSpan err + spn = Gap.errorMsgSpan err msg = errMsgShortDoc err ext = showMsg dflag ls (errMsgExtraInfo err) -#else -ppErrMsg :: DynFlags -> LineSeparator -> ErrMsg -> String -ppErrMsg dflag ls err = ppMsg spn SevError dflag ls msg ++ ext - where - spn = head (errMsgSpans err) - msg = errMsgShortDoc err - ext = showMsg dflag ls (errMsgExtraInfo err) -#endif - ppMsg :: SrcSpan -> Severity-> DynFlags -> LineSeparator -> SDoc -> String ppMsg spn sev dflag ls@(LineSeparator lsep) msg = prefix ++ cts ++ lsep diff --git a/Language/Haskell/GhcMod/Gap.hs b/Language/Haskell/GhcMod/Gap.hs index cd3d850..5f407a1 100644 --- a/Language/Haskell/GhcMod/Gap.hs +++ b/Language/Haskell/GhcMod/Gap.hs @@ -19,6 +19,7 @@ module Language.Haskell.GhcMod.Gap ( , infoThing , pprInfo , HasType(..) + , errorMsgSpan #if __GLASGOW_HASKELL__ >= 702 #else , module Pretty @@ -280,3 +281,12 @@ pprInfo pefas (thing, fixity, insts) | otherwise = ppr fx <+> ppr (getName thing) #endif +---------------------------------------------------------------- +---------------------------------------------------------------- + +errorMsgSpan :: ErrMsg -> SrcSpan +#if __GLASGOW_HASKELL__ >= 707 +errorMsgSpan = errMsgSpan +#else +errorMsgSpan = head . errMsgSpans +#endif