summaryrefslogtreecommitdiff
path: root/src/bin
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2020-02-03 10:37:50 +0100
committerLaurenz <laurmaedje@gmail.com>2020-02-03 10:37:50 +0100
commit40ea35cbe7482ce04096c4d63a848c8601cc1848 (patch)
tree080a5727ba552ee4b2bf750208e5c243c1e195ef /src/bin
parent20fb4e7c379b79b84d9884d5f2c89d781c5793e2 (diff)
Upgrade to new toddle interface 🐳
Diffstat (limited to 'src/bin')
-rw-r--r--src/bin/main.rs15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/bin/main.rs b/src/bin/main.rs
index 8cb7c055..11f30880 100644
--- a/src/bin/main.rs
+++ b/src/bin/main.rs
@@ -3,9 +3,9 @@ use std::io::BufWriter;
use std::path::{Path, PathBuf};
use futures_executor::block_on;
-use typstc::Typesetter;
-use typstc::toddle::query::FileSystemFontProvider;
-use typstc::export::pdf::PdfExporter;
+use typstc::{Typesetter, DynErrorProvider};
+use typstc::toddle::query::fs::EagerFsProvider;
+use typstc::export::pdf;
fn main() {
@@ -37,15 +37,14 @@ fn run() -> Result<(), Box<dyn std::error::Error>> {
let src = read_to_string(source)
.map_err(|_| "failed to read from source file")?;
- let mut typesetter = Typesetter::new();
- let provider = FileSystemFontProvider::from_index("../fonts/index.json").unwrap();
- typesetter.add_font_provider(provider);
+ let (fs, entries) = EagerFsProvider::from_index("../fonts", "index.json")?;
+ let provider = DynErrorProvider::new(fs);
+ let typesetter = Typesetter::new((Box::new(provider), entries));
let layouts = block_on(typesetter.typeset(&src));
- let exporter = PdfExporter::new();
let writer = BufWriter::new(File::create(&dest)?);
- exporter.export(&layouts, typesetter.loader(), writer)?;
+ pdf::export(&layouts, typesetter.loader(), writer)?;
Ok(())
}