HEX
Server: Apache
System: Linux srv1.prosuiteplus.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: prosuiteplus (1001)
PHP: 8.3.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/textedit.cpython-38.pyc
U

`a�[��@s�dZddlZddlmZddlmZmZmZmZmZm	Z	ddl
mZmZm
Z
mZmZmZmZmZddlmZddgZGd	d�de�ZGd
d�de�ZdS)z�
    pygments.lexers.textedit
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for languages related to text processing.

    :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�bisect)�
RegexLexer�include�default�bygroups�using�this)�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation)�PythonLexer�AwkLexer�VimLexerc@s�eZdZdZdZddddgZdgZdgZd	efd
e	j
fged�dej
d
fdedfed
�gded
fgdedfed�dedfdedfdefdedfdejdfdejfdejfdejfdejfdejfdejfdejfdej
fgd �Zd!S)"rz5
    For Awk scripts.

    .. versionadded:: 1.5
    ZAwkZawkZgawkZmawkZnawkz*.awkzapplication/x-awkz\s+z#.*$�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]+z[0-9]+z"(\\\\|\\"|[^"])*"z'(\\\\|\\'|[^'])*')rrr�rootN)�__name__�
__module__�__qualname__�__doc__�name�aliases�	filenames�	mimetypesr	r
�Singlerr�RegexrrrrZDeclarationZReservedr
�Builtin�OtherrZFloat�HexZInteger�Double�tokens�r(r(�:/usr/lib/python3/dist-packages/pygments/lexers/textedit.pyrsZ������
����c@seZdZdZdZdgZdddddd	d
ddg	Zd
gZej	Z
dZddedee
e�eeeeee
e�e�fdedee
e�eee
e��fdefdefdejfdejfdejfdefdefdejfdefdefdefdejfdejfd efgiZd!d"�Zd#d$�Z d%d&�Z!d'S)(rzA
    Lexer for VimL script files.

    .. versionadded:: 0.8
    ZVimLZvimz*.vimz.vimrcz.exrcz.gvimrcZ_vimrcZ_exrcZ_gvimrcZvimrcZgvimrcz
text/x-vimzpy(?:t(?:h(?:o(?:n)?)?)?)?rz^([ \t:]*)(z()([ \t]*)(<<)([ \t]*)(.*)((?:\n|.)*)(\6)z)([ \t])(.*)z^\s*".*z[ \t]+z/(\\\\|\\/|[^\n/])*/z"(\\\\|\\"|[^\n"])*"z'(''|[^\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�.cKs8ddlm}m}m}||_||_||_tj|f|�dS)Nr)�command�option�auto)	Zpygments.lexers._vim_builtinsr+r,r-�_cmd�_opt�_autr�__init__)�selfZoptionsr+r,r-r(r(r)r1{s
zVimLexer.__init__cCs�t||f�}|dkrd||dd|dt||dd��krd||dddt|��|krddS|t|�kr�||d|dt||d��ko�||ddt|��|kSdS)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)r2�w�mapping�pr(r(r)�is_in�s
,�$�zVimLexer.is_inccs�t�||�D]v\}}}|tjkrv|�||j�r<|t|fVq�|�||j�sX|�||j�rh|tj	|fVq�|t
|fVq|||fVqdS)N)r�get_tokens_unprocessedr
r$r8r.rr/r0r#r	)r2�text�index�token�valuer(r(r)r9�s
�
�zVimLexer.get_tokens_unprocessedN)"rrrrrrrr �re�	MULTILINE�flagsZ_pythonrrrrr	rrr
rr"r&r!rr%rr
r#r$r'r1r8r9r(r(r(r)rNsX�
��
����)rr>rZpygments.lexerrrrrrrZpygments.tokenr	r
rrr
rrrZpygments.lexers.pythonr�__all__rrr(r(r(r)�<module>s
 (6