o
    Rh'                     @   s~   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 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                    @   s  e Zd ZdZdZdgZdgZdgZdZdZ	d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d efd!efe
d"eeed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d0d1efgd2e#d3d4d4d5efd6ej$j%fgd7d8e&fgdd9efe
d:ejfe'd(gd;e(d
e(d*e(d,e(d.e(d0e(de(d2e(d7d<ejd=fd>ej)d?fd@eee*ejdAfe
dBeeedd e*ej+e*e&fe
dCeej+e*e&fe
dDee&eje*edEfe
dFee&ejfdGeee*eje*edHfe
dIeeedd e*eje*edHfe
dJeeedd e*ej+e*efe
dKeeedd e*ej+e*ee*eedd efe
dLeeedd e*ej+e*efe
dMeeedd e*ej+fdNedEfdOedPfdQe*fd)e,fgdEdRed(fe(d;gdHdRed(fe
dSeeedd e*ej+e*ed(fe(d;gdPdTed(fe(d;gdAdQe*fdUefdVeejeejfdOed(fgd=dWe*fdXeeejefdYeeejefdZed[fe'd(gdWe*fd\eej-e*ejd]fd^ejfe'd]gdQe*fdOed_fe'd(ge(d
e(de(d7dQe*fd`ee*ee*e&fdTed(fdQe*fd)e,fgdaZ.dbS )cr   z!
    For Fantom source code.
    Fantomfanz*.fanzapplication/x-fantomzhttps://www.fantom.orgz1.5c                 C   s   t | td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)str r   X/home/air/sanwanet/backup_V2/venv/lib/python3.10/site-packages/pygments/lexers/fantom.pys!   s   zFantomLexer.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*)(=))rK   rF   rL   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tokensr   r   r   r   r      s   (147;?
GJP


     %  )  0  : N)rP   stringr   pygments.lexerr   r   r   r   r   r   r	   pygments.tokenr
   r   r   r   r   r   r   r   r   r   __all__r   r   r   r   r   <module>   s    
$0