aboutsummaryrefslogtreecommitdiffstats
path: root/askama_derive
diff options
context:
space:
mode:
authorLibravatar max <gmx.sht@gmail.com>2023-12-11 16:39:03 +0200
committerLibravatar Dirkjan Ochtman <dirkjan@ochtman.nl>2024-01-17 17:58:53 +0100
commit514ae1b24cebb50cad04d0717092a9f890b7a245 (patch)
treed24859ec1fb4f889e4b20ea708b023669af56d50 /askama_derive
parentb1386c1fbf05b9a5f2973c3755c52246b9debe6c (diff)
downloadaskama-514ae1b24cebb50cad04d0717092a9f890b7a245.tar.gz
askama-514ae1b24cebb50cad04d0717092a9f890b7a245.tar.bz2
askama-514ae1b24cebb50cad04d0717092a9f890b7a245.zip
Refactored `match node` in `find_used_templates`
Signed-off-by: max <gmx.sht@gmail.com>
Diffstat (limited to 'askama_derive')
-rw-r--r--askama_derive/src/input.rs20
1 files changed, 17 insertions, 3 deletions
diff --git a/askama_derive/src/input.rs b/askama_derive/src/input.rs
index d10fd7f..57fbc04 100644
--- a/askama_derive/src/input.rs
+++ b/askama_derive/src/input.rs
@@ -114,8 +114,9 @@ impl TemplateInput<'_> {
while let Some((path, source)) = check.pop() {
let parsed = Parsed::new(source, self.syntax)?;
for n in parsed.nodes() {
+ use Node::*;
match n {
- Node::Extends(extends) => {
+ Extends(extends) => {
let extends = self.config.find_template(extends.path, Some(&path))?;
let dependency_path = (path.clone(), extends.clone());
if dependency_graph.contains(&dependency_path) {
@@ -132,12 +133,25 @@ impl TemplateInput<'_> {
let source = get_template_source(&extends)?;
check.push((extends, source));
}
- Node::Import(import) => {
+ Import(import) => {
let import = self.config.find_template(import.path, Some(&path))?;
let source = get_template_source(&import)?;
check.push((import, source));
}
- _ => {}
+ If(_)
+ | Loop(_)
+ | Match(_)
+ | BlockDef(_)
+ | Include(_)
+ | Lit(_)
+ | Comment(_)
+ | Expr(_, _)
+ | Call(_)
+ | Let(_)
+ | Macro(_)
+ | Raw(_)
+ | Continue(_)
+ | Break(_) => {}
}
}
map.insert(path, parsed);