diff --git a/src/compare/diff.rs b/src/compare/diff.rs index 7cd0b4a7..1075383f 100644 --- a/src/compare/diff.rs +++ b/src/compare/diff.rs @@ -12,7 +12,7 @@ use super::util::get_property; use super::util::get_property_boolean; use super::util::get_property_quoted_string; use super::util::get_property_unquoted_atom; -use crate::iter::AstNode; +use crate::types::AstNode; use crate::types::AngleLink; use crate::types::BabelCall; use crate::types::Bold; diff --git a/src/compare/elisp_fact.rs b/src/compare/elisp_fact.rs index a1c1fc8f..6d846e5e 100644 --- a/src/compare/elisp_fact.rs +++ b/src/compare/elisp_fact.rs @@ -1,6 +1,6 @@ use std::borrow::Cow; -use crate::iter::AstNode; +use crate::types::AstNode; use crate::types::AngleLink; use crate::types::BabelCall; use crate::types::Bold; diff --git a/src/iter/all_ast_node_iter.rs b/src/iter/all_ast_node_iter.rs index 15989909..9d6b091b 100644 --- a/src/iter/all_ast_node_iter.rs +++ b/src/iter/all_ast_node_iter.rs @@ -1,7 +1,7 @@ use std::collections::VecDeque; -use super::ast_node::AstNode; use super::ast_node_iter::AstNodeIter; +use crate::types::AstNode; pub struct AllAstNodeIter<'r, 's> { root: Option>, diff --git a/src/iter/ast_node_iter.rs b/src/iter/ast_node_iter.rs index 6c51c119..2da6e224 100644 --- a/src/iter/ast_node_iter.rs +++ b/src/iter/ast_node_iter.rs @@ -1,10 +1,10 @@ use std::marker::PhantomData; -use super::ast_node::AstNode; use super::macros::children_iter; use super::macros::empty_iter; use super::macros::multi_field_iter; use crate::types::AngleLink; +use crate::types::AstNode; use crate::types::BabelCall; use crate::types::Bold; use crate::types::Citation; diff --git a/src/iter/macros.rs b/src/iter/macros.rs index 3834d1b5..f4282496 100644 --- a/src/iter/macros.rs +++ b/src/iter/macros.rs @@ -1,16 +1,3 @@ -/// Write the implementation of From<> to convert a borrow of the type to an AstNode -macro_rules! to_ast_node { - ($inp:ty, $enum:expr) => { - impl<'r, 's> From<$inp> for AstNode<'r, 's> { - fn from(value: $inp) -> Self { - $enum(value) - } - } - }; -} - -pub(crate) use to_ast_node; - /// Create iterators for ast nodes where it only has to iterate over children macro_rules! children_iter { ($astnodetype:ty, $itertype:ident, $innertype:ty) => { diff --git a/src/iter/mod.rs b/src/iter/mod.rs index d820847f..af77bd63 100644 --- a/src/iter/mod.rs +++ b/src/iter/mod.rs @@ -1,5 +1,3 @@ mod all_ast_node_iter; -mod ast_node; mod ast_node_iter; mod macros; -pub(crate) use ast_node::AstNode; diff --git a/src/parser/document.rs b/src/parser/document.rs index f71aaeec..a7b8b8b7 100644 --- a/src/parser/document.rs +++ b/src/parser/document.rs @@ -20,7 +20,7 @@ use crate::context::RefContext; use crate::error::CustomError; use crate::error::MyError; use crate::error::Res; -use crate::iter::AstNode; +use crate::types::AstNode; use crate::parser::org_source::convert_error; use crate::parser::util::blank_line; use crate::types::Document; diff --git a/src/parser/in_buffer_settings.rs b/src/parser/in_buffer_settings.rs index 3586d2fb..95618e1d 100644 --- a/src/parser/in_buffer_settings.rs +++ b/src/parser/in_buffer_settings.rs @@ -11,7 +11,7 @@ use super::OrgSource; use crate::context::HeadlineLevelFilter; use crate::error::CustomError; use crate::error::Res; -use crate::iter::AstNode; +use crate::types::AstNode; use crate::settings::GlobalSettings; use crate::types::Document; use crate::types::Keyword; diff --git a/src/iter/ast_node.rs b/src/types/ast_node.rs similarity index 100% rename from src/iter/ast_node.rs rename to src/types/ast_node.rs diff --git a/src/types/macros.rs b/src/types/macros.rs new file mode 100644 index 00000000..a718a0e0 --- /dev/null +++ b/src/types/macros.rs @@ -0,0 +1,12 @@ +/// Write the implementation of From<> to convert a borrow of the type to an AstNode +macro_rules! to_ast_node { + ($inp:ty, $enum:expr) => { + impl<'r, 's> From<$inp> for AstNode<'r, 's> { + fn from(value: $inp) -> Self { + $enum(value) + } + } + }; +} + +pub(crate) use to_ast_node; diff --git a/src/types/mod.rs b/src/types/mod.rs index 7976ecd1..6f41156e 100644 --- a/src/types/mod.rs +++ b/src/types/mod.rs @@ -1,11 +1,14 @@ +mod ast_node; mod document; mod element; mod get_standard_properties; mod greater_element; mod lesser_element; +mod macros; mod object; mod source; mod standard_properties; +pub(crate) use ast_node::AstNode; pub use document::Document; pub use document::DocumentElement; pub use document::Heading;