3

V'ícÕ'ã@s~dZddlmZddlmZmZmZmZmZm	Z	m
Z
ddlmZm
Z
mZmZmZmZmZmZmZmZdgZGdd„deƒZdS)zÏ
    pygments.lexers.fantom
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexer for the Fantom language.

    :copyright: Copyright 2006-2022 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šeZdZdZdZdgZdgZdgZdd„Zde	j
fd	e	jfd
e	jfde	jfgde
fd
e
fde
jfde
jfde
jfdejfdedfdedfdejfdeejeejeeeƒfdeejeejeejƒfdefedƒeeeddeƒfdefedƒeeeddeƒfgdejfd ejfd!ejfd"ejfd#ejfded$fd%efgdejfd ejfd!ejfd"ejfd#ejfded$fd%ej fgd&efgd'efgd(efgd)efge!dtd>d>d?efd@ej"j#fgdAe$fgdBefedCƒejfe%d$ƒge&dDƒe&dEƒe&dFƒe&dGƒe&dHƒe&dIƒe&dJƒe&dKƒdLejdMfdNej'dOfdPeee(ejƒdQfedRƒeeedde(ej)e(e$ƒfedSƒeej)e(e$ƒfedTƒee$eje(eƒdUfedVƒee$ejƒfdWeee(eje(eƒdXfedYƒeeedde(eje(eƒdXfedZƒeeedde(ej)e(eƒfed[ƒeeedde(ej)e(ee(eeddeƒfed\ƒeeedde(ej)e(eƒfed]ƒeeedde(ej)ƒfd^edUfd_ed`fdae(fd%e*fgdbed$fe&dcƒgdbed$feddƒeeedde(ej)e(eƒd$fe&dcƒgdeed$fe&dcƒgdae(fdfefdgeejeejƒfd_ed$fgdhe(fdieee	jeƒfdjeeejeƒfdkedlfe%d$ƒgdhe(fdmeej+e(ejƒdnfdoejfe%dnƒgdae(fd_edpfe%d$ƒge&dDƒe&dIƒe&dKƒdae(fdqee(ee(e$ƒfdeed$fdae(fd%e*fgdrœZ,dsS)urz<
    For Fantom source code.

    .. versionadded:: 1.5
    ZFantomZfanz*.fanzapplication/x-fantomcCst|ƒjtdddddƒS)Nz	[\"\w\.]+z\n|;z[a-zA-Z_]\w*z#(?:\[|[a-zA-Z_]|\|)[:\w\[\]|\->?]*?)ZpodZeosÚidÚtype)rÚ
substituteÚdict)Ústr©rú:/tmp/pip-build-gk9425m9/Pygments/pygments/lexers/fantom.pyÚs!sz
FantomLexer.sz
(?s)/\*.*?\*/z//.*?$z\*\*.*?$z#.*$z \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Ú.z'\b(public|protected|private|internal)\bz,\b(abstract|final|const|native|facet|enum)\bz8\b(abstract|native|once|override|static|virtual|final)\bzB\b(abstract|const|final|native|override|static|virtual|readonly)\bÚ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)\bz4\+\+|\-\-|\+|\-|\*|/|\|\||&&|<=>|<=|<|>=|>|=|!|\[|\]z[\[\]|\->:?]z$idÚcommentsÚprotectionKeywordsÚtypeKeywordsÚmethodKeywordsÚ
fieldKeywordsÚliteralsÚ
otherKeywordsÚ	operatorszusing\brz@\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\)Úrootz($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*)(=))r9r>rr r:r;r<r=r?r@r!rFrCrDrErBrrGrArHN)r$r%r&r'r(r)r*r+r,r-r.r/r0rr1r2r3r4r5r6)-Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesrrZ	MultilineÚSingleÚSpecialrZFloatZHexZIntegerrZCharrr
ÚConstantrrÚ	NamespaceZClassZFunctionrrrZEscapeZInterpolZBacktickr	ZBuiltinZPseudorrrZ	DecoratorrÚVariabler
ZDeclarationÚtokensrrrrrs 









N)rLÚstringrZpygments.lexerrrrrrrr	Zpygments.tokenr
rrr
rrrrrrÚ__all__rrrrrÚ<module>	s
$0