From 6a2b13f6e779780e764a6f3c6bc5bad680ca6092 Mon Sep 17 00:00:00 2001 From: Josh Date: Sat, 4 Jan 2025 22:13:15 -0600 Subject: [PATCH] simplify errors and remove unused methods --- crates/djls-template-ast/src/parser.rs | 39 ++++++-------------------- 1 file changed, 9 insertions(+), 30 deletions(-) diff --git a/crates/djls-template-ast/src/parser.rs b/crates/djls-template-ast/src/parser.rs index 156937e..1baf993 100644 --- a/crates/djls-template-ast/src/parser.rs +++ b/crates/djls-template-ast/src/parser.rs @@ -21,27 +21,22 @@ impl Parser { Ok(node) => { ast.add_node(node); } - Err(ParserError::Ast(AstError::StreamError(kind))) if kind == "AtEnd" => { - break; - } Err(ParserError::ErrorSignal(Signal::SpecialTag(_))) => { continue; } - Err(ParserError::Ast(err @ AstError::UnclosedTag(_))) => { - ast.add_error(err); - self.synchronize()?; - continue; + Err(err) => { + if let ParserError::Ast(err) = err { + ast.add_error(err); + self.synchronize()?; + continue; + } + return Err(err); } - Err(ParserError::Ast(err)) => { - ast.add_error(err); - self.synchronize()?; - continue; - } - Err(err) => return Err(err), } } - Ok(ast.finalize()?) + ast.finalize()?; + Ok(ast) } fn next_node(&mut self) -> Result { @@ -255,18 +250,10 @@ impl Parser { self.peek_at(0) } - fn peek_next(&self) -> Result { - self.peek_at(1) - } - fn peek_previous(&self) -> Result { self.peek_at(-1) } - fn peek_back(&self, steps: usize) -> Result, ParserError> { - (1..=steps).map(|i| self.peek_at(-(i as isize))).collect() - } - fn peek_at(&self, offset: isize) -> Result { let index = self.current as isize + offset; self.item_at(index as usize) @@ -301,14 +288,6 @@ impl Parser { self.peek_previous() } - fn backtrack(&mut self, steps: usize) -> Result { - if self.current < steps { - return Err(ParserError::stream_error("AtBeginning")); - } - self.current -= steps; - self.peek_next() - } - fn synchronize(&mut self) -> Result<(), ParserError> { let sync_types = [ TokenType::DjangoBlock(String::new()),