mirror of
https://github.com/typst/typst
synced 2025-05-14 04:56:26 +08:00
Tidier error output in main and tests 🧹
This commit is contained in:
parent
30f16bbf64
commit
8a80503188
17
main/main.rs
17
main/main.rs
@ -44,7 +44,22 @@ fn main() {
|
|||||||
let loader = Rc::new(RefCell::new(loader));
|
let loader = Rc::new(RefCell::new(loader));
|
||||||
|
|
||||||
let typesetter = Typesetter::new(loader.clone());
|
let typesetter = Typesetter::new(loader.clone());
|
||||||
let layouts = block_on(typesetter.typeset(&src)).output;
|
let pass = block_on(typesetter.typeset(&src));
|
||||||
|
let layouts = pass.output;
|
||||||
|
|
||||||
|
let mut feedback = pass.feedback;
|
||||||
|
feedback.diagnostics.sort();
|
||||||
|
for diagnostic in feedback.diagnostics {
|
||||||
|
let span = diagnostic.span;
|
||||||
|
println!(
|
||||||
|
"{}: {}:{}:{} - {}:{}: {}",
|
||||||
|
format!("{:?}", diagnostic.v.level).to_lowercase(),
|
||||||
|
src_path.display(),
|
||||||
|
span.start.line + 1, span.start.column + 1,
|
||||||
|
span.end.line + 1, span.end.column + 1,
|
||||||
|
diagnostic.v.message,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
let file = File::create(&dest_path)
|
let file = File::create(&dest_path)
|
||||||
.expect("failed to create output file");
|
.expect("failed to create output file");
|
||||||
|
@ -3,6 +3,7 @@ use std::env;
|
|||||||
use std::ffi::OsStr;
|
use std::ffi::OsStr;
|
||||||
use std::fs::{self, File};
|
use std::fs::{self, File};
|
||||||
use std::io::BufWriter;
|
use std::io::BufWriter;
|
||||||
|
use std::path::Path;
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
|
|
||||||
use fontdock::fs::{FsIndex, FsProvider};
|
use fontdock::fs::{FsIndex, FsProvider};
|
||||||
@ -41,7 +42,7 @@ fn main() {
|
|||||||
let name = path.file_stem().unwrap().to_string_lossy().to_string();
|
let name = path.file_stem().unwrap().to_string_lossy().to_string();
|
||||||
if filter.matches(&name) {
|
if filter.matches(&name) {
|
||||||
let src = fs::read_to_string(&path).unwrap();
|
let src = fs::read_to_string(&path).unwrap();
|
||||||
filtered.push((name, src));
|
filtered.push((name, path, src));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,14 +73,15 @@ fn main() {
|
|||||||
margins: Value4::with_all(None),
|
margins: Value4::with_all(None),
|
||||||
});
|
});
|
||||||
|
|
||||||
for (name, src) in filtered {
|
for (name, path, src) in filtered {
|
||||||
test(&name, &src, &mut typesetter, &loader)
|
test(&name, &src, &path, &mut typesetter, &loader)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn test(
|
fn test(
|
||||||
name: &str,
|
name: &str,
|
||||||
src: &str,
|
src: &str,
|
||||||
|
path: &Path,
|
||||||
typesetter: &mut Typesetter,
|
typesetter: &mut Typesetter,
|
||||||
loader: &SharedFontLoader,
|
loader: &SharedFontLoader,
|
||||||
) {
|
) {
|
||||||
@ -91,9 +93,14 @@ fn test(
|
|||||||
|
|
||||||
feedback.diagnostics.sort();
|
feedback.diagnostics.sort();
|
||||||
for diagnostic in feedback.diagnostics {
|
for diagnostic in feedback.diagnostics {
|
||||||
|
let span = diagnostic.span;
|
||||||
println!(
|
println!(
|
||||||
" {:?} {:?}: {}",
|
" {:?}: {}:{}:{} - {}:{}: {}",
|
||||||
diagnostic.v.level, diagnostic.span, diagnostic.v.message,
|
diagnostic.v.level,
|
||||||
|
path.display(),
|
||||||
|
span.start.line + 1, span.start.column + 1,
|
||||||
|
span.end.line + 1, span.end.column + 1,
|
||||||
|
diagnostic.v.message,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user