aboutsummaryrefslogtreecommitdiffstats
path: root/askama_derive/src/generator.rs
diff options
context:
space:
mode:
authorLibravatar René Kijewski <rene.kijewski@fu-berlin.de>2023-08-01 04:07:07 +0200
committerLibravatar Dirkjan Ochtman <dirkjan@ochtman.nl>2023-08-01 13:04:41 +0200
commit14df8e16c1b2803b23b4bf6eda3bc0e3a5fe5354 (patch)
tree3581c0fb04975cb9feea6ef42eaeb98168017aa4 /askama_derive/src/generator.rs
parentc5c46ada406aea830293a22bcef64a0d6205b3f4 (diff)
downloadaskama-14df8e16c1b2803b23b4bf6eda3bc0e3a5fe5354.tar.gz
askama-14df8e16c1b2803b23b4bf6eda3bc0e3a5fe5354.tar.bz2
askama-14df8e16c1b2803b23b4bf6eda3bc0e3a5fe5354.zip
parser: add type for `Node::Include`
Diffstat (limited to 'askama_derive/src/generator.rs')
-rw-r--r--askama_derive/src/generator.rs15
1 files changed, 7 insertions, 8 deletions
diff --git a/askama_derive/src/generator.rs b/askama_derive/src/generator.rs
index 4cf972b..626c7d2 100644
--- a/askama_derive/src/generator.rs
+++ b/askama_derive/src/generator.rs
@@ -3,7 +3,7 @@ use crate::heritage::{Context, Heritage};
use crate::input::{Print, Source, TemplateInput};
use crate::CompileError;
use parser::{
- Call, CondTest, Expr, If, Let, Lit, Loop, Match, Node, Parsed, Target, Whitespace, Ws,
+ Call, CondTest, Expr, If, Include, Let, Lit, Loop, Match, Node, Parsed, Target, Whitespace, Ws,
};
use proc_macro::TokenStream;
@@ -652,8 +652,8 @@ impl<'a> Generator<'a> {
Node::BlockDef(ref b) => {
size_hint += self.write_block(buf, Some(b.name), Ws(b.ws1.0, b.ws2.1))?;
}
- Node::Include(ws, path) => {
- size_hint += self.handle_include(ctx, buf, ws, path)?;
+ Node::Include(ref i) => {
+ size_hint += self.handle_include(ctx, buf, i)?;
}
Node::Call(ref call) => {
size_hint += self.write_call(ctx, buf, call)?;
@@ -1002,15 +1002,14 @@ impl<'a> Generator<'a> {
&mut self,
ctx: &'a Context<'_>,
buf: &mut Buffer,
- ws: Ws,
- path: &str,
+ i: &'a Include<'_>,
) -> Result<usize, CompileError> {
- self.flush_ws(ws);
+ self.flush_ws(i.ws);
self.write_buf_writable(buf)?;
let path = self
.input
.config
- .find_template(path, Some(&self.input.path))?;
+ .find_template(i.path, Some(&self.input.path))?;
// Make sure the compiler understands that the generated code depends on the template file.
{
@@ -1048,7 +1047,7 @@ impl<'a> Generator<'a> {
let mut size_hint = child.handle(ctx, nodes, buf, AstLevel::Nested)?;
size_hint += child.write_buf_writable(buf)?;
- self.prepare_ws(ws);
+ self.prepare_ws(i.ws);
Ok(size_hint)
}