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.
Tuple Fields of Document
0: Document<'source>
Text(Text<'source>)
Text nodes are a byte range.
Tuple Fields of Text
0: Text<'source>
Statement(Call<'source>)
Statement is a variable interpolation, partial render or helper call.
Tuple Fields of Statement
0: Call<'source>
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.
Tuple Fields of Block
0: Block<'source>
RawStatement(TextBlock<'source>)
Raw statement is a statement preceeded by a backslash that should not be interpreted.
Tuple Fields of RawStatement
0: TextBlock<'source>
RawComment(TextBlock<'source>)
Raw comments may contain nested templates ({{!-- comment --}}
).
Tuple Fields of RawComment
0: TextBlock<'source>
Comment(TextBlock<'source>)
Comments may not contain nested templates ({{! comment }}
).
Tuple Fields of Comment
0: TextBlock<'source>
Link(Link<'source>)
Link nodes are parsed from wiki-style links.
Tuple Fields of Link
0: Link<'source>
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>;
impl<'source> Iterator for BranchIter<'source> type Item = &'source Node<'source>;
Iterate descendants of documents and blocks.