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 : |
o ���a�= � @ s� d Z ddlZddlmZmZmZmZmZ ddlm Z 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�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" e Zd ZdZdZddgZdgZdgZej ej B Zdd� Zd d � Z g dejf�ed�� d d�ef�ed�� dd d�ejf�dejf�eg d�d d�ejf�deeeej�f�deeeej�df�dedf�deeeej�df�ed�� dd d�ejf�dejjf�ed�� dd d�ejf�dejjf�def�def�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 )_r zZ For `Crystal <http://crystal-lang.org>`_ source code. .. versionadded:: 2.2 �Crystal�cr�crystalz*.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 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 �Heredoc� Delimiter�__dict__� setdefault�bool�append�pos�end�len�get_tokens_unprocessed�line_re�finditer�text�strip�rstripr )�self�match�ctxr* r&