on master help sign in
Fix deferred messages (#120)
2879735Jacek Generowicz
src/Development/IDE/Core/Compile.hs+4−1
@@ -154,7 +154,10 @@ unDefer (Reason Opt_WarnDeferredOutOfScopeVariables, fd) = upgradeWarningToError
154unDefer ( _ , fd) = fd
154unDefer ( _ , fd) = fd
155
155
156upgradeWarningToError :: FileDiagnostic -> FileDiagnostic
156upgradeWarningToError :: FileDiagnostic -> FileDiagnostic
157−upgradeWarningToError (nfp, fd) = (nfp, fd{_severity = Just DsError})
157+upgradeWarningToError (nfp, fd) =
158+ (nfp, fd{_severity = Just DsError, _message = warn2err $ _message fd}) where
159+ warn2err :: T.Text -> T.Text
160+ warn2err = T.intercalate ": error:" . T.splitOn ": warning:"
158
161
159addRelativeImport :: ParsedModule -> DynFlags -> DynFlags
162addRelativeImport :: ParsedModule -> DynFlags -> DynFlags
160addRelativeImport modu dflags = dflags
163addRelativeImport modu dflags = dflags
test/exe/Main.hs+4−3
@@ -117,9 +117,10 @@ diagnosticTests = testGroup "diagnostics"
117 _ <- openDoc' "B.hs" "haskell" sourceB
117 _ <- openDoc' "B.hs" "haskell" sourceB
118 expectDiagnostics $ expectedDs message
118 expectDiagnostics $ expectedDs message
119 in
119 in
120− [ deferralTest "type error" "True" "Couldn't match expected type"
120+ [ deferralTest "type error" "True" "Couldn't match expected type"
121− , deferralTest "typed hole" "_" "Found hole"
121+ , deferralTest "typed hole" "_" "Found hole"
122− , deferralTest "out of scope var" "unbound" "Variable not in scope"
122+ , deferralTest "out of scope var" "unbound" "Variable not in scope"
123+ , deferralTest "message shows error" "True" "A.hs:3:5: error:"
123 ]
124 ]
124
125
125 , testSession "remove required module" $ do
126 , testSession "remove required module" $ do