diff --git a/parser/src/error.rs b/parser/src/error.rs index e1e6b2b..091bc77 100644 --- a/parser/src/error.rs +++ b/parser/src/error.rs @@ -205,10 +205,22 @@ pub(crate) fn parse_error_from_lalrpop( source_path, } } - LalrpopError::UnrecognizedEOF { location, .. } => ParseError { - error: ParseErrorType::Eof, - location, - source_path, + LalrpopError::UnrecognizedEOF { location, expected } => { + // This could be an initial indentation error that we should ignore + let indent_error = expected == ["Indent"]; + if indent_error { + ParseError { + error: ParseErrorType::Lexical(LexicalErrorType::IndentationError), + location, + source_path, + } + } else { + ParseError { + error: ParseErrorType::Eof, + location, + source_path, + } + } }, } }