pub trait RenderElement<T> {
    // Required method
    fn render(
        &mut self,
        elem: &T,
        ctx: &RenderContext<'_>,
        buf: impl Write
    ) -> Result<()>;

    // Provided method
    fn render_inner(
        &mut self,
        elem: &T,
        ctx: &RenderContext<'_>
    ) -> Result<String> { ... }
}
Expand description

The base trait that renderers should implement for each type used by [create::ast::Ast].

Required Methods§

source

fn render( &mut self, elem: &T, ctx: &RenderContext<'_>, buf: impl Write ) -> Result<()>

Render the element to a buffer

Provided Methods§

source

fn render_inner(&mut self, elem: &T, ctx: &RenderContext<'_>) -> Result<String>

Convenience function for creating a buffer, rendering the element into the buffer, and returning the result as a string. This is useful when an inner element needs to be rendered first to be used in an outer element, hence the name.

Implementors§

source§

impl RenderElement<Block> for GenericRenderer

source§

impl RenderElement<Inline> for GenericRenderer

source§

impl RenderElement<CodeOutput> for GenericRenderer

source§

impl<T: RenderElement<R>, R> RenderElement<Vec<R, Global>> for T

Implementation for vectors of elements. Automatically implemented for any type that implements the trait.