aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--askama/src/lib.rs1
-rw-r--r--askama_derive/src/generator.rs3
2 files changed, 4 insertions, 0 deletions
diff --git a/askama/src/lib.rs b/askama/src/lib.rs
index 56c5202..f64fa68 100644
--- a/askama/src/lib.rs
+++ b/askama/src/lib.rs
@@ -200,6 +200,7 @@
//!
//! * *loop.index*: current loop iteration (starting from 1)
//! * *loop.index0*: current loop iteration (starting from 0)
+//! * *loop.first*: whether this is the first iteration of the loop
//!
//! ### If
//!
diff --git a/askama_derive/src/generator.rs b/askama_derive/src/generator.rs
index 5ec2238..07c87bf 100644
--- a/askama_derive/src/generator.rs
+++ b/askama_derive/src/generator.rs
@@ -720,6 +720,9 @@ impl<'a> Generator<'a> {
return DisplayWrap::Unwrapped;
} else if attr == "index0" {
return DisplayWrap::Unwrapped;
+ } else if attr == "first" {
+ code.push_str(" == 0");
+ return DisplayWrap::Unwrapped;
} else {
panic!("unknown loop variable");
}