Skip to content

Commit

Permalink
Merge pull request #101 from Quantra/main
Browse files Browse the repository at this point in the history
Support for closing tags starting with "end_" as well as "end".
  • Loading branch information
JaapJoris authored Jun 14, 2023
2 parents 47f33ed + cf69aeb commit b560343
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 1 deletion.
2 changes: 1 addition & 1 deletion djhtml/modes.py
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ def create_token(self, raw_token, src, line):
return token, mode

def _has_closing_token(self, name, raw_token, src):
if not re.search(f"{{%[-+]? *(end|/){name}(?: .*?|)%}}", src):
if not re.search(f"{{%[-+]? *(end_?|/){name}(?: .*?|)%}}", src):
return False
if regex := self.AMBIGUOUS_BLOCK_TAGS.get(name):
if regex[0]:
Expand Down
11 changes: 11 additions & 0 deletions tests/suite/django.html
Original file line number Diff line number Diff line change
Expand Up @@ -184,3 +184,14 @@ <h1>Welcome, {{ request.user }}</h1>
This component is intentionally repeated.
{% /quote_text %}
{% /quote %}


<!-- Custom tag with end_ from issue #100 -->
{% custom_tag %}
<div></div>
{% end_custom_tag %}

<!-- Custom tag -->
{% customtag %}
<div></div>
{% endcustomtag %}
11 changes: 11 additions & 0 deletions tests/suite/django.tokens
Original file line number Diff line number Diff line change
Expand Up @@ -184,4 +184,15 @@ Line([Text(' ', mode=DjHTML), Open('{% #quote_text %}', mode=DjTXT, level=1)]
Line([Text(' This component is intentionally repeated.', mode=DjHTML)], level=2)
Line([Text(' ', mode=DjHTML), Close('{% /quote_text %}', mode=DjTXT)], level=1)
Line([Close('{% /quote %}', mode=DjTXT)])
Line([])
Line([])
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)
Line([Open('{% custom_tag %}', mode=DjTXT)])
Line([Text(' ', mode=DjHTML), Text('<', mode=DjHTML), Text('div', mode=InsideHTMLTag, absolute=5), Open('>', mode=DjHTML, level=1), Close('</div>', mode=DjHTML)], level=1)
Line([Close('{% end_custom_tag %}', mode=DjTXT)])
Line([])
Line([Open('<!--', mode=DjHTML, ignore=True), Text(' Custom tag ', mode=Comment, ignore=True), Close('-->', mode=DjHTML, ignore=True)], ignore=True)
Line([Open('{% customtag %}', mode=DjTXT)])
Line([Text(' ', mode=DjHTML), Text('<', mode=DjHTML), Text('div', mode=InsideHTMLTag, absolute=5), Open('>', mode=DjHTML, level=1), Close('</div>', mode=DjHTML)], level=1)
Line([Close('{% endcustomtag %}', mode=DjTXT)])
Line([])

0 comments on commit b560343

Please sign in to comment.