use crate::types::AngleLink; use crate::types::BabelCall; use crate::types::Bold; use crate::types::Citation; use crate::types::CitationReference; use crate::types::Clock; use crate::types::Code; use crate::types::Comment; use crate::types::CommentBlock; use crate::types::DiarySexp; use crate::types::Document; use crate::types::Drawer; use crate::types::DynamicBlock; use crate::types::Entity; use crate::types::ExampleBlock; use crate::types::ExportBlock; use crate::types::ExportSnippet; use crate::types::FixedWidthArea; use crate::types::FootnoteDefinition; use crate::types::FootnoteReference; use crate::types::GreaterBlock; use crate::types::Heading; use crate::types::HorizontalRule; use crate::types::InlineBabelCall; use crate::types::InlineSourceBlock; use crate::types::Italic; use crate::types::Keyword; use crate::types::LatexEnvironment; use crate::types::LatexFragment; use crate::types::LineBreak; use crate::types::OrgMacro; use crate::types::Paragraph; use crate::types::PlainLink; use crate::types::PlainList; use crate::types::PlainText; use crate::types::Planning; use crate::types::PropertyDrawer; use crate::types::RadioLink; use crate::types::RadioTarget; use crate::types::RegularLink; use crate::types::Section; use crate::types::SrcBlock; use crate::types::StatisticsCookie; use crate::types::StrikeThrough; use crate::types::Subscript; use crate::types::Superscript; use crate::types::Table; use crate::types::Target; use crate::types::Timestamp; use crate::types::Underline; use crate::types::Verbatim; use crate::types::VerseBlock; pub enum AstNode<'r, 's> { // Document Nodes Document(&'r Document<'s>), Heading(&'r Heading<'s>), Section(&'r Section<'s>), // Elements Paragraph(&'r Paragraph<'s>), PlainList(&'r PlainList<'s>), GreaterBlock(&'r GreaterBlock<'s>), DynamicBlock(&'r DynamicBlock<'s>), FootnoteDefinition(&'r FootnoteDefinition<'s>), Comment(&'r Comment<'s>), Drawer(&'r Drawer<'s>), PropertyDrawer(&'r PropertyDrawer<'s>), Table(&'r Table<'s>), VerseBlock(&'r VerseBlock<'s>), CommentBlock(&'r CommentBlock<'s>), ExampleBlock(&'r ExampleBlock<'s>), ExportBlock(&'r ExportBlock<'s>), SrcBlock(&'r SrcBlock<'s>), Clock(&'r Clock<'s>), DiarySexp(&'r DiarySexp<'s>), Planning(&'r Planning<'s>), FixedWidthArea(&'r FixedWidthArea<'s>), HorizontalRule(&'r HorizontalRule<'s>), Keyword(&'r Keyword<'s>), BabelCall(&'r BabelCall<'s>), LatexEnvironment(&'r LatexEnvironment<'s>), // Objects Bold(&'r Bold<'s>), Italic(&'r Italic<'s>), Underline(&'r Underline<'s>), StrikeThrough(&'r StrikeThrough<'s>), Code(&'r Code<'s>), Verbatim(&'r Verbatim<'s>), PlainText(&'r PlainText<'s>), RegularLink(&'r RegularLink<'s>), RadioLink(&'r RadioLink<'s>), RadioTarget(&'r RadioTarget<'s>), PlainLink(&'r PlainLink<'s>), AngleLink(&'r AngleLink<'s>), OrgMacro(&'r OrgMacro<'s>), Entity(&'r Entity<'s>), LatexFragment(&'r LatexFragment<'s>), ExportSnippet(&'r ExportSnippet<'s>), FootnoteReference(&'r FootnoteReference<'s>), Citation(&'r Citation<'s>), CitationReference(&'r CitationReference<'s>), InlineBabelCall(&'r InlineBabelCall<'s>), InlineSourceBlock(&'r InlineSourceBlock<'s>), LineBreak(&'r LineBreak<'s>), Target(&'r Target<'s>), StatisticsCookie(&'r StatisticsCookie<'s>), Subscript(&'r Subscript<'s>), Superscript(&'r Superscript<'s>), Timestamp(&'r Timestamp<'s>), }