summaryrefslogtreecommitdiff
path: root/src/library/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/library/mod.rs')
-rw-r--r--src/library/mod.rs27
1 files changed, 17 insertions, 10 deletions
diff --git a/src/library/mod.rs b/src/library/mod.rs
index af23d050..e59201dc 100644
--- a/src/library/mod.rs
+++ b/src/library/mod.rs
@@ -4,6 +4,7 @@ mod align;
mod boxed;
mod color;
mod font;
+mod graphics;
mod page;
mod spacing;
@@ -11,29 +12,35 @@ pub use align::*;
pub use boxed::*;
pub use color::*;
pub use font::*;
+pub use graphics::*;
pub use page::*;
pub use spacing::*;
use crate::eval::{Scope, ValueFunc};
macro_rules! std {
- ($($name:literal => $func:expr),* $(,)?) => {
+ ($($func:expr $(=> $name:expr)?),* $(,)?) => {
/// Create a scope with all standard library functions.
pub fn _std() -> Scope {
let mut std = Scope::new();
- $(std.set($name, ValueFunc::new($func));)*
+ $(
+ let _name = stringify!($func);
+ $(let _name = $name;)?
+ std.set(_name, ValueFunc::new($func));
+ )*
std
}
};
}
std! {
- "align" => align,
- "box" => boxed,
- "font" => font,
- "h" => h,
- "page" => page,
- "pagebreak" => pagebreak,
- "rgb" => rgb,
- "v" => v,
+ align,
+ boxed => "box",
+ font,
+ h,
+ image,
+ page,
+ pagebreak,
+ rgb,
+ v,
}