diff --git a/crates/typst-library/src/diag.rs b/crates/typst-library/src/diag.rs index 75dc52798..47c2b6b50 100644 --- a/crates/typst-library/src/diag.rs +++ b/crates/typst-library/src/diag.rs @@ -593,5 +593,5 @@ pub fn format_xml_like_error( err => err.to_string(), }; - data.err_at(pos, msg, err) + data.err_in_text(pos, msg, err) } diff --git a/crates/typst-library/src/loading/csv.rs b/crates/typst-library/src/loading/csv.rs index 56e316e14..ca7f6408b 100644 --- a/crates/typst-library/src/loading/csv.rs +++ b/crates/typst-library/src/loading/csv.rs @@ -176,12 +176,12 @@ fn format_csv_error( }) .unwrap_or(LineCol::one_based(line, 1).into()); match err.kind() { - ::csv::ErrorKind::Utf8 { .. } => data.err_at(pos, msg, "file is not valid utf-8"), + ::csv::ErrorKind::Utf8 { .. } => data.err_in_text(pos, msg, "file is not valid utf-8"), ::csv::ErrorKind::UnequalLengths { expected_len, len, .. } => { let err = format!("found {len} instead of {expected_len} fields in line {line}"); - data.err_at(pos, msg, err) + data.err_in_text(pos, msg, err) } - _ => data.err_at(pos, "failed to parse CSV", err), + _ => data.err_in_text(pos, "failed to parse CSV", err), } } diff --git a/crates/typst-library/src/loading/json.rs b/crates/typst-library/src/loading/json.rs index f9b1682da..c2204c69e 100644 --- a/crates/typst-library/src/loading/json.rs +++ b/crates/typst-library/src/loading/json.rs @@ -57,7 +57,7 @@ pub fn json( let data = source.load(engine.world)?; serde_json::from_slice(data.bytes.as_slice()).map_err(|err| { let pos = LineCol::one_based(err.line(), err.column()); - data.err_at(pos, "failed to parse JSON", err) + data.err_in_text(pos, "failed to parse JSON", err) }) } diff --git a/crates/typst-library/src/loading/mod.rs b/crates/typst-library/src/loading/mod.rs index c8151ab75..d9ba15526 100644 --- a/crates/typst-library/src/loading/mod.rs +++ b/crates/typst-library/src/loading/mod.rs @@ -145,12 +145,12 @@ impl Loaded { // TODO: should the error even be reported in the file if it's possibly binary? let start = err.valid_up_to(); let end = start + err.error_len().unwrap_or(0); - self.err_at(start..end, "failed to convert to string", FileError::from(err)) + self.err_in_text(start..end, "failed to convert to string", FileError::from(err)) }) } /// Report an error, possibly in an external file. - pub fn err_at( + pub fn err_in_text( &self, pos: impl Into, msg: impl std::fmt::Display, diff --git a/crates/typst-library/src/loading/toml.rs b/crates/typst-library/src/loading/toml.rs index 791f664e9..294bf05a1 100644 --- a/crates/typst-library/src/loading/toml.rs +++ b/crates/typst-library/src/loading/toml.rs @@ -71,5 +71,5 @@ impl toml { /// Format the user-facing TOML error message. fn format_toml_error(data: &Loaded, error: ::toml::de::Error) -> EcoVec { let pos = error.span().map(ReportPos::Range).unwrap_or_default(); - data.err_at(pos, "failed to parse TOML", error.message()) + data.err_in_text(pos, "failed to parse TOML", error.message()) } diff --git a/crates/typst-library/src/loading/yaml.rs b/crates/typst-library/src/loading/yaml.rs index bc0009960..4732d87b7 100644 --- a/crates/typst-library/src/loading/yaml.rs +++ b/crates/typst-library/src/loading/yaml.rs @@ -88,5 +88,5 @@ pub fn format_yaml_error( ReportPos::Full(range, line_col) }) .unwrap_or_default(); - data.err_at(pos, "failed to parse YAML", error) + data.err_in_text(pos, "failed to parse YAML", error) } diff --git a/crates/typst-library/src/model/bibliography.rs b/crates/typst-library/src/model/bibliography.rs index 20ddcabf9..e4fdb3eab 100644 --- a/crates/typst-library/src/model/bibliography.rs +++ b/crates/typst-library/src/model/bibliography.rs @@ -425,7 +425,7 @@ fn format_biblatex_error( // TODO: return multiple errors? let Some(error) = errors.into_iter().next() else { // TODO: can this even happen, should we just unwrap? - return data.err_at(ReportPos::None, "failed to parse BibLaTeX", "???"); + return data.err_in_text(ReportPos::None, "failed to parse BibLaTeX", "???"); }; let (range, msg) = match error { @@ -433,7 +433,7 @@ fn format_biblatex_error( BibLaTeXError::Type(error) => (error.span, error.kind.to_string()), }; - data.err_at(range, "failed to parse BibLaTeX", msg) + data.err_in_text(range, "failed to parse BibLaTeX", msg) } /// A loaded CSL style. @@ -480,7 +480,7 @@ impl CslStyle { typst_utils::hash128(&(TypeId::of::(), data)), ))) }) - .map_err(|err| data.err_at(ReportPos::None, "failed to load CSL style", err)) + .map_err(|err| data.err_in_text(ReportPos::None, "failed to load CSL style", err)) } /// Get the underlying independent style. diff --git a/crates/typst-library/src/text/raw.rs b/crates/typst-library/src/text/raw.rs index e3860c64b..2e11bbfa7 100644 --- a/crates/typst-library/src/text/raw.rs +++ b/crates/typst-library/src/text/raw.rs @@ -19,7 +19,7 @@ use crate::foundations::{ }; use crate::html::{tag, HtmlElem}; use crate::layout::{BlockBody, BlockElem, Em, HAlignment}; -use crate::loading::{Loaded, DataSource, LineCol, Load, ReportPos}; +use crate::loading::{DataSource, LineCol, Load, Loaded, ReportPos}; use crate::model::{Figurable, ParElem}; use crate::text::{FontFamily, FontList, LinebreakElem, LocalName, TextElem, TextSize}; use crate::visualize::Color; @@ -568,9 +568,12 @@ impl RawSyntax { } } -fn format_syntax_error(data: &Loaded, error: ParseSyntaxError) -> EcoVec { +fn format_syntax_error( + data: &Loaded, + error: ParseSyntaxError, +) -> EcoVec { let pos = syntax_error_pos(&error); - data.err_at(pos, "failed to parse syntax", error) + data.err_in_text(pos, "failed to parse syntax", error) } fn syntax_error_pos(error: &ParseSyntaxError) -> ReportPos { @@ -624,7 +627,7 @@ fn format_theme_error( syntect::LoadingError::ParseSyntax(err, _) => syntax_error_pos(err), _ => ReportPos::None, }; - data.err_at(pos, "failed to parse theme", error) + data.err_in_text(pos, "failed to parse theme", error) } /// A highlighted line of raw text. diff --git a/crates/typst-library/src/visualize/image/svg.rs b/crates/typst-library/src/visualize/image/svg.rs index ad22d5fd3..787f7e0bc 100644 --- a/crates/typst-library/src/visualize/image/svg.rs +++ b/crates/typst-library/src/visualize/image/svg.rs @@ -137,7 +137,7 @@ fn format_usvg_error(error: usvg::Error) -> EcoString { usvg::Error::ParsingFailed(error) => { format_xml_like_error("SVG", &Loaded::dummy(), error) .pop() - .unwrap() + .expect("at least one error") .message } }