diff options
| author | Laurenz <laurmaedje@gmail.com> | 2021-05-18 21:32:40 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2021-05-18 21:32:40 +0200 |
| commit | 118fc1014bcfc5585fd3ce32348fbfe14bdc05a9 (patch) | |
| tree | 51ef7937188776d0343196fda207c77e732859d1 /src/library/page.rs | |
| parent | 7025590405623b99ec93aa6eddc9fc909e8f83a8 (diff) | |
Leaner argument parsing
Diffstat (limited to 'src/library/page.rs')
| -rw-r--r-- | src/library/page.rs | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/library/page.rs b/src/library/page.rs index 1694b7d4..59cca1f0 100644 --- a/src/library/page.rs +++ b/src/library/page.rs @@ -22,22 +22,22 @@ use crate::paper::{Paper, PaperClass}; /// A template that configures page properties. The effect is scoped to the body /// if present. pub fn page(ctx: &mut EvalContext, args: &mut FuncArgs) -> Value { - let paper = args.find::<Spanned<String>>(ctx).and_then(|name| { + let paper = args.eat::<Spanned<String>>(ctx).and_then(|name| { Paper::from_name(&name.v).or_else(|| { ctx.diag(error!(name.span, "invalid paper name")); None }) }); - let width = args.get(ctx, "width"); - let height = args.get(ctx, "height"); - let margins = args.get(ctx, "margins"); - let left = args.get(ctx, "left"); - let top = args.get(ctx, "top"); - let right = args.get(ctx, "right"); - let bottom = args.get(ctx, "bottom"); - let flip = args.get(ctx, "flip"); - let body = args.find::<TemplateValue>(ctx); + let width = args.eat_named(ctx, "width"); + let height = args.eat_named(ctx, "height"); + let margins = args.eat_named(ctx, "margins"); + let left = args.eat_named(ctx, "left"); + let top = args.eat_named(ctx, "top"); + let right = args.eat_named(ctx, "right"); + let bottom = args.eat_named(ctx, "bottom"); + let flip = args.eat_named(ctx, "flip"); + let body = args.eat::<TemplateValue>(ctx); let span = args.span; Value::template("page", move |ctx| { |
