Skip to content

Commit b560343

Browse files
authored
Merge pull request #101 from Quantra/main
Support for closing tags starting with "end_" as well as "end".
2 parents 47f33ed + cf69aeb commit b560343

File tree

3 files changed

+23
-1
lines changed

3 files changed

+23
-1
lines changed

djhtml/modes.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ def create_token(self, raw_token, src, line):
241241
return token, mode
242242

243243
def _has_closing_token(self, name, raw_token, src):
244-
if not re.search(f"{{%[-+]? *(end|/){name}(?: .*?|)%}}", src):
244+
if not re.search(f"{{%[-+]? *(end_?|/){name}(?: .*?|)%}}", src):
245245
return False
246246
if regex := self.AMBIGUOUS_BLOCK_TAGS.get(name):
247247
if regex[0]:

tests/suite/django.html

+11
Original file line numberDiff line numberDiff line change
@@ -184,3 +184,14 @@ <h1>Welcome, {{ request.user }}</h1>
184184
This component is intentionally repeated.
185185
{% /quote_text %}
186186
{% /quote %}
187+
188+
189+
<!-- Custom tag with end_ from issue #100 -->
190+
{% custom_tag %}
191+
<div></div>
192+
{% end_custom_tag %}
193+
194+
<!-- Custom tag -->
195+
{% customtag %}
196+
<div></div>
197+
{% endcustomtag %}

tests/suite/django.tokens

+11
Original file line numberDiff line numberDiff line change
@@ -184,4 +184,15 @@ Line([Text(' ', mode=DjHTML), Open('{% #quote_text %}', mode=DjTXT, level=1)]
184184
Line([Text(' This component is intentionally repeated.', mode=DjHTML)], level=2)
185185
Line([Text(' ', mode=DjHTML), Close('{% /quote_text %}', mode=DjTXT)], level=1)
186186
Line([Close('{% /quote %}', mode=DjTXT)])
187+
Line([])
188+
Line([])
189+
Line([Open('<!--', mode=DjHTML, ignore=True), Text(' Custom tag with end_ from issue #100 ', mode=Comment, ignore=True), Close('-->', mode=DjHTML, ignore=True)], ignore=True)
190+
Line([Open('{% custom_tag %}', mode=DjTXT)])
191+
Line([Text(' ', mode=DjHTML), Text('<', mode=DjHTML), Text('div', mode=InsideHTMLTag, absolute=5), Open('>', mode=DjHTML, level=1), Close('</div>', mode=DjHTML)], level=1)
192+
Line([Close('{% end_custom_tag %}', mode=DjTXT)])
193+
Line([])
194+
Line([Open('<!--', mode=DjHTML, ignore=True), Text(' Custom tag ', mode=Comment, ignore=True), Close('-->', mode=DjHTML, ignore=True)], ignore=True)
195+
Line([Open('{% customtag %}', mode=DjTXT)])
196+
Line([Text(' ', mode=DjHTML), Text('<', mode=DjHTML), Text('div', mode=InsideHTMLTag, absolute=5), Open('>', mode=DjHTML, level=1), Close('</div>', mode=DjHTML)], level=1)
197+
Line([Close('{% endcustomtag %}', mode=DjTXT)])
187198
Line([])

0 commit comments

Comments
 (0)