File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/__pycache__/crystal.cpython-310.pyc
Back
o ;j�= � @ sz d Z ddlZddlmZmZmZmZmZmZ ddl m Z mZmZm Z mZmZmZmZmZ dgZg d�ZG dd� de�ZdS )z� pygments.lexers.crystal ~~~~~~~~~~~~~~~~~~~~~~~ Lexer for Crystal. :copyright: Copyright 2006-present by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. � N)�ExtendedRegexLexer�include�bygroups�default�words�line_re) �Comment�Operator�Keyword�Name�String�Number�Punctuation�Error� Whitespace�CrystalLexer)z!=z!~�!�%z&&�&z**�*�+�-�/z<=>z<<z<=�<z===z==z=~�=z>=z>>�>z[]=z[]?z[]�^z||�|�~c @ s* e Zd ZdZdZdZddgZdgZdgZdZ e je jB Z d d � Zdd� Zg d ejf�ed�� dd�ef�ed�� ddd�ejf�dejf�eg d�dd�ejf�deeeej�f�deeeej�df�dedf�deeeej�df�ed�� ddd�ejf�dejjf�ed�� ddd�ejf�dejjf�d ef�d!ef�d"ejd#f�d$eeej�d%f�d&ejd%f�d'eeej�d%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.eej%ee!�f�d/ej&j'f�d0ej&j(f�d1ej&j)f�d2ej&j)f�d3ej&j)f�d4e!f�e*d5��d6ej+f�d7ejf�d8ej,d9f�d:ej,d;f�d<ee!eej-�d=f�ee.d>d?�ee!ej!�f�d@ee!e�f�dAef�dBe!f�dCe!f�dDe/f�dEef�dFeej'e!ej0�dGfe1dG�gdHej'fdIee/eej'ee/�fe1dG�gdJej,dKfdLej,dGfe*dM�gdNej,dOfgdPej2fge*dQ�e*dR�ge*dQ�dSejfdTejfge*dQ�dSej3fdTej3fge*dQ�dUejfdVejfdSejfdWejfdXejdGfgdYejdGfgd8ej,dKfdZej,dGfd[efe*dM�gd:ej,dKfd\ej,dGfe*dM�gd]e!dKfd^e!dGfe*dM�gd_�Z4e4�5e� � d`S )ar z" For Crystal source code. ZCrystalzhttps://crystal-lang.orgZcrZcrystalz*.crztext/x-crystalz2.2c 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 rm| j |d �E d H n|j tj|�d�fV |�� |_ |r�|D ]Z\}}g }t�|j|j �D ]<}|r�|�� �� } n|�� �� } | |kr�|D ] } | � � tj| �� fV q�|� � tj|�� fV |�� |_ n|� |� q�|D ]} | � � t| �� fV q�q�t|j�|_|d d �= d S d S ) N� � � � �heredocstackz<<-� �d )�context)�startr �groupr ZHeredocZ Delimiter�__dict__� setdefault�bool�append�pos�end�lenZget_tokens_unprocessedr �finditer�text�strip�rstripr )�self�match�ctxr'