
    Mh'                         d Z ddlmZ ddl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mZmZmZmZmZmZ dgZ G d de          ZdS )z
    pygments.lexers.fantom
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexer for the Fantom language.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )Template)
RegexLexerincludebygroupsusingthisdefaultwords)
TextCommentOperatorKeywordNameStringNumberPunctuationLiteral
WhitespaceFantomLexerc            !       	   e Zd ZdZdZdgZdgZdgZdZdZ	d Z
i d	d
ej        fdej        fdej        fdej        fgddefdefdej        fdej        fdej        fdej        fdedfdedfdej        fd eej        eej        eee          fd eej        eej        eej                  fdef e
d           e eed          e          fd ef e
d!           e eed          e          fgdd"ej         fd#ej         fd$ej         fd%ej!        fd&ej!        fded'fd(efgdd"ej         fd#ej         fd$ej         fd%ej!        fd&ej!        fded'fd(ej"        fgd)d*efgd+d,efgd-d.efgd/d0efgd1 e#d2d3d34          efd5ej$        j%        fgd6d7e&fgdd8ef e
d9          ej        f e'd'          gd: e(d	           e(d)           e(d+           e(d-           e(d/           e(d           e(d1           e(d6          d;ej        d<fd=ej)        d>fd? eee*ej                  d@f e
dA           e eed          e*ej+        e*e&          f e
dB           eej+        e*e&          f e
dC           ee&ej        e*e          dDf e
dE           ee&ej                  fdF eee*ej        e*e          dGf e
dH           e eed          e*ej        e*e          dGf e
dI           e eed          e*ej+        e*e          f e
dJ           e eed          e*ej+        e*ee* eed          e          f e
dK           e eed          e*ej+        e*e          f e
dL           e eed          e*ej+                  fdMedDfdNedOfdPe*fd(e,fgdDdQed'f e(d:          gdGdQed'f e
dR           e eed          e*ej+        e*e          d'f e(d:          gdOdSed'f e(d:          gd@dPe*fdTefdU eej        eej                  fdNed'fgd<dVe*fdW eeej        e          fdX eeej        e          fdYedZf e'd'          gdVe*fd[ eej-        e*ej                  d\fd]ej        f e'd\          gdPe*fdNed^f e'd'          g e(d	           e(d           e(d6          dPe*fd_ ee*ee*e&          fdSed'fdPe*fd(e,fgd`Z.daS )br   z!
    For Fantom source code.
    Fantomfanz*.fanzapplication/x-fantomzhttps://www.fantom.orgz1.5c                 h    t          |                               t          dddd                    S )Nz	[\"\w\.]+z\n|;z[a-zA-Z_]\w*z#(?:\[|[a-zA-Z_]|\|)[:\w\[\]|\->?]*?)podeosidtype)r   
substitutedict)strs    V/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pygments/lexers/fantom.pyszFantomLexer.s!   s@    }}'' " <  	
 	
 		
    commentsz(?s)/\*.*?\*/z//.*?$z\*\*.*?$z#.*$literalsz \b-?[\d_]+(ns|ms|sec|min|hr|day)z(\b-?[\d_]*\.[\d_]+(ns|ms|sec|min|hr|day)z\b-?(\d+)?\.\d+(f|F|d|D)?z\b-?0x[0-9a-fA-F_]+z
\b-?[\d_]+z'\\.'|'[^\\]'|'\\u[0-9a-f]{4}'"	insideStr`	insideUriz\b(true|false|null)\bz"(?:(\w+)(::))?(\w+)(<\|)(.*?)(\|>)z(?:(\w+)(::))?(\w+)?(#)(\w+)?z\[,\]z($type)(\[,\])inType)statez\[:\]z($type)(\[:\])z\\\\z\\"z\\`z\$\w+z	\$\{.*?\}z#pop.protectionKeywordsz'\b(public|protected|private|internal)\btypeKeywordsz,\b(abstract|final|const|native|facet|enum)\bmethodKeywordsz8\b(abstract|native|once|override|static|virtual|final)\bfieldKeywordszB\b(abstract|const|final|native|override|static|virtual|readonly)\botherKeywords)trycatchthrowfinallyforifelsewhileasisisnotswitchcaser	   continuebreakdoreturngetsetz\b)prefixsuffixz\b(it|this|super)\b	operatorsz4\+\+|\-\-|\+|\-|\*|/|\|\||&&|<=>|<=|<|>=|>|=|!|\[|\]z[\[\]|\->:?]z$idrootzusing\br   z@\w+facetz(class|mixin)(\s+)(\w+)inheritancez($type)([ \t]+)($id)(\s*)(:=)z($id)(\s*)(:=)z(\.|(?:\->))($id)(\s*)(\()insideParenz(\.|(?:\->))($id)z(new)(\s+)(make\w*)(\s*)(\()insideMethodDeclArgsz($type)([ \t]+)($id)(\s*)(\()z($type)(\s+)($id)(\s*)(,)z+($type)(\s+)($id)(\s*)(\->)(\s*)($type)(\|)z($type)(\s+)($id)(\s*)(\|)z($type)([ \t]+)($id)z\(z\{insideBracez\s+z\)z($type)(\s+)($id)(\s*)(\))z\}z:|,z(?:(\w+)(::))?(\w+)z[ \t]+z(\[)(\w+)(\])z(\")?([\w.]+)(\")?z::
usingClassz(as)(\s+)(\w+)z#pop:2z[\w$]+facetFieldsz(\s*)(\w+)(\s*)(=))rN   rI   rO   N)/__name__
__module____qualname____doc__namealiases	filenames	mimetypesurlversion_addedr"   r   	MultilineSingleSpecialr   FloatHexIntegerr   Charr   r   Constantr   r   	NamespaceClassFunctionr   r   r   EscapeInterpolBacktickr
   BuiltinPseudor   r	   r   	Decoratorr   Variabler   Declarationtokens r#   r!   r   r      s         DgG	I'(I
"CM

 

 

Nw01''/*gn%
N 	0&98&A)6<8#VZ0FN+.<;,;,%w'782Xdnk4:!6;8 89 .Xdnk4:!4=2 23 wQ !!XeeD1117;;=wQ !!XeeD1117;;=)
N> 	fm$V]#V]#v'6?+;'6N
?NP 	fm$V]#V]#v'6?+;'6?#
QNb 	7A
cNh 	<gF
iNn 	H
oNv 	$&
wN~ 	U 7 @EUT T T 	
 $T\%89
NN 	DhO
ONT 	k*QvYY
#GFOO
UN` 	GJG())GN##G$%%GO$$GJGO$$GK  *G4dng.'':tz)R)R Q/00XeeD111:mZ; ;<
 Q !!XdmZ::< Q,--Xhz;GG
 Q#$$Xh..0 -Xgz4=*kRR#%
 Q ! " "XeeD111:mZ> >#	% Q+,,XeeD111:t} +/ /0 Q=>>XeeD111:t} +z55X;V;V;V!# #$ Q,--XeeD111:t} +/ /0
 Q&''XeeD111:m% %& K/K/Z 4LOH
aNr 	K(GFOO
sNz 	K(Q,--XeeD111:t} +/ /068 GFOO!
{NH 	K(GFOO
INP 	Z [!#Xdnk4:>>@K(
QN^ 	
#Xk7?K@@B"Xk4>;??AK.GFOO
_Nr 
#Xg):tzBBHN
#GH
 Z K/GFOO
 GJGJGK  Z "HHZz8$T$TUK(Z 4L	
IN N NFFFr#   N)rS   stringr   pygments.lexerr   r   r   r   r   r	   r
   pygments.tokenr   r   r   r   r   r   r   r   r   r   __all__r   rn   r#   r!   <module>rs      s<                          - - - - - - - - - - - - - - - - - - - - - - - - /f f f f f* f f f f fr#   