diff options
| author | Martin Haug <mhaug@live.de> | 2021-05-26 23:36:03 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2021-05-26 23:50:40 +0200 |
| commit | 8e700606bb64c4ffda87cec333f7c76eae244911 (patch) | |
| tree | 8d0c40b04bc61cc3e3a9cad2f7b5f2eb4a691892 /src/lib.rs | |
| parent | e27f6c10146240a6c8b92930b27948083f08c9b5 (diff) | |
Add a cache for unchanged layouts
Co-Authored-By: Laurenz <laurmaedje@gmail.com>
Diffstat (limited to 'src/lib.rs')
| -rw-r--r-- | src/lib.rs | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -32,6 +32,7 @@ pub mod diag; #[macro_use] pub mod eval; +pub mod cache; pub mod color; pub mod env; pub mod exec; @@ -46,6 +47,7 @@ pub mod pretty; pub mod syntax; pub mod util; +use crate::cache::Cache; use crate::diag::Pass; use crate::env::Env; use crate::eval::Scope; @@ -55,6 +57,7 @@ use crate::layout::Frame; /// Process source code directly into a collection of frames. pub fn typeset( env: &mut Env, + cache: &mut Cache, src: &str, scope: &Scope, state: State, @@ -62,7 +65,7 @@ pub fn typeset( let parsed = parse::parse(src); let evaluated = eval::eval(env, &parsed.output, scope); let executed = exec::exec(env, &parsed.output, &evaluated.output, state); - let frames = layout::layout(env, &executed.output); + let frames = layout::layout(env, cache, &executed.output); let mut diags = parsed.diags; diags.extend(evaluated.diags); |
