HOME


Mini Shell 1.0
DIR: /usr/lib/python3/dist-packages/pygments/lexers/__pycache__/
Upload File :
Current File : //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/textedit.cpython-312.pyc
�

|�e����dZddlZddlmZddlmZmZmZmZmZm	Z	ddl
mZddlm
Z
mZmZmZmZmZmZmZmZgd�ZGd�d	e�ZGd
�de�ZGd�d
e�Zy)z�
    pygments.lexers.textedit
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for languages related to text processing.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�bisect)�
RegexLexer�bygroups�default�include�this�using)�PythonLexer)	�Comment�Keyword�Name�Number�Operator�Punctuation�String�Text�
Whitespace)�AwkLexer�SedLexer�VimLexerc��eZdZdZdZgd�ZdgZdgZdefde	jfged�d	ejd
fdedfed
�gd
ed
fgdedfed�dedfdedfdefdedfdej$dfdej&fdej*fdej,fdej0fdej2fdej4fdej6fdejfgd�Zy)rz5
    For Awk scripts.

    .. versionadded:: 1.5
    �Awk)�awk�gawk�mawk�nawkz*.awkzapplication/x-awk�\s+�#.*$�commentsandwhitespacez(/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/\B�#popz(?=/))r �badregexz\nz	^(?=\s|/)�slashstartsregexz3\+\+|--|\|\||&&|in\b|\$|!?~|(\*\*|[-<>+*%\^/!=|])=?z[{(\[;,]z[})\].]z3(break|continue|do|while|exit|for|if|else|return)\bz
function\bz�(atan2|cos|exp|int|log|rand|sin|sqrt|srand|gensub|gsub|index|length|match|split|sprintf|sub|substr|tolower|toupper|close|fflush|getline|next|nextfile|print|printf|strftime|systime|delete|system)\bz�(ARGC|ARGIND|ARGV|BEGIN|CONVFMT|ENVIRON|END|ERRNO|FIELDWIDTHS|FILENAME|FNR|FS|IGNORECASE|NF|NR|OFMT|OFS|ORFS|RLENGTH|RS|RSTART|RT|SUBSEP)\bz
[$a-zA-Z_]\w*z%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?z0x[0-9a-fA-F]+�[0-9]+z"(\\\\|\\[^\\]|[^"\\])*"z'(\\\\|\\[^\\]|[^'\\])*')rr"r!�rootN)�__name__�
__module__�__qualname__�__doc__�name�aliases�	filenames�	mimetypesrr�Singlerr�Regexrrrr�Declaration�Reservedr
�Builtin�Otherr�Float�Hex�Integer�Double�tokens���:/usr/lib/python3/dist-packages/pygments/lexers/textedit.pyrrsY����D�-�G��	�I�$�%�I��T�N�
�g�n�n�%�"
�

�+�,���L�L�&�
*�
�t�1�2��F�O�
��D�&�!�
��4�!3�4��+�,�(�)1�3E�
G�
�+�'9�:�
��%��"�$6�
8�
�G�/�/�1C�D�!�#*�"2�"2�
4�$�%)�\�\�
3��t�z�z�*�
5�v�|�|�D�
��
�
�+�
����'�
(�&�-�-�8�
(�&�-�-�8�-
�'�Fr9rc�:�eZdZdZdZgd�ZddgZdgZejZ
dZdd	efd
e
jfdej fdefd
efdefdeeej�fdeeej,�fdeeej �fdezdzeeej.e�fdezdzeedej.e�fdezdzezdzeeeejeeje�fdezdzezdzeeeej.eejee�fg
iZy)rz%
    Lexer for Sed script files.
    �Sed)�sed�gsed�ssedz*.sedz	*.[gs]sedz
text/x-sedz.((?:(?:\\[^\n]|[^\\])*?\\\n)*?(?:\\.|[^\\])*?)r$rrr#z\$z[{};,!]z[dDFgGhHlnNpPqQxz=]z([berRtTvwW:])([^;\n]*)z"([aci])((?:.*?\\\n)*(?:.*?[^\\]$))z([qQ])([0-9]*)z(/)z(\\(.))z(\2)Nz(y)(.)z(s)(.)z(\2)((?:[gpeIiMm]|[0-9])*))r%r&r'r(r)r*r+r,�re�	MULTILINE�flags�_inside_delimsrrr-rr5rrrrrr6r.r7r8r9r:rrLsq����D�%�G��+�&�I���I��L�L�E�G�N�	�
�Z� �
�g�n�n�%�
����'�
�H��
��%�
#�W�-�
'��'�6�=�=�)I�J�
2�H�W�f�m�m�4T�U�
���&�.�.� A�B�
�n�
$�v�
-�x��V�\�\�S^�/_�`�
�.�
(�7�
2�
�k�4����{�
C�
E�
��
'�'�
1�N�
B�W�
L�
�g�{�F�M�M�;��
�
�Wb�
c�
e�
��
'�'�
1�N�
B�Eb�
b�
�g�{�F�L�L�+�v�}�}�Va���
 �
��Fr9rc��eZdZdZdZdgZgd�ZdgZejZ
dZddezd	zee
e�eeeeee
e�e�fdezd
zee
e�eee
e��fdefdefd
ej*fdej,fdej.fdefdefdej2fdefdefdefdej8fdej:fdefgiZd�Zd�Z d�Z!y)rzA
    Lexer for VimL script files.

    .. versionadded:: 0.8
    �VimL�vim)	z*.vimz.vimrcz.exrcz.gvimrc�_vimrc�_exrc�_gvimrc�vimrc�gvimrcz
text/x-vimzpy(?:t(?:h(?:o(?:n)?)?)?)?r$z^([ \t:]*)(z()([ \t]*)(<<)([ \t]*)(.*)((?:\n|.)*)(\6)z)([ \t])(.*)z^\s*".*z[ \t]+z!/[^/\\\n]*(?:\\[\s\S][^/\\\n]*)*/z!"[^"\\\n]*(?:\\[\s\S][^"\\\n]*)*"z'[^\n']*(?:''[^\n']*)*'z(?<=\s)"[^\-:.%#=*].*z-?\d+z#[0-9a-f]{6}z^:z
[()<>+=!|,~-]z7\b(let|if|else|endif|elseif|fun|function|endfunction)\bz+\b(NONE|bold|italic|underline|dark|light)\bz\b\w+\b�.c�n�ddlm}m}m}||_||_||_tj|fi|��y)Nr)�auto�command�option)	�pygments.lexers._vim_builtinsrNrOrP�_cmd�_opt�_autr�__init__)�self�optionsrNrOrPs     r:rUzVimLexer.__init__�s0��G�G���	���	���	����D�,�G�,r9c�,�t||f�}|dkDr>||dz
d|dt||dz
d�k(r||dz
ddt|�|k(ry|t|�kr6||d|dt||d�k(xr||ddt|�|k(Sy)a
        It's kind of difficult to decide if something might be a keyword
        in VimL because it allows you to abbreviate them.  In fact,
        'ab[breviate]' is a good example.  :ab, :abbre, or :abbreviate are
        valid ways to call it so rather than making really awful regexps
        like::

            \bab(?:b(?:r(?:e(?:v(?:i(?:a(?:t(?:e)?)?)?)?)?)?)?)?\b

        we match `\b\w+\b` and then call is_in() on those tokens.  See
        `scripts/get_vimkw.py` for how the lists are extracted.
        r�NTF)r�len)rV�w�mapping�ps    r:�is_inzVimLexer.is_in�s���
�7�Q�D�!���q�5��q��s�|�A��!�$9�S���1���a��%9�":�:��q��s�|�A��w��A��'�1�,���s�7�|���1�:�a�=�A�&9�s�7�1�:�a�=�'9�$:�:�,���
�1�
�g�s�1�v�&�!�+�
,�r9c#�K�tj||�D]�\}}}|tjur�|j	||j
�r|t|f���A|j	||j�s|j	||j�r|tj|f����|t|f����|||f����y�w)N)r�get_tokens_unprocessedr
r2r^rRrrSrTr1r)rV�text�index�token�values     r:r`zVimLexer.get_tokens_unprocessed�s�����
�1�1�$��=�	*��E�5�%���
�
�"��:�:�e�T�Y�Y�/���%�/�/��Z�Z��t�y�y�1��
�
�5�$�)�)�4�����u�4�4���u�,�,��U�E�)�)�	*�s�B<B>N)"r%r&r'r(r)r*r+r,r@rArB�_pythonrr	rrrrr
rrr.r6r-rr4rr
r1r2r7rUr^r`r8r9r:rrosA���
�D��g�G�B�I���I��L�L�E�+�G�	�
�g�
%�(S�
S�
�e�D�k�7�D�(�D�$��K�(�$�0�
1��g�
%��
7�
�e�D�k�7�D�%��2D�
E�
G���!�
���
1�6�<�<�@�
1�6�=�=�A�
'����7�&�w�/�
�v��
�f�j�j�)�
�K� �
�{�+�
G�
�
�
;�T�\�\�J�
����$�
�4�L�3
��F�<-��.*r9r)r(r@r�pygments.lexerrrrrrr	�pygments.lexers.pythonr
�pygments.tokenrrr
rrrrrr�__all__rrrr8r9r:�<module>rjsY���
��N�N�.�*�*�*�/��3�z�3�l!�z�!�F[*�z�[*r9