mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	template_parser: Handle handlebar partial blocks.
This commit is contained in:
		@@ -75,6 +75,9 @@ def tokenize(text: str) -> List[Token]:
 | 
			
		||||
    def looking_at_handlebars_partial() -> bool:
 | 
			
		||||
        return looking_at("{{>")
 | 
			
		||||
 | 
			
		||||
    def looking_at_handlebars_partial_block() -> bool:
 | 
			
		||||
        return looking_at("{{#>")
 | 
			
		||||
 | 
			
		||||
    def looking_at_html_start() -> bool:
 | 
			
		||||
        return looking_at("<") and not looking_at("</")
 | 
			
		||||
 | 
			
		||||
@@ -140,6 +143,10 @@ def tokenize(text: str) -> List[Token]:
 | 
			
		||||
                s = get_handlebars_partial(text, state.i)
 | 
			
		||||
                tag = s[9:-2]
 | 
			
		||||
                kind = "handlebars_partial"
 | 
			
		||||
            elif looking_at_handlebars_partial_block():
 | 
			
		||||
                s = get_handlebars_partial(text, state.i)
 | 
			
		||||
                tag = s[5:-2]
 | 
			
		||||
                kind = "handlebars_partial_block"
 | 
			
		||||
            elif looking_at_html_start():
 | 
			
		||||
                s = get_html_tag(text, state.i)
 | 
			
		||||
                if s.endswith("/>"):
 | 
			
		||||
@@ -311,7 +318,7 @@ def tag_flavor(token: Token) -> Optional[str]:
 | 
			
		||||
    ):
 | 
			
		||||
        return None
 | 
			
		||||
 | 
			
		||||
    if kind in ("handlebars_start", "html_start"):
 | 
			
		||||
    if kind in ("handlebars_start", "handlebars_partial_block", "html_start"):
 | 
			
		||||
        return "start"
 | 
			
		||||
    elif kind in (
 | 
			
		||||
        "django_else",
 | 
			
		||||
@@ -726,6 +733,7 @@ def get_django_comment(text: str, i: int) -> str:
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def get_handlebars_partial(text: str, i: int) -> str:
 | 
			
		||||
    """Works for both partials and partial blocks."""
 | 
			
		||||
    end = i + 10
 | 
			
		||||
    unclosed_end = 0
 | 
			
		||||
    while end <= len(text):
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user