summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2020-11-27 22:35:42 +0100
committerLaurenz <laurmaedje@gmail.com>2020-11-27 22:35:42 +0100
commit475ca7a62ec99f0b4d8319410b7ee3134a5fcfec (patch)
tree75037761e1da5681b2971e79e605f95903ba6032 /src/main.rs
parentbc997b7c3380d5f516f0aa58efc3dd513d75fafb (diff)
Basic environment and resource loader 🏞
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/main.rs b/src/main.rs
index 715ee59f..3f12655b 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -7,6 +7,7 @@ use anyhow::{anyhow, bail, Context};
use fontdock::fs::{FsIndex, FsSource};
use typst::diag::{Feedback, Pass};
+use typst::env::{Env, ResourceLoader};
use typst::eval::State;
use typst::export::pdf;
use typst::font::FontLoader;
@@ -41,16 +42,16 @@ fn main() -> anyhow::Result<()> {
index.search_os();
let (files, descriptors) = index.into_vecs();
- let loader = Rc::new(RefCell::new(FontLoader::new(
- Box::new(FsSource::new(files)),
- descriptors,
- )));
+ let env = Rc::new(RefCell::new(Env {
+ fonts: FontLoader::new(Box::new(FsSource::new(files)), descriptors),
+ resources: ResourceLoader::new(),
+ }));
let state = State::default();
let Pass {
output: layouts,
feedback: Feedback { mut diags, .. },
- } = typeset(&src, state, Rc::clone(&loader));
+ } = typeset(&src, Rc::clone(&env), state);
if !diags.is_empty() {
diags.sort();
@@ -71,7 +72,7 @@ fn main() -> anyhow::Result<()> {
}
}
- let pdf_data = pdf::export(&layouts, &loader.borrow());
+ let pdf_data = pdf::export(&layouts, &env.borrow());
fs::write(&dest_path, pdf_data).context("Failed to write PDF file.")?;
Ok(())