From 5bc7f823fa088db28fab7eb7083e40099b3ddb73 Mon Sep 17 00:00:00 2001
From: Thibaut Decombe <68703331+UnknownPlatypus@users.noreply.github.com>
Date: Tue, 11 Jun 2024 05:20:09 +0200
Subject: [PATCH] support some missing Jinja blocks (#25)
---
markup_fmt/src/parser.rs | 3 ++
.../fmt/jinja/control-structure/fixture.jinja | 26 +++++++++++++++++
.../fmt/jinja/control-structure/fixture.snap | 28 +++++++++++++++++++
3 files changed, 57 insertions(+)
diff --git a/markup_fmt/src/parser.rs b/markup_fmt/src/parser.rs
index e5a9ff1..2924c44 100644
--- a/markup_fmt/src/parser.rs
+++ b/markup_fmt/src/parser.rs
@@ -726,6 +726,9 @@ impl<'s> Parser<'s> {
| "autoescape"
| "embed"
| "with"
+ | "set"
+ | "trans"
+ | "raw"
) {
let mut body = vec![JinjaTagOrChildren::Tag(first_tag)];
diff --git a/markup_fmt/tests/fmt/jinja/control-structure/fixture.jinja b/markup_fmt/tests/fmt/jinja/control-structure/fixture.jinja
index 61e5d46..a200e65 100644
--- a/markup_fmt/tests/fmt/jinja/control-structure/fixture.jinja
+++ b/markup_fmt/tests/fmt/jinja/control-structure/fixture.jinja
@@ -50,3 +50,29 @@ Sold-out!
{%- endmacro %}
{% block title %}{% endblock %}
+
+{% set reply | wordwrap %}
+ You wrote:
+ {{ message }}
+{% endset %}
+
+{% trans %}Hello, {{ user }}!{% endtrans %}
+{% trans user=user.username %}Hello, {{ user }}!{% endtrans %}
+
+{% trans book_title=book.title, author=author.name %}
+This is {{ book_title }} by {{ author }}
+{% endtrans %}
+
+{% trans count=list|length %}
+There is {{ count }} {{ name }} object.
+{% pluralize %}
+There are {{ count }} {{ name }} objects.
+{% endtrans %}
+
+{% raw %}
+
+{% for item in seq %}
+ - {{ item }}
+{% endfor %}
+
+{% endraw %}
\ No newline at end of file
diff --git a/markup_fmt/tests/fmt/jinja/control-structure/fixture.snap b/markup_fmt/tests/fmt/jinja/control-structure/fixture.snap
index 74e8113..bce0af9 100644
--- a/markup_fmt/tests/fmt/jinja/control-structure/fixture.snap
+++ b/markup_fmt/tests/fmt/jinja/control-structure/fixture.snap
@@ -58,3 +58,31 @@ source: markup_fmt/tests/fmt.rs
{%- endmacro %}
{% block title %}{% endblock %}
+
+{% set reply | wordwrap %}
+ You wrote:
+ {{ message }}
+{% endset %}
+
+{% trans %}Hello, {{ user }}!{% endtrans %}
+{% trans user=user.username %}Hello, {{ user }}!{% endtrans %}
+
+{% trans book_title=book.title, author=author.name %}
+ This is {{ book_title }} by {{ author }}
+{% endtrans %}
+
+{% trans count=list|length %}
+ There is {{ count }}
+ {{ name }} object.
+ {% pluralize %}
+ There are {{ count }}
+ {{ name }} objects.
+{% endtrans %}
+
+{% raw %}
+
+ {% for item in seq %}
+ - {{ item }}
+ {% endfor %}
+
+{% endraw %}