pub struct ParsedDocument {
pub tex_files: Vec<ParsedTexFileDoc>,
pub bib_files: Vec<ParsedBibFileDoc>,
pub rmd_files: Vec<ParsedRmdFileDoc>,
}Fields§
§tex_files: Vec<ParsedTexFileDoc>§bib_files: Vec<ParsedBibFileDoc>§rmd_files: Vec<ParsedRmdFileDoc>Implementations§
Source§impl ParsedDocument
impl ParsedDocument
Sourcepub fn from_sources(files: &[(String, String)]) -> Result<Self, EngineError>
pub fn from_sources(files: &[(String, String)]) -> Result<Self, EngineError>
Build a document from (path, contents) pairs, dispatching by
path suffix (case-insensitive) exactly like
core/engine.py::parse_document: .tex/.ltx -> tex_files,
.bib -> bib_files, .rnw -> tex_files (after chunk-rewriting),
.rmd -> rmd_files. Any other suffix is an error.
Sourcepub fn attach_violation(&mut self, path: &str, violation: Violation)
pub fn attach_violation(&mut self, path: &str, violation: Violation)
Attach a JSS-PARSE-000 finding directly to the parsed file at
path — used by the CLI’s lenient UTF-8 fallback
(decode::read_lenient_utf8) to surface a degraded-parse (or
unreadable-file) diagnostic after the fact, without needing
from_sources itself to know about filesystem-level concerns
(mirrors core/parser.py::parse_tex_file/parse_bib_file/
parse_rmd_file prepending read_err to parsed.violations).
A no-op if path isn’t in this document (shouldn’t happen —
callers pass back exactly the paths they built sources from).