From 90d81dae221318072ddb5c7d85f63b1a55844923 Mon Sep 17 00:00:00 2001 From: NanoTech Date: Tue, 6 Dec 2016 03:43:13 -0600 Subject: Report the offset of errors --- src/lexer.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/lexer.rs b/src/lexer.rs index f141f81..e8ef2ac 100644 --- a/src/lexer.rs +++ b/src/lexer.rs @@ -55,7 +55,7 @@ pub enum Tok { #[derive(Debug)] pub enum LexicalError { - Error(nom::simple_errors::Err), + Error(usize, nom::simple_errors::Err), Incomplete(nom::Needed), } @@ -210,8 +210,9 @@ impl<'input> Iterator for Lexer<'input> { Some(Ok((start, t, self.offset))) } Error(e) => { + let offset = self.offset; self.offset = self.input.len(); - Some(Err(LexicalError::Error(e))) + Some(Err(LexicalError::Error(offset, e))) } Incomplete(needed) => { Some(Err(LexicalError::Incomplete(needed))) -- cgit v1.2.3