diff options
| author | Laurenz <laurmaedje@gmail.com> | 2022-03-11 11:58:56 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2022-03-11 11:58:56 +0100 |
| commit | e6b532391deb1e30dc356c4d20dd48199f748f29 (patch) | |
| tree | 7b631414931164b9a47c9d154172195fc0e1316c /src | |
| parent | b71113d37a29bab5c7dc4b501c33ee9afbdb8213 (diff) | |
More restructuring
Diffstat (limited to 'src')
| -rw-r--r-- | src/eval/layout.rs | 3 | ||||
| -rw-r--r-- | src/eval/mod.rs | 8 | ||||
| -rw-r--r-- | src/eval/template.rs | 2 | ||||
| -rw-r--r-- | src/library/elements/mod.rs | 15 | ||||
| -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.rs | 11 | ||||
| -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.rs | 4 | ||||
| -rw-r--r-- | src/library/math/mod.rs (renamed from src/library/elements/math.rs) | 0 | ||||
| -rw-r--r-- | src/library/mod.rs | 40 | ||||
| -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.rs | 9 | ||||
| -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 |
