rshtml_core 0.1.0

RsHtml: A Template Engine for Seamless HTML and Rust Integration.
Documentation
use crate::Node;
use crate::compiler::Compiler;
use crate::node::SectionDirectiveContent;
use anyhow::Result;
use proc_macro2::TokenStream;
use quote::quote;

pub struct SectionDirectiveCompiler;

impl SectionDirectiveCompiler {
    pub fn compile(compiler: &mut Compiler, name: &str, content: &SectionDirectiveContent) -> Result<TokenStream> {
        let content_ts = match content {
            SectionDirectiveContent::Text(text) => compiler.compile(&Node::Text(text.clone()))?,
            SectionDirectiveContent::RustExprSimple(expr, is_escaped) => compiler.compile(&Node::RustExprSimple(expr.clone(), *is_escaped))?,
        };

        compiler.sections.insert(name.to_owned(), content_ts.clone());

        Ok(quote! {})
    }
}