B
    `&                 @   sz   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 dgZG dd deZdS )z
    pygments.lexers.fantom
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexer for the Fantom language.

    :copyright: Copyright 2006-2021 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FantomLexerc            )   @   s  e Zd ZdZdZdgZdgZdgZdd Zde	j
fd	e	jfd
e	jfde	jfg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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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&efgd'efgd(efgd)efge!d*d+d+d,efd-ej"j#fgd.e$fgd/efed0ejfe%d$ge&d1e&d2e&d3e&d4e&d5e&d6e&d7e&d8d9ejd:fd;ej'd<fd=eee(ejd>fed?eeedde(ej)e(e$fed@eej)e(e$fedAee$eje(edBfedCee$ejfdDeee(eje(edEfedFeeedde(eje(edEfedGeeedde(ej)e(efedHeeedde(ej)e(ee(eeddefedIeeedde(ej)e(efedJeeedde(ej)fdKedBfdLedMfd%e(fgdNed$fe&dOgdNed$fedPeeedde(ej)e(ed$fe&dOgdQed$fe&dOgdRe(fdSefdTeejeejfdLed$fgdUe(fdVeee	jefdWeeejefdXedYfe%d$gdUe(fdZeej*e(ejd[fd\ejfe%d[gdRe(fdLed]fe%d$ge&d1e&d6e&d8dRe(fd^ee(ee(e$fdQed$fd%e(fgd_Z+d`S )ar   z<
    For Fantom source code.

    .. versionadded:: 1.5
    ZFantomZfanz*.fanzapplication/x-fantomc             C   s   t | tdddddS )Nz	[\"\w\.]+z\n|;z[a-zA-Z_]\w*z#(?:\[|[a-zA-Z_]|\|)[:\w\[\]|\->?]*?)ZpodZeosidtype)r   
substitutedict)str r   ^/home/kop/projects/devel/pgwui/test_venv/lib/python3.7/site-packages/pygments/lexers/fantom.pys!   s    zFantomLexer.sz(?s)/\*.*?\*/z//.*?\nz	\*\*.*?\nz#.*\nz \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)tryZcatchthrowfinallyforifelsewhileasisZisnotswitchZ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	operatorsz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\)rootz($type)(\s+)($id)(\s*)(\))z\}z\s+z:|,z(?:(\w+)(::))?(\w+)z[ \t]+z(\[)(\w+)(\])z(\")?([\w.]+)(\")?z::
usingClassz(as)(\s+)(\w+)z#pop:2z[\w$]+facetFieldsz(\s*)(\w+)(\s*)(=))r5   r:   r   r   r6   r7   r8   r9   r;   r<   r    rB   r?   r@   rA   r>   r   rC   r=   rD   N),__name__
__module____qualname____doc__namealiases	filenames	mimetypesr   r   Z	MultilineSingleSpecialr   ZFloatZHexZIntegerr   Charr   r   ZConstantr   r   	NamespaceZClassZFunctionr   r   r   ZEscapeZInterpolZBacktickr	   ZBuiltinZPseudor   r   r   Z	Decoratorr
   VariableZDeclarationtokensr   r   r   r   r      s  








N)rH   stringr   Zpygments.lexerr   r   r   r   r   r   r	   Zpygments.tokenr
   r   r   r   r   r   r   r   r   __all__r   r   r   r   r   <module>	   s
   $,