3

V'ícü"ã@sìdZddlZddlmZmZmZmZmZddlm	Z	m
Z
mZmZm
Z
mZmZmZmZddlmZmZmZmZddlmZddd	d
ddgZGd
d„deƒZGdd„deƒZGdd	„d	eƒZGdd
„d
eƒZGdd„deƒZGdd„deƒZdS)a
    pygments.lexers.ul4
    ~~~~~~~~~~~~~~~~~~~

    Lexer for the UL4 templating language.

    More information: https://python.livinglogic.de/UL4.html

    :copyright: Copyright 2006-2022 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ŽeZdZdZejejBZdZdgZ	dgZ
deej
ejeejej
ƒfdeej
ejeejejƒdfdefdejfd	ed
fdeej
ejeejejƒdfdeej
ejeƒdfd
eej
ejeƒdfdeej
ejeƒdfdefdefgd	edfdedfdefdefgdej
dfdedfdedfdedfdedfd ejfd!ejfd"ejfd#ejfd$ejfd%ejfd&ejfd'ejfd(ejfd)ejfd*ejfd+efe dKd4d5efe dLd4d5ej!fd9efd:ejfgdej
dfe dMd4d5efd:efgdej
dfe dNd4d5ej
fd:ejfgdBej"fdCej"fdDej"fdEej"fgdedfe#dFƒdGefdefgdedfe#dFƒdHefdefgdedfe#dFƒdGefdefgdedfe#dFƒdHefdefgdIœ
Z$dJS)Orz<
    Generic lexer for UL4.

    .. versionadded:: 2.12
    ZUL4Úul4z*.ul4z(<\?)(\s*)(ul4)(\s*)(\?>)z-(<\?)(\s*)(ul4)(\s*)([a-zA-Z_][a-zA-Z_0-9]*)?z<\?\s*note\s.*?\?>z<\?\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\?>z'''Ústring13z"""Ústring23ú'Ústring1ú"Ústring2z\d+\.\d*([eE][+-]?\d+)?z\.\d+([eE][+-]?\d+)?z\d+[eE][+-]?\d+z
0[bB][01]+z0[oO][0-7]+z0[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+Ú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[^\\"]+)
Úrootrrrrr:r!r"r$r&N)r'r(r)r*r+r,r-r.)r0r1r2)r'r)r3r4r5r6)r7r8r9)%Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚreÚ	MULTILINEÚDOTALLÚflagsÚnameÚaliasesÚ	filenamesrrZPreprocrÚ
Whitespacer	r
ZFunctionr
ZDocrrZFloatZBinÚOctZHexrÚDateZColorZIntegerrrÚConstantZEscaperÚtokens©rLrLú7/tmp/pip-build-gk9425m9/Pygments/pygments/lexers/ul4.pyrsª







cs0eZdZdZdZdgZdgZ‡fdd„Z‡ZS)rz)
    Lexer for UL4 embedded in HTML.
    zHTML+UL4zhtml+ul4z	*.htmlul4cstƒjttf|ŽdS)N)ÚsuperÚ__init__rr)ÚselfÚoptions)Ú	__class__rLrMrOÖszHTMLUL4Lexer.__init__)	r<r=r>r?rDrErFrOÚ
__classcell__rLrL)rRrMrÍs
cs0eZdZdZdZdgZdgZ‡fdd„Z‡ZS)rz(
    Lexer for UL4 embedded in XML.
    zXML+UL4zxml+ul4z*.xmlul4cstƒjttf|ŽdS)N)rNrOrr)rPrQ)rRrLrMrOãszXMLUL4Lexer.__init__)	r<r=r>r?rDrErFrOrSrLrL)rRrMrÚs
cs0eZdZdZdZdgZdgZ‡fdd„Z‡ZS)rz(
    Lexer for UL4 embedded in CSS.
    zCSS+UL4zcss+ul4z*.cssul4cstƒjttf|ŽdS)N)rNrOrr)rPrQ)rRrLrMrOðszCSSUL4Lexer.__init__)	r<r=r>r?rDrErFrOrSrLrL)rRrMrçs
cs0eZdZdZdZdgZdgZ‡fdd„Z‡ZS)rz/
    Lexer for UL4 embedded in Javascript.
    zJavascript+UL4zjs+ul4z*.jsul4cstƒjttf|ŽdS)N)rNrOrr)rPrQ)rRrLrMrOýszJavascriptUL4Lexer.__init__)	r<r=r>r?rDrErFrOrSrLrL)rRrMrôs
cs0eZdZdZdZdgZdgZ‡fdd„Z‡ZS)rz+
    Lexer for UL4 embedded in Python.
    z
Python+UL4zpy+ul4z*.pyul4cstƒjttf|ŽdS)N)rNrOrr)rPrQ)rRrLrMrO
szPythonUL4Lexer.__init__)	r<r=r>r?rDrErFrOrSrLrL)rRrMrs
) r?r@Zpygments.lexerrrrrrZpygments.tokenrrr	r
rrr
rrZpygments.lexers.webrrrrZpygments.lexers.pythonrÚ__all__rrrrrrrLrLrLrMÚ<module>s,5