| Server IP : 127.0.0.1 / Your IP : 216.73.216.109 Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10 System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64 User : SERVERWEB ( 0) PHP Version : 8.1.10 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/cygwin64/lib/python3.9/site-packages/pygments/lexers/__pycache__/ |
Upload File : |
a
SҼaC= � @ s� d Z ddlZddlmZmZmZmZmZmZ ddl m
Z
mZmZm
Z
mZmZmZmZmZ dgZe�d�Zg d�ZG dd� 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�LexerContext�words) �Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�Error�CrystalLexerz.*?
)z!=z!~�!�%z&&�&z**�*�+�-�/z<=>z<<z<=�<z===z==z=~�=z>=z>>�>z[]=z[]?z[]�^z||�|�~c . @ s� e Zd ZdZdZddgZdgZdgZej ej
B Zdd� Zd d
� Z
dejfed�� d
d�efed�� dd
d�ejfdejfeg d�d
d�ejfdeeeej�fdeeeej�dfdedfdeeeej�dfed�� dd
d�ejfdejjfed�� dd
d�ejfdejjfdefdefd ejd!fd"eeej�d#fd$ejd#fd%eeej�d#fd&eejee�fd'eej ee�fd(eej!ee�fd)eej"ee�fd*eej"ee�fd+eej"ee�fd,eej#ee�fd-ej$j%fd.ej$j&fd/ej$j'fd0ej$j'fd1ej$j'fd2efe(d3�d4ej)fd5ejfd6ej*d7fd8ej*d9fd:eeeej+�d;fee,d<d=�eeej�fd>eee�fd?efd@efdAefdBe-fdCefg-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 )_r zZ
For `Crystal <http://crystal-lang.org>`_ source code.
.. versionadded:: 2.2
ZCrystalZcrZcrystalz*.crztext/x-crystalc c s� |� 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|�dk r�| j
|d �E d H n|j
tj|�d�fV |�� |_
|�r�|D ]�\}}g }t�|j|j
�D ]�}|�r6|�� �� } n|�� �� } | |k�r�|D ]}
|
� � tj|
�� fV �qP|� � tj|�� fV |�� |_
�qn
|� |� �q|D ]}
|
� � t|
�� fV �q��qt|j�|_|d d �= d S )
N� � � � �heredocstackz<<-� �d )�context)�startr
�groupr
ZHeredocZ Delimiter�__dict__�
setdefault�bool�append�pos�end�lenZget_tokens_unprocessed�line_re�finditer�text�strip�rstripr )�self�match�ctxr'