summaryrefslogtreecommitdiff
path: root/src/library/breaks.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2019-10-17 10:12:34 +0200
committerLaurenz <laurmaedje@gmail.com>2019-10-17 10:12:34 +0200
commitf22f9513aea21408ebf6febd01912e630e9ad5e6 (patch)
tree06885bca8bc31d26189f33c059649ed7909af282 /src/library/breaks.rs
parent9a1d57a11a510b8e6af024b4338ee58d791f3088 (diff)
Add pagebreak function ⏭
Diffstat (limited to 'src/library/breaks.rs')
-rw-r--r--src/library/breaks.rs24
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])
+ }
+}