From 475ca7a62ec99f0b4d8319410b7ee3134a5fcfec Mon Sep 17 00:00:00 2001 From: Laurenz Date: Fri, 27 Nov 2020 22:35:42 +0100 Subject: =?UTF-8?q?Basic=20environment=20and=20resource=20loader=20?= =?UTF-8?q?=F0=9F=8F=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs index 7d54da4c..d471b09d 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -29,6 +29,7 @@ pub mod diag; #[macro_use] pub mod eval; pub mod color; +pub mod env; pub mod export; pub mod font; pub mod geom; @@ -40,19 +41,18 @@ pub mod prelude; pub mod shaping; pub mod syntax; +use std::rc::Rc; + use crate::diag::{Feedback, Pass}; +use crate::env::SharedEnv; use crate::eval::State; -use crate::font::SharedFontLoader; use crate::layout::BoxLayout; /// Process _Typst_ source code directly into a collection of layouts. -pub fn typeset( - src: &str, - state: State, - loader: SharedFontLoader, -) -> Pass> { +pub fn typeset(src: &str, env: SharedEnv, state: State) -> Pass> { let Pass { output: tree, feedback: f1 } = parse::parse(src); - let Pass { output: document, feedback: f2 } = eval::eval(&tree, state); - let layouts = layout::layout(&document, loader); + let Pass { output: document, feedback: f2 } = + eval::eval(&tree, Rc::clone(&env), state); + let layouts = layout::layout(&document, env); Pass::new(layouts, Feedback::join(f1, f2)) } -- cgit v1.2.3