Your IP : 216.73.216.61
B
Ƚ�\�V � @ s� d Z ddlZddlmZmZmZmZmZmZm Z m
Z
mZ ddlm
Z
mZmZmZmZmZmZmZmZmZ ddlmZ dddgZe�d �Zd
ZG dd� de�ZG dd� de�ZG d
d� de�ZdS )z�
pygments.lexers.ruby
~~~~~~~~~~~~~~~~~~~~
Lexers for Ruby and related languages.
:copyright: Copyright 2006-2019 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>=z==z===c ) @ s@ e Zd ZdZdZdddgZdddd d
ddd
gZddgZej ej
B Zdd� Zdd� Z
dejfdejfdejfeddd�efdeeeej�fdeee�dfdedfdeee�dfed dd�ejfd!ejfed"d#d�ejfd$ejfed%d&dd'�ejfd(ejjfd)efd*efd+ejd,fd-eeej�d.fd/ejd.fd0eeej�d.fd1eej ee�fd2eej!ee�fd3eej"ee�fd4eej#ee�fd5ej$j%fd6ej$j&fd7ej$j'fd8ej$j'fd9ej$j'fd:efe(d;�d<ej)fd=ej*fee+d>d?�eeej�fd@eee�fdAefdBefdCefdDe,fdEefg(dFe,dGfdHeej%eej-�dIfe.dI�gdFe,dGfdJedIfdKej%dIfe.dI�gdLee,e�dIfdFedMfe(dN�gdOej/dMfdPej/dIfe(dN�gdQej/dRfdSej/fdTej/fge(dU�dVej0fge(dU�dWejfdXejfge(dU�dWej1fdXej1fge(dU�dYejfdZejfdWejfd[ejfd\ejdIfgd]ejdIfgd^�Z2e2�3e
� � d_d`� Z4daS )br z=
For `Ruby <http://www.ruby-lang.org>`_ source code.
ZRuby�rbZrubyZdubyz*.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�dk|�d�f� |� d�|_
|�d�|_x&| j|d�D ]\}}}|||fV q�W |�� |_
|�r�x�|D ]�\} }
g }x�t
�|j|j
�D ]�}| �r,|�� �� }n|�� �� }||
k�r�x$|D ]}
|
� � tj|
�� fV �qHW |� � tj|�� fV |�� |_
P n
|� |� �qW x"|D ]}
|
� � t|
�� fV �q�W q�W t|j�|_|d d �= d S ) N� � � � �heredocstackz<<-� )�context)�startr
�groupr ZHeredocZ Delimiter�__dict__�
setdefault�bool�append�pos�end�get_tokens_unprocessed�line_re�finditer�text�strip�rstripr �len)�self�match�ctxr- r* Z outermost�i�t�vZtolerantZhdname�lines�checkZamatch� rD �E/opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/ruby.py�heredoc_callback, s>