diff options
Diffstat (limited to 'crates/typst-syntax/src/parser.rs')
| -rw-r--r-- | crates/typst-syntax/src/parser.rs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/crates/typst-syntax/src/parser.rs b/crates/typst-syntax/src/parser.rs index e27cafcf..7e7eeea5 100644 --- a/crates/typst-syntax/src/parser.rs +++ b/crates/typst-syntax/src/parser.rs @@ -6,7 +6,9 @@ use ecow::{eco_format, EcoString}; use unicode_math_class::MathClass; use crate::set::SyntaxSet; -use crate::{ast, is_ident, is_newline, set, LexMode, Lexer, SyntaxKind, SyntaxNode}; +use crate::{ + ast, is_ident, is_newline, set, LexMode, Lexer, SyntaxError, SyntaxKind, SyntaxNode, +}; /// Parses a source file. pub fn parse(text: &str) -> SyntaxNode { @@ -1760,8 +1762,8 @@ impl<'s> Parser<'s> { fn save(&mut self) { let text = self.current_text(); if self.at(SyntaxKind::Error) { - let message = self.lexer.take_error().unwrap(); - self.nodes.push(SyntaxNode::error(message, text)); + let error = self.lexer.take_error().unwrap(); + self.nodes.push(SyntaxNode::error(error, text)); } else { self.nodes.push(SyntaxNode::leaf(self.current, text)); } @@ -1838,7 +1840,8 @@ impl<'s> Parser<'s> { /// Produce an error that the given `thing` was expected at the position /// of the marker `m`. fn expected_at(&mut self, m: Marker, thing: &str) { - let error = SyntaxNode::error(eco_format!("expected {thing}"), ""); + let error = + SyntaxNode::error(SyntaxError::new(eco_format!("expected {thing}")), ""); self.nodes.insert(m.0, error); } |
