@@ -228,6 +228,10 @@ whitespace :: String
228228whitespace = "WHITESPACE"
229229
230230
231+tab :: String
232+tab = "TAB"
233+
234+
231235keyword :: String -> String
232236keyword kwd =
233237 "KEYWORD=" ++ kwd
@@ -263,7 +267,12 @@ parseErrorReport messages =
263267 else
264268 msg
265269 in
266− hint { _expected = Set.insert msg' (_expected hint) }
270+ if msg == tab then
271+ -- Our parser looks for tab so it can throw a custom tab error message.
272+ -- Exclude tabs from the list of expected tokens so that no one thinks they are supported.
273+ hint
274+ else
275+ hint { _expected = Set.insert msg' (_expected hint) }
267276
268277 Parsec.Message msg ->
269278 hint { _messages = msg : _messages hint }