diff options
| author | Laurenz <laurmaedje@gmail.com> | 2019-10-17 10:12:34 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2019-10-17 10:12:34 +0200 |
| commit | f22f9513aea21408ebf6febd01912e630e9ad5e6 (patch) | |
| tree | 06885bca8bc31d26189f33c059649ed7909af282 /src/library/breaks.rs | |
| parent | 9a1d57a11a510b8e6af024b4338ee58d791f3088 (diff) | |
Add pagebreak function ⏭
Diffstat (limited to 'src/library/breaks.rs')
| -rw-r--r-- | src/library/breaks.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/library/breaks.rs b/src/library/breaks.rs new file mode 100644 index 00000000..22d572f0 --- /dev/null +++ b/src/library/breaks.rs @@ -0,0 +1,24 @@ +use super::prelude::*; + +/// Ends the current page. +#[derive(Debug, PartialEq)] +pub struct PagebreakFunc; + +impl Function for PagebreakFunc { + fn parse(header: &FuncHeader, body: Option<&str>, _: ParseContext) -> ParseResult<Self> + where Self: Sized { + if has_arguments(header) { + return err("pagebreak: expected no arguments"); + } + + if body.is_some() { + return err("pagebreak: expected no body"); + } + + Ok(PagebreakFunc) + } + + fn layout(&self, _: LayoutContext) -> LayoutResult<CommandList> { + Ok(commands![Command::FinishLayout]) + } +} |
