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§
Trait Implementations§
impl<'source> Eq for Node<'source>
impl<'source> StructuralPartialEq for Node<'source>
Auto Trait Implementations§
impl<'source> Freeze for Node<'source>
impl<'source> RefUnwindSafe for Node<'source>
impl<'source> Send for Node<'source>
impl<'source> Sync for Node<'source>
impl<'source> Unpin for Node<'source>
impl<'source> UnwindSafe for Node<'source>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more