Файловый менеджер - Редактировать - /opt/imh-python/lib/python3.9/site-packages/pygments/lexers/__pycache__/crystal.cpython-39.pyc
Ðазад
a a�h�= � @ 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-2025 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� Zd ejfed�� dd�efed�� ddd�ejfdejfeg d�dd�ejfdeeeej�fdeeeej�dfdedfdeeeej�dfed�� ddd�ejfdejjfed�� ddd�ejfdejjfd efd!efd"ejd#fd$eeej�d%fd&ejd%fd'eeej�d%fd(eej ee!�fd)eej"ee!�fd*eej#ee!�fd+eej$ee!�fd,eej$ee!�fd-eej$ee!�fd.eej%ee!�fd/ej&j'fd0ej&j(fd1ej&j)fd2ej&j)fd3ej&j)fd4e!fe*d5�d6ej+fd7ejfd8ej,d9fd:ej,d;fd<ee!eej-�d=fee.d>d?�ee!ej!�fd@ee!e�fdAefdBe!fdCe!fdDe/fdEefg-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. �Crystalzhttps://crystal-lang.org�cr�crystalz*.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 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 �Heredoc� Delimiter�__dict__� setdefault�bool�append�pos�end�len�get_tokens_unprocessedr �finditer�text�strip�rstripr )�self�match�ctxr* r&