mirror of
https://github.com/typst/typst
synced 2025-05-14 04:56:26 +08:00
Don't exit watcher on invalid utf-8 (#2795)
This commit is contained in:
parent
c580a31768
commit
3ea2ad6cae
@ -6,7 +6,7 @@ use codespan_reporting::diagnostic::{Diagnostic, Label};
|
||||
use codespan_reporting::term::{self, termcolor};
|
||||
use ecow::eco_format;
|
||||
use termcolor::{ColorChoice, StandardStream};
|
||||
use typst::diag::{bail, Severity, SourceDiagnostic, StrResult};
|
||||
use typst::diag::{bail, At, Severity, SourceDiagnostic, StrResult};
|
||||
use typst::eval::Tracer;
|
||||
use typst::foundations::Datetime;
|
||||
use typst::model::Document;
|
||||
@ -78,8 +78,20 @@ pub fn compile_once(
|
||||
Status::Compiling.print(command).unwrap();
|
||||
}
|
||||
|
||||
// Ensure that the main file is present.
|
||||
world.source(world.main()).map_err(|err| err.to_string())?;
|
||||
// Check if main file can be read and opened.
|
||||
if let Err(errors) = world.source(world.main()).at(Span::detached()) {
|
||||
set_failed();
|
||||
tracing::info!("Failed to open and decode main file");
|
||||
|
||||
if watching {
|
||||
Status::Error.print(command).unwrap();
|
||||
}
|
||||
|
||||
print_diagnostics(world, &errors, &[], command.common.diagnostic_format)
|
||||
.map_err(|err| eco_format!("failed to print diagnostics ({err})"))?;
|
||||
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
let mut tracer = Tracer::new();
|
||||
let result = typst::compile(world, &mut tracer);
|
||||
|
Loading…
x
Reference in New Issue
Block a user