@@ -237,10 +237,18 @@ keyword kwd =
237 "KEYWORD=" ++ kwd
237 "KEYWORD=" ++ kwd
240−unkeyword :: String -> Maybe String
240+data SpecialMessage
241−unkeyword message =
241+ = MsgKeyword String
245+extractSpecialMessage :: String -> Maybe SpecialMessage
246+extractSpecialMessage message =
242 if List.isPrefixOf "KEYWORD=" message then
247 if List.isPrefixOf "KEYWORD=" message then
243− Just (drop (length "KEYWORD=") message)
248+ Just $ MsgKeyword (drop (length "KEYWORD=") message)
250+ else if tab == message then
@@ -283,12 +291,17 @@ parseErrorReport messages =
283 (preHint, maybePost) =
291 (preHint, maybePost) =
284 case msgs of
292 case msgs of
286− case unkeyword msg of
294+ case extractSpecialMessage msg of
287− Just kwd ->
295+ Just (MsgKeyword kwd) ->
288 ( "It looks like the keyword `" ++ kwd ++ "` is being used as a variable."
296 ( "It looks like the keyword `" ++ kwd ++ "` is being used as a variable."
289 , Just "Rename it to something else."
297 , Just "Rename it to something else."
301+ ( "A tab character was found, but all whitespace (including indentation) must be spaces not tabs."
302+ , Just "I am looking for spaces, not tabs."
292 Nothing ->
305 Nothing ->
294 , Nothing
307 , Nothing