File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/__pycache__/ruby.cpython-310.pyc
Back
o ;j�X � @ s� d Z ddlZddlmZmZmZmZmZmZm Z m Z mZmZ ddl mZmZmZmZmZmZmZmZmZmZmZ ddlmZ g d�ZdZG dd � d e�ZG d d� de�ZG dd � d e�ZdS )z� pygments.lexers.ruby ~~~~~~~~~~~~~~~~~~~~ Lexers for Ruby and related languages. :copyright: Copyright 2006-present by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. � N) �Lexer� RegexLexer�ExtendedRegexLexer�include�bygroups�default�LexerContext� do_insertions�words�line_re)�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�Error�Generic� Whitespace��shebang_matches)� RubyLexer�RubyConsoleLexer� FancyLexer)�*z**�-�+z-@z+@�/�%�&�|�^�`�~z[]z[]=�<<z>>�<�<>z<=>�>z>=z==z===c @ s� e Zd ZdZdZdZg d�Zg d�ZddgZdZ e je jB Z d d � Zdd� Zg d ejf�dejf�dejf�eddd�ef�deeeej�f�deee�df�dedf�deee�df�eddd�ejf�dejf�eddd�ejf�dejf�edddd �ejf�d!ejjf�d"ef�d#ef�d$ejd%f�d&eee j!�d'f�d(e j!d'f�d)eee j!�d'f�d*ee"j#ee�f�d+ee"j$ee�f�d,ee"j%ee�f�d-ee"j&ee�f�d.ej'j(f�d/ej'j)f�d0ej'j*f�d1ej'j*f�d2ej'j*f�d3ef�e+d4��d5e j,f�d6ej-f�ee.d7d8�eeej�f�d9eee�f�d:ef�d;ef�d<ef�d=e/f�d>ef�d?e/d@fdAeej(eej0�dBfe1dB�gd?e/d@fdCedBfdDej(dBfe1dB�gdEee/e�dBfd?edFfe+dG�gdHe j2dFfdIe j2dBfe+dG�gdJe j2dKfdLe j2fdMe j2fge+dN�dOe j3fge+dN�dPe j!fdQe j!fge+dN�dPe j4fdQe j4fge+dN�dRe j!fdSe j!fdPe j!fdTe j!fdUe j!dBfgdVejdBfgdW�Z5e5�6e� � dXdY� Z7dZS )[r z For Ruby source code. ZRubyzhttp://www.ruby-lang.org)Zruby�rbZduby) z*.rbz*.rbwZRakefilez*.rakez *.gemspecz*.rbxz*.dubyZGemfileZVagrantfileztext/x-rubyzapplication/x-ruby� c 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 ZHeredocZ Delimiter�__dict__� setdefault�bool�append�pos�end�len�get_tokens_unprocessedr �finditer�text�strip�rstripr )�self�match�ctxr5 r0 Z outermostZtolerantZhdname�lines�checkZamatch� rH �H/opt/saltstack/salt/lib/python3.10/site-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<