summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2022-03-11 11:58:56 +0100
committerLaurenz <laurmaedje@gmail.com>2022-03-11 11:58:56 +0100
commite6b532391deb1e30dc356c4d20dd48199f748f29 (patch)
tree7b631414931164b9a47c9d154172195fc0e1316c /src
parentb71113d37a29bab5c7dc4b501c33ee9afbdb8213 (diff)
More restructuring
Diffstat (limited to 'src')
-rw-r--r--src/eval/layout.rs3
-rw-r--r--src/eval/mod.rs8
-rw-r--r--src/eval/template.rs2
-rw-r--r--src/library/elements/mod.rs15
-rw-r--r--src/library/graphics/hide.rs (renamed from src/library/layout/hide.rs)0
-rw-r--r--src/library/graphics/image.rs (renamed from src/library/elements/image.rs)0
-rw-r--r--src/library/graphics/mod.rs11
-rw-r--r--src/library/graphics/shape.rs (renamed from src/library/elements/shape.rs)0
-rw-r--r--src/library/graphics/transform.rs (renamed from src/library/layout/transform.rs)0
-rw-r--r--src/library/layout/mod.rs4
-rw-r--r--src/library/math/mod.rs (renamed from src/library/elements/math.rs)0
-rw-r--r--src/library/mod.rs40
-rw-r--r--src/library/structure/heading.rs (renamed from src/library/elements/heading.rs)0
-rw-r--r--src/library/structure/list.rs (renamed from src/library/elements/list.rs)0
-rw-r--r--src/library/structure/mod.rs9
-rw-r--r--src/library/structure/table.rs (renamed from src/library/elements/table.rs)0
16 files changed, 50 insertions, 42 deletions
diff --git a/src/eval/layout.rs b/src/eval/layout.rs
index 02912544..135e5e04 100644
--- a/src/eval/layout.rs
+++ b/src/eval/layout.rs
@@ -9,7 +9,8 @@ use crate::diag::TypResult;
use crate::eval::StyleChain;
use crate::frame::{Element, Frame, Geometry, Shape, Stroke};
use crate::geom::{Align, Length, Linear, Paint, Point, Sides, Size, Spec, Transform};
-use crate::library::layout::{AlignNode, MoveNode, PadNode};
+use crate::library::graphics::MoveNode;
+use crate::library::layout::{AlignNode, PadNode};
use crate::util::Prehashed;
use crate::Context;
diff --git a/src/eval/mod.rs b/src/eval/mod.rs
index f8b4b0f0..590b8463 100644
--- a/src/eval/mod.rs
+++ b/src/eval/mod.rs
@@ -155,7 +155,7 @@ impl Eval for MathNode {
type Output = Template;
fn eval(&self, _: &mut Context, _: &mut Scopes) -> EvalResult<Self::Output> {
- Ok(Template::show(library::elements::MathNode {
+ Ok(Template::show(library::math::MathNode {
formula: self.formula.clone(),
display: self.display,
}))
@@ -166,7 +166,7 @@ impl Eval for HeadingNode {
type Output = Template;
fn eval(&self, ctx: &mut Context, scp: &mut Scopes) -> EvalResult<Self::Output> {
- Ok(Template::show(library::elements::HeadingNode {
+ Ok(Template::show(library::structure::HeadingNode {
body: self.body().eval(ctx, scp)?,
level: self.level(),
}))
@@ -177,7 +177,7 @@ impl Eval for ListNode {
type Output = Template;
fn eval(&self, ctx: &mut Context, scp: &mut Scopes) -> EvalResult<Self::Output> {
- Ok(Template::List(library::elements::ListItem {
+ Ok(Template::List(library::structure::ListItem {
number: None,
body: Box::new(self.body().eval(ctx, scp)?),
}))
@@ -188,7 +188,7 @@ impl Eval for EnumNode {
type Output = Template;
fn eval(&self, ctx: &mut Context, scp: &mut Scopes) -> EvalResult<Self::Output> {
- Ok(Template::Enum(library::elements::ListItem {
+ Ok(Template::Enum(library::structure::ListItem {
number: self.number(),
body: Box::new(self.body().eval(ctx, scp)?),
}))
diff --git a/src/eval/template.rs b/src/eval/template.rs
index 94cc0aff..3e88b6d7 100644
--- a/src/eval/template.rs
+++ b/src/eval/template.rs
@@ -10,9 +10,9 @@ use super::{
StyleMap, StyleVecBuilder,
};
use crate::diag::StrResult;
-use crate::library::elements::{ListItem, ListKind, ListNode, ORDERED, UNORDERED};
use crate::library::layout::{FlowChild, FlowNode, PageNode, PlaceNode, SpacingKind};
use crate::library::prelude::*;
+use crate::library::structure::{ListItem, ListKind, ListNode, ORDERED, UNORDERED};
use crate::library::text::{DecoNode, ParChild, ParNode, TextNode, UNDERLINE};
use crate::util::EcoString;
diff --git a/src/library/elements/mod.rs b/src/library/elements/mod.rs
deleted file mode 100644
index 572010bb..00000000
--- a/src/library/elements/mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-//! Primitive and semantic elements.
-
-mod heading;
-mod image;
-mod list;
-mod math;
-mod shape;
-mod table;
-
-pub use self::image::*;
-pub use heading::*;
-pub use list::*;
-pub use math::*;
-pub use shape::*;
-pub use table::*;
diff --git a/src/library/layout/hide.rs b/src/library/graphics/hide.rs
index 861a1208..861a1208 100644
--- a/src/library/layout/hide.rs
+++ b/src/library/graphics/hide.rs
diff --git a/src/library/elements/image.rs b/src/library/graphics/image.rs
index 66fb8f4b..66fb8f4b 100644
--- a/src/library/elements/image.rs
+++ b/src/library/graphics/image.rs
diff --git a/src/library/graphics/mod.rs b/src/library/graphics/mod.rs
new file mode 100644
index 00000000..353f09ca
--- /dev/null
+++ b/src/library/graphics/mod.rs
@@ -0,0 +1,11 @@
+//! Graphical elements and effects.
+
+mod hide;
+mod image;
+mod shape;
+mod transform;
+
+pub use self::image::*;
+pub use hide::*;
+pub use shape::*;
+pub use transform::*;
diff --git a/src/library/elements/shape.rs b/src/library/graphics/shape.rs
index 8b967412..8b967412 100644
--- a/src/library/elements/shape.rs
+++ b/src/library/graphics/shape.rs
diff --git a/src/library/layout/transform.rs b/src/library/graphics/transform.rs
index fafb37a4..fafb37a4 100644
--- a/src/library/layout/transform.rs
+++ b/src/library/graphics/transform.rs
diff --git a/src/library/layout/mod.rs b/src/library/layout/mod.rs
index 944548ab..588b15aa 100644
--- a/src/library/layout/mod.rs
+++ b/src/library/layout/mod.rs
@@ -5,23 +5,19 @@ mod columns;
mod container;
mod flow;
mod grid;
-mod hide;
mod pad;
mod page;
mod place;
mod spacing;
mod stack;
-mod transform;
pub use align::*;
pub use columns::*;
pub use container::*;
pub use flow::*;
pub use grid::*;
-pub use hide::*;
pub use pad::*;
pub use page::*;
pub use place::*;
pub use spacing::*;
pub use stack::*;
-pub use transform::*;
diff --git a/src/library/elements/math.rs b/src/library/math/mod.rs
index 761b4480..761b4480 100644
--- a/src/library/elements/math.rs
+++ b/src/library/math/mod.rs
diff --git a/src/library/mod.rs b/src/library/mod.rs
index 4a80ef43..ceb5a557 100644
--- a/src/library/mod.rs
+++ b/src/library/mod.rs
@@ -3,9 +3,11 @@
//! Call [`new`] to obtain a [`Scope`] containing all standard library
//! definitions.
-pub mod elements;
+pub mod graphics;
pub mod layout;
+pub mod math;
pub mod prelude;
+pub mod structure;
pub mod text;
pub mod utility;
@@ -18,8 +20,8 @@ pub fn new() -> Scope {
// Text.
std.def_class::<text::TextNode>("text");
std.def_class::<text::ParNode>("par");
- std.def_class::<text::ParbreakNode>("parbreak");
std.def_class::<text::LinebreakNode>("linebreak");
+ std.def_class::<text::ParbreakNode>("parbreak");
std.def_class::<text::StrongNode>("strong");
std.def_class::<text::EmphNode>("emph");
std.def_class::<text::RawNode>("raw");
@@ -28,17 +30,11 @@ pub fn new() -> Scope {
std.def_class::<text::OverlineNode>("overline");
std.def_class::<text::LinkNode>("link");
- // Elements.
- std.def_class::<elements::MathNode>("math");
- std.def_class::<elements::HeadingNode>("heading");
- std.def_class::<elements::ListNode>("list");
- std.def_class::<elements::EnumNode>("enum");
- std.def_class::<elements::TableNode>("table");
- std.def_class::<elements::ImageNode>("image");
- std.def_class::<elements::RectNode>("rect");
- std.def_class::<elements::SquareNode>("square");
- std.def_class::<elements::EllipseNode>("ellipse");
- std.def_class::<elements::CircleNode>("circle");
+ // Structure.
+ std.def_class::<structure::HeadingNode>("heading");
+ std.def_class::<structure::ListNode>("list");
+ std.def_class::<structure::EnumNode>("enum");
+ std.def_class::<structure::TableNode>("table");
// Layout.
std.def_class::<layout::PageNode>("page");
@@ -54,10 +50,20 @@ pub fn new() -> Scope {
std.def_class::<layout::ColumnsNode>("columns");
std.def_class::<layout::ColbreakNode>("colbreak");
std.def_class::<layout::PlaceNode>("place");
- std.def_class::<layout::MoveNode>("move");
- std.def_class::<layout::ScaleNode>("scale");
- std.def_class::<layout::RotateNode>("rotate");
- std.def_class::<layout::HideNode>("hide");
+
+ // Graphics.
+ std.def_class::<graphics::ImageNode>("image");
+ std.def_class::<graphics::RectNode>("rect");
+ std.def_class::<graphics::SquareNode>("square");
+ std.def_class::<graphics::EllipseNode>("ellipse");
+ std.def_class::<graphics::CircleNode>("circle");
+ std.def_class::<graphics::MoveNode>("move");
+ std.def_class::<graphics::ScaleNode>("scale");
+ std.def_class::<graphics::RotateNode>("rotate");
+ std.def_class::<graphics::HideNode>("hide");
+
+ // Math.
+ std.def_class::<math::MathNode>("math");
// Utility functions.
std.def_func("assert", utility::assert);
diff --git a/src/library/elements/heading.rs b/src/library/structure/heading.rs
index a67f4f24..a67f4f24 100644
--- a/src/library/elements/heading.rs
+++ b/src/library/structure/heading.rs
diff --git a/src/library/elements/list.rs b/src/library/structure/list.rs
index 2c536e2a..2c536e2a 100644
--- a/src/library/elements/list.rs
+++ b/src/library/structure/list.rs
diff --git a/src/library/structure/mod.rs b/src/library/structure/mod.rs
new file mode 100644
index 00000000..073d52e9
--- /dev/null
+++ b/src/library/structure/mod.rs
@@ -0,0 +1,9 @@
+//! Document structuring.
+
+mod heading;
+mod list;
+mod table;
+
+pub use heading::*;
+pub use list::*;
+pub use table::*;
diff --git a/src/library/elements/table.rs b/src/library/structure/table.rs
index 555dcc44..555dcc44 100644
--- a/src/library/elements/table.rs
+++ b/src/library/structure/table.rs