| 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Ҽa}X � @ s� d Z ddlZddlmZmZmZmZmZmZm Z m
Z
mZ ddlm
Z
mZmZmZmZmZmZmZmZmZ ddlmZ g d�Ze�d�ZdZG d d
� d
e�ZG dd� de�ZG d
d� de�ZdS )z�
pygments.lexers.ruby
~~~~~~~~~~~~~~~~~~~~
Lexers for Ruby and related languages.
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N) �Lexer�
RegexLexer�ExtendedRegexLexer�include�bygroups�default�LexerContext�
do_insertions�words)
�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�Error�Generic��shebang_matches)� RubyLexer�RubyConsoleLexer�
FancyLexerz.*?
)�*z**�-�+z-@z+@�/�%�&�|�^�`�~z[]z[]=�<<z>>�<�<>z<=>�>z>=z==z===c ) @ s2 e Zd ZdZdZg d�Zg d�ZddgZej ej
B Zdd� Zd d
� Z
dejfdejfd
ejfeddd�efdeeeej�fdeee�dfdedfdeee�dfeddd�ejfdejfeddd�ejfdejfedddd�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,ej$j%fd-ej$j&fd.ej$j'fd/ej$j'fd0ej$j'fd1efe(d2�d3ej)fd4ej*fee+d5d6�eeej�fd7eee�fd8efd9efd:efd;e,fd<efg(d=e,d>fd?eej%eej-�d@fe.d@�gd=e,d>fdAed@fdBej%d@fe.d@�gdCee,e�d@fd=edDfe(dE�gdFej/dDfdGej/d@fe(dE�gdHej/dIfdJej/fdKej/fge(dL�dMej0fge(dL�dNejfdOejfge(dL�dNej1fdOej1fge(dL�dPejfdQejfdNejfdRejfdSejd@fgdTejd@fgdU�Z2e2�3e
� � dVdW� Z4dXS )Yr z=
For `Ruby <http://www.ruby-lang.org>`_ source code.
ZRuby)Zruby�rbZduby)z*.rbz*.rbwZRakefilez*.rakez *.gemspecz*.rbxz*.dubyZGemfileztext/x-rubyzapplication/x-rubyc c s� |� d�}|t|�d�fV |� d�tj|�d�fV |� d�tj|�d�fV |� d�tj|�d�fV |j�dg �}t|� }|� |�d�dv |�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� � � � �heredocstack)z<<-z<<~� �d ��context)�startr
�groupr ZHeredocZ Delimiter�__dict__�
setdefault�bool�append�pos�end�len�get_tokens_unprocessed�line_re�finditer�text�strip�rstripr )�self�match�ctxr2 r- Z outermostZtolerantZhdname�lines�checkZamatch� rF �8/usr/lib/python3.9/site-packages/pygments/lexers/ruby.py�heredoc_callback+ s@
zRubyLexer.heredoc_callbackc C s� dd� } dd� }i }dt jfttdd�t jfdt jfd t jd
fdtt jt�fdt jd
fdt jdfdt jdfg|d<