https://t.me/RX1948
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/pygments/lexers/__pycache__/ruby.cpython-310.pyc
o

���a�X�@s�dZddlZddlmZmZmZmZmZmZm	Z	m
Z
mZddlm
Z
mZmZmZmZmZmZmZmZmZddlmZgd�Ze�d�ZdZGd	d
�d
e�ZGdd�de�ZGd
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�eZdZdZdZgd�Zgd�ZddgZej	ej
BZdd�Zd	d
�Z
gdejf�dejf�d
ejf�eddd�ef�deeeej�f�deee�df�dedf�deee�df�eddd�ejf�dejf�eddd�ejf�dejf�edddd�ejf�dejjf�d ef�d!ef�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)Yrz=
    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-rubyccs��|�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|�dkrm|j
|d	�EdHn|j
tj|�d�fV|��|_
|r�|D]Z\}}g}t�|j|j
�D]<}|r�|����}	n|����}	|	|kr�|D]
}
|
��tj|
��fVq�|��tj|��fV|��|_
n|�	|�q�|D]}
|
��t|
��fVq�q�t|j�|_|dd�=dSdS)
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�ctxr8r3�	outermost�tolerant�hdname�lines�check�amatch�rR�6/usr/lib/python3/dist-packages/pygments/lexers/ruby.py�heredoc_callback+sF�



��zRubyLexer.heredoc_callbackc	Cs�dd�}dd�}i}dtjfttdd�tjfdtjfd	tjd
fdttjt�fdtjd
fdtjdfdtjdfg|d<dtjdfdtjdfdtjdfdtjdffD]\}}}t	d�d||fd|f||dfg|d|<qOdD]�\}}}}d|dtj
f|tj
d f|tj
dft	d�d!|dtj
fd"|d#tj
fg||d$<|d�d%|tj
|d$f�d|dtj
f|tj
d f|tj
dfd!|dtj
fd"|d#tj
fg||d&<|d�d'|tj
|d&f�d|dtjf|tjd f|d(tjdft	d)�d!|dtjfd"|d#tjfg||d*<|d�d+|tj|d*f�ql|dd,|fd-tj
fd.|fd/tt
tj
d�fd0tt
tj
d�fd1|fg7<|S)2Ncs��|�d�tj|�d�fVt|�d�ddg�}|j|d�D]\}}}|�d�|||fVq|�d�tj|�d�fV|��|_dS)Nr/r1r�interpolated-regexr6r2)r8r�Regexr9rrCrAr@�rIrJrK�nctx�i�t�vrRrRrS�intp_regex_callback[��z<RubyLexer.gen_rubystrings_rules.<locals>.intp_regex_callbackcsrU)Nr/r1r�interpolated-stringr6r2)r8r�Otherr9rrCrAr@rXrRrRrS�intp_string_callbackcr^z=RubyLexer.gen_rubystrings_rules.<locals>.intp_string_callbackz\:@{0,2}[a-zA-Z_]\w*[!?]?z\:@{0,2}��prefixz:'(\\\\|\\[^\\]|[^'\\])*'z:"z
simple-symz([a-zA-Z_]\w*)(:)(?!:)�"zsimple-string-double�'zsimple-string-singlez(?<!\.)`zsimple-backtick�stringsz
string-doublez
string-single�sym�backtickr"�string-intp-escapedz	[^\\%s#]+�[\\#]�#popzsimple-))�\{�\}z{}�cb)z\[z\]z\[\]�sb)�\(z\)z()�pa)r%r'r&�abz\\[\\�]�#pushz[\\#z[^\\#z]+z-intp-stringz%[QWx]?z-stringz%[qsw]z[mixounse]*�string-intpz-regexz%rz-(%r([\W_]))((?:\\\2|(?!\2).)*)(\2[mixounse]*)z"%[qsw]([\W_])((?:\\\1|(?!\1).)*)\1z&(%[QWx]([\W_]))((?:\\\2|(?!\2).)*)(\2)z<(?<=[-+/*%=<>&!^|~,(])(\s*)(%([\t ])(?:(?:\\\3|(?!\3).)*)\3)z'^(\s*)(%([\t ])(?:(?:\\\3|(?!\3).)*)\3)z*(%([^a-zA-Z0-9\s]))((?:\\\2|(?!\2).)*)(\2))r�Symbolr
�RUBY_OPERATORSrr�Double�Single�Backtickrr`r?rWr)	r]ra�states�name�ttyperA�lbrace�rbrace�braceccrRrRrS�gen_rubystrings_rulesZs�

�


�



�
�	�

��

��
��������zRubyLexer.gen_rubystrings_rulesz\A#!.+?$z#.*?$z=begin\s.*?\n=end.*?$)�BEGIN�END�alias�begin�break�casezdefined?�do�else�elsifrA�ensure�for�if�in�next�redo�rescue�raise�retry�return�super�then�undef�unless�until�when�while�yield�\b��suffixz.(module)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)z
(def)(\s+)�funcnamezdef(?=[*%&^`~+-/\[<>=])z(class)(\s+)�	classname)�
initialize�new�loopr�extendr��attr_reader�attr_writer�
attr_accessor�attr�catch�throw�private�module_function�public�	protected�true�false�nilz(not|and|or)\b)�autoload�block_given�
const_defined�eql�equal�frozenr�instance_of�is_a�iterator�kind_of�method_definedr��private_method_defined�protected_method_defined�public_method_defined�
respond_to�taintedz\?z(chomp|chop|exit|gsub|sub)!)e�Array�Float�Integerr�__id__�__send__�abort�	ancestors�at_exitr��binding�callcc�callerr��chomp�chop�
class_eval�class_variables�clonezconst_defined?�	const_get�
const_missing�	const_set�	constants�display�dup�eval�exec�exitr��fail�fork�format�freeze�getc�gets�global_variables�gsub�hash�id�included_modules�inspect�
instance_eval�instance_method�instance_methods�instance_variable_get�instance_variable_set�instance_variables�lambda�load�local_variablesr��method�method_missing�methods�module_evalr|�	object_id�open�p�print�printf�private_class_method�private_instance_methods�private_methods�proc�protected_instance_methods�protected_methods�public_class_method�public_instance_methods�public_methods�putc�putsr��rand�readline�	readlines�require�scan�selectrI�send�set_trace_func�singleton_methods�sleep�split�sprintf�srand�sub�syscall�system�taint�testr��to_a�to_s�	trace_var�trap�untaint�untrace_var�warnz(?<!\.))rcr�z__(FILE|LINE)__\bz2(?<!\w)(<<[-~]?)(["`\']?)([a-zA-Z_]\w*)(\2)(.*?\n)z(<<[-~]?)("|\')()(\2)(.*?\n)�__END__�end-partab(?:^|(?<=[=<>~!:])|(?<=(?:\s|;)when\s)|(?<=(?:\s|;)or\s)|(?<=(?:\s|;)and\s)|(?<=\.index\s)|(?<=\.scan\s)|(?<=\.sub\s)|(?<=\.sub!\s)|(?<=\.gsub\s)|(?<=\.gsub!\s)|(?<=\.match\s)|(?<=(?:\s|;)if\s)|(?<=(?:\s|;)elsif\s)|(?<=^when\s)|(?<=^index\s)|(?<=^scan\s)|(?<=^sub\s)|(?<=^gsub\s)|(?<=^sub!\s)|(?<=^gsub!\s)|(?<=^match\s)|(?<=^if\s)|(?<=^elsif\s))(\s*)(/)�multiline-regexz
(?<=\(|,|\[)/z(\s+)(/)(?![\s=])z#(0_?[0-7]+(?:_[0-7]+)*)(\s*)([/?])?z.(0x[0-9A-Fa-f]+(?:_[0-9A-Fa-f]+)*)(\s*)([/?])?z (0b[01]+(?:_[01]+)*)(\s*)([/?])?�([\d]+(?:_\d+)*)(\s*)([/?])?�@@[a-zA-Z_]\w*�
@[a-zA-Z_]\w*z\$\w+z\$[!@&`\'+~=/\\,;.<>_*$?:"^-]z\$-[0adFiIlpvw]z::rfzI\?(\\[MC]-)*(\\([\\abefnrstv#"\']|x[a-fA-F0-9]{1,2}|[0-7]{1,3})|\S)(?!\w)z[A-Z]\w+z(\.|::)rbz,(\.|::)([a-zA-Z_]\w*[!?]?|[*%&^`~+\-/\[<>=])z[a-zA-Z_]\w*[!?]?z:(\[|\]|\*\*|<<?|>>?|>=|<=|<=>|=~|={3}|!~|&&?|\|\||\.{1,3})z[-+/*%=<>&!^|~]=?z
[(){};,/?:\\]�\s+rp�defexprz�(?:([a-zA-Z_]\w*)(\.))?([a-zA-Z\u0080-\uffff][a-zA-Z0-9_\u0080-\uffff]*[!?=]?|!=|!~|=~|\*\*?|[-+!~]@?|[/%&|^]|<=>|<[<=]?|>[>=]?|===?|\[\]=?|`)rkr$z	[A-Z_]\w*z(\))(\.|::)?rt�rootrlrmz#\{�in-intpz#@@?[a-zA-Z_]\w*z#\$[a-zA-Z_]\w*ruz2\\([\\abefnrstv#"\']|x[a-fA-F0-9]{1,2}|[0-7]{1,3})rjz[^\\#]+z\\\\z\\/z[^\\/#]+z/[mixounse]*z.+)r&r�r�r%r'rurirVr_r rcCs
t|d�S)Nzruby(1\.\d)?r)rFrRrRrS�analyse_text�s
zRubyLexer.analyse_textN)5�__name__�
__module__�__qualname__�__doc__r|�aliases�	filenames�	mimetypes�re�DOTALL�	MULTILINE�flagsrTr�r�Hashbangry�	Multiliner
rrrr�	Namespace�Pseudor
�Word�Builtin�PreprocrrWr�Oct�Hex�Binr��Variable�Class�Instance�Globalr�Char�Constantrwr�Functionr�Interpol�Escaper`�tokens�updater(rRrRrRrSrs~/h������������������ �!���
8�:��=�
>�@��
Y�[��e��g��i��k��
n�
o�
p�
q�
r�s�t�v��z�
}
���������������
��

��

�
�����
�
	���Frc@s4eZdZdZdZddgZdgZe�d�Z	dd�Z
d	S)
rz�
    For Ruby interactive console (**irb**) output like:

    .. sourcecode:: rbcon

        irb(main):001:0> a = 1
        => 1
        irb(main):002:0> puts a
        1
        => nil
    zRuby irb session�rbcon�irbztext/x-ruby-shellsessionz.irb\([a-zA-Z_]\w*\):\d{3}:\d+[>*"\'] |>> |\?> c		cs��tdi|j��}d}g}t�|�D]I}|��}|j�|�}|durA|��}|�t	|�dt
j|d|�fgf�|||d�7}q|rRt||�
|��EdHd}g}|��t
j|fVq|rkt||�
|��EdHdSdS)N�rrR)r�optionsrDrEr9�
_prompt_rerJrAr?rBr�Promptr	rCr8�Output)	rIrF�rblexer�curcode�
insertionsrJ�line�mrArRrRrSrC�s2�
�

�
��z'RubyConsoleLexer.get_tokens_unprocessedN)r)r*r+r,r|r-r/r0�compilerMrCrRrRrRrSr�s
rc@s�eZdZdZdZddgZddgZdgZdej	d	fd
ej	d	fdej	d	fdej	d	fd
ej	d	fdej	d	fdej	d	fdej	d	fdej	d	fdej	d	fg
de
fdej	dfdej	dfdej	dfdej	dfdej	fdej	dfdejfdej
fdefdefdefd ejfd!efed"d#d$�ejfd%ejfd&efd'ejfd(ejjfd)ejjfd*efd+efd,eeje
e�fd-eeje
e�fd.eeje
e�fd/eeje
e�fd0ejfd1ejfgd2�Z d3S)4ra
    Pygments Lexer For `Fancy <http://www.fancy-lang.org/>`_.

    Fancy is a self-hosted, pure object-oriented, dynamic,
    class-based, concurrent general-purpose programming language
    running on Rubinius, the Ruby VM.

    .. versionadded:: 1.5
    �Fancyz*.fyz*.fancypack�fancy�fyztext/x-fancysrcz"/(\\\\|\\[^\\]|[^/\\])*/[egimosx]*rkz"!(\\\\|\\[^\\]|[^!\\])*![egimosx]*z\\(\\\\|[^\\])*\\[egimosx]*z$\{(\\\\|\\[^\\]|[^}\\])*\}[egimosx]*z"<(\\\\|\\[^\\]|[^>\\])*>[egimosx]*z%\[(\\\\|\\[^\\]|[^\]\\])*\][egimosx]*z$\((\\\\|\\[^\\]|[^)\\])*\)[egimosx]*z"@(\\\\|\\[^\\]|[^@\\])*@[egimosx]*z"%(\\\\|\\[^\\]|[^%\\])*%[egimosx]*z$\$(\\\\|\\[^\\]|[^$\\])*\$[egimosx]*r$zs\{(\\\\|\\[^\\]|[^}\\])*\}\s*�balanced-regexzs<(\\\\|\\[^\\]|[^>\\])*>\s*zs\[(\\\\|\\[^\\]|[^\]\\])*\]\s*zs\((\\\\|\\[^\\]|[^)\\])*\)\s*z&m?/(\\\\|\\[^\\]|[^///\n])*/[gcimosx]*zm(?=[/!\\{<\[(@%$])z#(.*?)\nz\'([^\'\s\[\](){}]+|\[\])z"""(\\\\|\\[^\\]|[^\\])*?"""z"(\\\\|\\[^\\]|[^"\\])*"zJ(def|class|try|catch|finally|retry|return|return_local|match|case|->|=>)\bz(self|super|nil|false|true)\bz[(){};,/?|:\\])�Objectr��Hash�	Directory�Filer?rr�
Enumerable�FancyEnumerable�Block�	TrueClass�NilClass�
FalseClass�Tuplerv�Stack�Set�	FancySpec�Method�Package�Ranger�r�z[a-zA-Z](\w|[-+?!=*/^><%])*:z[-+*/~,<>=&!?%^\[\].$]+z[A-Z]\w*r#r"z@@?z[a-zA-Z_]\w*z&(0[oO]?[0-7]+(?:_[0-7]+)*)(\s*)([/?])?z1(0[xX][0-9A-Fa-f]+(?:_[0-9A-Fa-f]+)*)(\s*)([/?])?z#(0[bB][01]+(?:_[01]+)*)(\s*)([/?])?r!z/\d+([eE][+-]?[0-9]+)|\d+\.\d+([eE][+-]?[0-9]+)?z\d+)rYr&N)!r)r*r+r,r|r.r-r/rrWrrryrvrrrCrr
r9rDr
r>r@r?rrr;r<r=r�r�rGrRrRrRrSr�sz	









�




���

�����
�r) r,r0�pygments.lexerrrrrrrrr	r
�pygments.tokenrrr
rrrrrrr�
pygments.utilr�__all__rUrDrwrrrrRrRrRrS�<module>s
,0
p,

https://t.me/RX1948 - 2025