o
    Th)                     @   s   d Z ddlZddlmZmZmZmZmZ ddlm	Z	m
Z
mZmZmZmZmZmZmZ ddlmZmZmZmZ ddlmZ g dZG dd	 d	eZG d
d deZG dd deZG dd deZG dd deZG dd deZdS )z
    pygments.lexers.ul4
    ~~~~~~~~~~~~~~~~~~~

    Lexer for the UL4 templating language.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerDelegatingLexerbygroupswordsinclude)	CommentTextKeywordStringNumberLiteralNameOtherOperator)	HtmlLexerXmlLexerCssLexerJavascriptLexer)PythonLexer)UL4LexerHTMLUL4LexerXMLUL4LexerCSSUL4LexerJavascriptUL4LexerPythonUL4Lexerc                   @   s  e Zd ZdZejejB ZdZdgZ	dgZ
dZdZdeejejeejejfdeejejeejejdfd	ed
fdefdejdfdejfdedfdeejejeejejdfdeejejedfdeejejedfdeejejedfdefdefgdedfdedfdefdefgd	edfdedfdefdefgdejdfdejdfdejfdejfgdejdfd ed!fd"ed#fd$ed%fd&ed'fd(ejfd)ejfd*ejfd+ejfd,ejfd-ejfd.ejfd/ejfd0ejfd1ejfd2ej fd3e!fe"d4d5d6efe"d7d5d6ej#fd8efd9ejfgdejdfe"d:d5d6efd9efgdejdfe"d;d5d6ejfd9ejfgd<ej$fd=ej$fd>ej$fd?ej$fgd edfe%d@dAefdefgd"edfe%d@dBefdefgd$edfe%d@dAefdefgd&edfe%d@dBefdefgdCZ&dDS )Er   z 
    Generic lexer for UL4.
    UL4ul4z*.ul4&https://python.livinglogic.de/UL4.htmlz2.12z(<\?)(\s*)(ul4)(\s*)(\?>)z-(<\?)(\s*)(ul4)(\s*)([a-zA-Z_][a-zA-Z_0-9]*)?z<\?\s*note\s*\?>notez<\?\s*note\s.*?\?>z<\?\s*doc\s*\?>docz<\?\s*doc\s.*?\?>z<\?\s*ignore\s*\?>ignorez-(<\?)(\s*)(def)(\s*)([a-zA-Z_][a-zA-Z_0-9]*)?zK(<\?)(\s*)(printx|print|for|if|elif|else|while|code|renderblocks?|render)\bz(<\?)(\s*)(end)\bendz(<\?)(\s*)(whitespace)\b
whitespacez[^<]+<z#pushz<\?\s*end\s+ignore\s*\?>z#pop.z<\?\s*end\s+note\s*\?>z<\?\s*end\s+doc\s*\?>z\?>z'''string13z"""string23'string1"string2z\d+\.\d*([eE][+-]?\d+)?z\.\d+([eE][+-]?\d+)?z\d+[eE][+-]?\d+z
0[bB][01]+z0[oO][0-7]+z0[xX][0-9a-fA-F]+z9@\(\d\d\d\d-\d\d-\d\d(T(\d\d:\d\d(:\d\d(\.\d{6})?)?)?)?\)z#[0-9a-fA-F]{8}z#[0-9a-fA-F]{6}z#[0-9a-fA-F]{3,4}z\d+zS//|==|!=|>=|<=|<<|>>|\+=|-=|\*=|/=|//=|<<=|>>=|&=|\|=|^=|=|[\[\]{},:*/().~%&|<>^+-])forinifelsenotisandorz\b)suffix)NoneFalseTruez[a-zA-Z_][a-zA-Z0-9_]*z\s+)r+   r-   defwhilerenderblockrenderblocks)keepstripsmartz\\[\\'"abtnfr]z\\x[0-9a-fA-F]{2}z\\u[0-9a-fA-F]{4}z\\U[0-9a-fA-F]{8}stringescapesz[^\\']+z[^\\"]+)rootr    r   r   r   r!   r"   r>   r%   r&   r(   r*   N)'__name__
__module____qualname____doc__re	MULTILINEDOTALLflagsnamealiases	filenamesurlversion_addedr   r   Preprocr   
Whitespacer	   r   Functionr
   Docr   r   FloatBinOctHexr   DateColorIntegerr   r   ConstantEscaper   tokens r[   r[   T/home/air/segue/gemini/back/venv/lib/python3.10/site-packages/pygments/lexers/ul4.pyr      s   

	
	



T



(
 
r   c                       8   e Zd ZdZdZdgZdgZdZdZ fddZ	  Z
S )	r   z)
    Lexer for UL4 embedded in HTML.
    zHTML+UL4zhtml+ul4z	*.htmlul4r    c                       t  jttfi | d S N)super__init__r   r   selfoptions	__class__r[   r\   rb         zHTMLUL4Lexer.__init__r@   rA   rB   rC   rH   rI   rJ   rK   rL   rb   __classcell__r[   r[   rf   r\   r          r   c                       r]   )	r   z(
    Lexer for UL4 embedded in XML.
    zXML+UL4zxml+ul4z*.xmlul4r   r^   c                    r_   r`   )ra   rb   r   r   rc   rf   r[   r\   rb     rh   zXMLUL4Lexer.__init__ri   r[   r[   rf   r\   r      rk   r   c                       r]   )	r   z(
    Lexer for UL4 embedded in CSS.
    zCSS+UL4zcss+ul4z*.cssul4r   r^   c                    r_   r`   )ra   rb   r   r   rc   rf   r[   r\   rb     rh   zCSSUL4Lexer.__init__ri   r[   r[   rf   r\   r     rk   r   c                       r]   )	r   z/
    Lexer for UL4 embedded in Javascript.
    zJavascript+UL4zjs+ul4z*.jsul4r   r^   c                    r_   r`   )ra   rb   r   r   rc   rf   r[   r\   rb   %  rh   zJavascriptUL4Lexer.__init__ri   r[   r[   rf   r\   r     rk   r   c                       r]   )	r   z+
    Lexer for UL4 embedded in Python.
    z
Python+UL4zpy+ul4z*.pyul4r   r^   c                    r_   r`   )ra   rb   r   r   rc   rf   r[   r\   rb   4  rh   zPythonUL4Lexer.__init__ri   r[   r[   rf   r\   r   )  rk   r   ) rC   rD   pygments.lexerr   r   r   r   r   pygments.tokenr   r   r	   r
   r   r   r   r   r   pygments.lexers.webr   r   r   r   pygments.lexers.pythonr   __all__r   r   r   r   r   r   r[   r[   r[   r\   <module>   s    
, W