aboutsummaryrefslogtreecommitdiffstats
path: root/askama_derive
diff options
context:
space:
mode:
Diffstat (limited to 'askama_derive')
-rw-r--r--askama_derive/src/input.rs6
-rw-r--r--askama_derive/src/lib.rs10
2 files changed, 8 insertions, 8 deletions
diff --git a/askama_derive/src/input.rs b/askama_derive/src/input.rs
index 03817f1..891dec7 100644
--- a/askama_derive/src/input.rs
+++ b/askama_derive/src/input.rs
@@ -104,8 +104,12 @@ impl TemplateInput<'_> {
pub(crate) fn find_used_templates(
&self,
map: &mut HashMap<PathBuf, Parsed>,
- source: String,
) -> Result<(), CompileError> {
+ let source = match &self.source {
+ Source::Source(s) => s.clone(),
+ Source::Path(_) => get_template_source(&self.path)?,
+ };
+
let mut dependency_graph = Vec::new();
let mut check = vec![(self.path.clone(), source)];
while let Some((path, source)) = check.pop() {
diff --git a/askama_derive/src/lib.rs b/askama_derive/src/lib.rs
index 37e8a3b..3046f9d 100644
--- a/askama_derive/src/lib.rs
+++ b/askama_derive/src/lib.rs
@@ -10,13 +10,13 @@ use proc_macro2::Span;
use parser::ParseError;
mod config;
-use config::{get_template_source, read_config_file, Config};
+use config::{read_config_file, Config};
mod generator;
use generator::{Generator, MapChain};
mod heritage;
use heritage::{Context, Heritage};
mod input;
-use input::{Print, Source, TemplateArgs, TemplateInput};
+use input::{Print, TemplateArgs, TemplateInput};
#[proc_macro_derive(Template, attributes(template))]
pub fn derive_template(input: TokenStream) -> TokenStream {
@@ -39,13 +39,9 @@ pub(crate) fn build_template(ast: &syn::DeriveInput) -> Result<String, CompileEr
let config_toml = read_config_file(template_args.config_path.as_deref())?;
let config = Config::new(&config_toml, template_args.whitespace.as_ref())?;
let input = TemplateInput::new(ast, &config, template_args)?;
- let source = match input.source {
- Source::Source(ref s) => s.clone(),
- Source::Path(_) => get_template_source(&input.path)?,
- };
let mut templates = HashMap::new();
- input.find_used_templates(&mut templates, source)?;
+ input.find_used_templates(&mut templates)?;
let mut contexts = HashMap::new();
for (path, parsed) in &templates {