asciidork_ast/
lib.rs

1mod attr_list;
2mod block;
3mod chunk_meta;
4mod col_widths;
5mod doc_content;
6mod document;
7mod inline;
8mod inline_nodes;
9mod list;
10mod r#macro;
11mod multi_attr_list;
12mod multi_source_location;
13mod node;
14mod source_location;
15mod source_string;
16mod table;
17mod toc;
18
19pub use internal::types::*;
20
21mod internal {
22  pub(crate) mod types {
23    pub use crate::attr_list::{AttrData, AttrList, Named};
24    pub use crate::block::{Block, BlockContent, BlockContext, EmptyMetadata};
25    pub use crate::chunk_meta::ChunkMeta;
26    pub use crate::col_widths::*;
27    pub use crate::doc_content::*;
28    pub use crate::document::{DocHeader, DocTitle, Document};
29    pub use crate::inline::{AdjacentNewline, CurlyKind::*, QuoteKind::*, SymbolKind};
30    pub use crate::inline::{CurlyKind, Inline, InlineNode, QuoteKind, SpanKind, SpecialCharKind};
31    pub use crate::inline::{IndexTerm, IndexTermReference, IndexTermType};
32    pub use crate::inline_nodes::InlineNodes;
33    pub use crate::list::*;
34    pub use crate::r#macro::{Flow, MacroNode, PluginMacro, UrlScheme, XrefKind};
35    pub use crate::multi_attr_list::{MultiAttrList, NoAttrs};
36    pub use crate::multi_source_location::MultiSourceLocation;
37    pub use crate::node::{Anchor, Callout};
38    pub use crate::source_location::SourceLocation;
39    pub use crate::source_string::SourceString;
40    pub use crate::table::*;
41    pub use crate::toc::*;
42    pub use asciidork_core::{AttrValue, DocumentMeta, ReadAttr, SpecialSection};
43    pub use smallvec::SmallVec;
44  }
45
46  pub use types::*;
47
48  // bump helpers
49  pub use bumpalo::Bump;
50  pub use bumpalo::collections::String as BumpString;
51  pub use bumpalo::collections::Vec as BumpVec;
52  pub use bumpalo::vec as bvec;
53}
54
55pub mod prelude {
56  pub use crate::attr_list::{AttrData, AttrList, Named};
57  pub use crate::block::{Block, BlockContent, BlockContext, EmptyMetadata};
58  pub use crate::chunk_meta::ChunkMeta;
59  pub use crate::col_widths::*;
60  pub use crate::doc_content::*;
61  pub use crate::document::{DocHeader, DocTitle, Document};
62  pub use crate::inline::{CurlyKind, Inline, InlineNode, QuoteKind, SpecialCharKind, SymbolKind};
63  pub use crate::inline::{IndexTerm, IndexTermReference, IndexTermType, SpanKind};
64  pub use crate::list::{ListItem, ListItemTypeMeta, ListMarker, ListVariant};
65  pub use crate::r#macro::{PluginMacro, UrlScheme, XrefKind};
66  pub use crate::multi_attr_list::{MultiAttrList, NoAttrs};
67  pub use crate::multi_source_location::MultiSourceLocation;
68  pub use crate::node::{Anchor, Callout};
69  pub use crate::source_location::SourceLocation;
70  pub use crate::source_string::SourceString;
71  pub use crate::table::*;
72  pub use crate::toc::*;
73  pub use asciidork_core::DocumentMeta;
74}
75
76pub mod short {
77  pub mod block {
78    pub use crate::block::BlockContent as Content;
79    pub use crate::block::BlockContext as Context;
80  }
81}
82
83pub mod variants {
84  pub mod inline {
85    pub use crate::inline::Inline::*;
86  }
87  pub mod r#macro {
88    pub use crate::r#macro::MacroNode::*;
89  }
90}