diff options
| author | Laurenz <laurmaedje@gmail.com> | 2020-11-27 22:35:42 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2020-11-27 22:35:42 +0100 |
| commit | 475ca7a62ec99f0b4d8319410b7ee3134a5fcfec (patch) | |
| tree | 75037761e1da5681b2971e79e605f95903ba6032 /src/lib.rs | |
| parent | bc997b7c3380d5f516f0aa58efc3dd513d75fafb (diff) | |
Basic environment and resource loader 🏞
Diffstat (limited to 'src/lib.rs')
| -rw-r--r-- | src/lib.rs | 16 |
1 files changed, 8 insertions, 8 deletions
@@ -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<Vec<BoxLayout>> { +pub fn typeset(src: &str, env: SharedEnv, state: State) -> Pass<Vec<BoxLayout>> { 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)) } |
