diff options
| author | Laurenz <laurmaedje@gmail.com> | 2021-05-29 15:45:57 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2021-05-31 22:33:40 +0200 |
| commit | e023bf2ac9f5796355d9485afc16781196bf212b (patch) | |
| tree | 26d4487de0c4e2d0f69182483301de867cb5fa34 /src/lib.rs | |
| parent | 9f77f09aacd1fb0fd6138a6d16ed2755f6bfae3f (diff) | |
Module loading system
Detects cyclic imports and loads each module only once per compilation.
Diffstat (limited to 'src/lib.rs')
| -rw-r--r-- | src/lib.rs | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -48,6 +48,7 @@ pub mod pretty; pub mod syntax; pub mod util; +use std::path::Path; use std::rc::Rc; use crate::cache::Cache; @@ -61,12 +62,13 @@ use crate::loading::Loader; pub fn typeset( loader: &mut dyn Loader, cache: &mut Cache, + path: &Path, src: &str, base: &Scope, state: State, ) -> Pass<Vec<Frame>> { let parsed = parse::parse(src); - let evaluated = eval::eval(loader, cache, Rc::new(parsed.output), base); + let evaluated = eval::eval(loader, cache, path, Rc::new(parsed.output), base); let executed = exec::exec(&evaluated.output.template, state); let layouted = layout::layout(loader, cache, &executed.output); |
