diff options
| author | Laurenz <laurmaedje@gmail.com> | 2021-08-29 15:09:54 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2021-08-29 15:09:54 +0200 |
| commit | e4e79990dad90aea17ea99e54fcd60435927bb56 (patch) | |
| tree | 2e893ac5e104867629c2dad38502ef3fdc426d33 /src/library/text.rs | |
| parent | 411aba5b6f541f96bbdb4e23a40cf022a867dc11 (diff) | |
Allow body for font function once again
Diffstat (limited to 'src/library/text.rs')
| -rw-r--r-- | src/library/text.rs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/library/text.rs b/src/library/text.rs index f12794aa..2cb5ccaf 100644 --- a/src/library/text.rs +++ b/src/library/text.rs @@ -20,8 +20,9 @@ pub fn font(ctx: &mut EvalContext, args: &mut Arguments) -> TypResult<Value> { let sans_serif = args.named("sans-serif")?; let monospace = args.named("monospace")?; let fallback = args.named("fallback")?; + let body = args.eat::<Template>(); - ctx.template.modify(move |state| { + let f = move |state: &mut State| { let font = state.font_mut(); if let Some(size) = size { @@ -71,9 +72,14 @@ pub fn font(ctx: &mut EvalContext, args: &mut Arguments) -> TypResult<Value> { if let Some(fallback) = fallback { font.fallback = fallback; } - }); + }; - Ok(Value::None) + Ok(if let Some(body) = body { + Value::Template(body.modified(f)) + } else { + ctx.template.modify(f); + Value::None + }) } struct FontDef(Rc<Vec<FontFamily>>); |
