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�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 @ s� e Zd ZdZdZg d�Zg d�ZddgZej ej B Zdd� Zd d � Z g dejf�dejf�d ejf�eddd�ef�deeeej�f�deee�df�dedf�deee�df�eddd�ejf�dejf�eddd�ejf�dejf�edddd�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,ej$j%f�d-ej$j&f�d.ej$j'f�d/ej$j'f�d0ej$j'f�d1ef�e(d2��d3ej)f�d4ej*f�ee+d5d6�eeej�f�d7eee�f�d8ef�d9ef�d:ef�d;e,f�d<ef�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. �Ruby)�ruby�rb�duby) z*.rbz*.rbw�Rakefilez*.rakez *.gemspecz*.rbxz*.duby�Gemfile�Vagrantfileztext/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 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� � � � �heredocstack)z<<-z<<~� �d ��context)�startr �groupr �Heredoc� Delimiter�__dict__� setdefault�bool�append�pos�end�len�get_tokens_unprocessed�line_re�finditer�text�strip�rstripr )�self�match�ctxr8 r3 � outermost�tolerant�hdname�lines�check�amatch� rR �6/usr/lib/python3/dist-packages/pygments/lexers/ruby.py�heredoc_callback+ sF � ��zRubyLexer.heredoc_callbackc C s� dd� } dd� }i }dt jfttdd�t jfdt jfd t jd fdtt jt�fdt jd fdt jdfdt jdfg|d<