Enum bracket::parser::ast::Node [−][src]
pub enum Node<'source> { Document(Document<'source>), Text(Text<'source>), Statement(Call<'source>), Block(Block<'source>), RawStatement(TextBlock<'source>), RawComment(TextBlock<'source>), Comment(TextBlock<'source>), Link(Link<'source>), }
Expand description
Nodes form the abstract syntax tree.
Every node provides access to a TrimHint used by the renderer to determine how whitespace should be handled.
Variants
Document(Document<'source>)
Document nodes encapsulate a collection of children.
Text(Text<'source>)
Text nodes are a byte range.
Statement(Call<'source>)
Statement is a variable interpolation, partial render or helper call.
Block(Block<'source>)
Blocks encapsulate an inner template.
Blocks have a raw
flag which indicates that the content
should not be interpreted. When the raw
flag is set a block
must only have a single Text
child node.
RawStatement(TextBlock<'source>)
Raw statement is a statement preceeded by a backslash that should not be interpreted.
RawComment(TextBlock<'source>)
Raw comments may contain nested templates ({{!-- comment --}}
).
Comment(TextBlock<'source>)
Comments may not contain nested templates ({{! comment }}
).
Link(Link<'source>)
Link nodes are parsed from wiki-style links.
Implementations
pub fn into_iter<'a>(&'a self) -> BranchIter<'a>ⓘNotable traits for BranchIter<'source>
impl<'source> Iterator for BranchIter<'source> type Item = &'source Node<'source>;
pub fn into_iter<'a>(&'a self) -> BranchIter<'a>ⓘNotable traits for BranchIter<'source>
impl<'source> Iterator for BranchIter<'source> type Item = &'source Node<'source>;
Iterate descendants of documents and blocks.
Trait Implementations
Auto Trait Implementations
impl<'source> RefUnwindSafe for Node<'source>
impl<'source> UnwindSafe for Node<'source>