diff --git a/tools/export-content/Cargo.toml b/tools/export-content/Cargo.toml index cf33ff0df0a7b..86e979054c204 100644 --- a/tools/export-content/Cargo.toml +++ b/tools/export-content/Cargo.toml @@ -9,7 +9,9 @@ miette = { version = "7.6.0", features = ["fancy"] } ratatui = "0.30.0" regex = "1.11.1" serde = { version = "1.0", features = ["derive"] } -serde_yml = "0.0.12" +serde-saphyr = { version = "1", default-features = false, features = [ + "deserialize", +] } thiserror = "2.0.12" [lints] diff --git a/tools/export-content/src/app.rs b/tools/export-content/src/app.rs index dc0d70935b9e4..4b4056cfcbc13 100644 --- a/tools/export-content/src/app.rs +++ b/tools/export-content/src/app.rs @@ -345,14 +345,16 @@ fn load_content(dir: PathBuf, kind: &'static str) -> Result> { ))?; let frontmatter = caps.name("frontmatter").unwrap().as_str(); - let metadata = serde_yml::from_str::(frontmatter).map_err(|e| ParseError { + let metadata = serde_saphyr::from_str::(frontmatter).map_err(|e| ParseError { src: NamedSource::new( format!("{}", dir_entry.path().display()), frontmatter.to_owned(), ), kind, file_name, - err_span: e.location().map(|l| l.index()), + err_span: e + .location() + .and_then(|l| l.span().byte_offset().map(|offset| offset as usize)), error: e, })?; let content = caps.name("content").unwrap().as_str().to_owned(); @@ -372,5 +374,5 @@ pub struct ParseError { file_name: String, #[label("{error}")] err_span: Option, - error: serde_yml::Error, + error: serde_saphyr::Error, }