
    5hP                         S r SSKrSSKJr  SSKJrJrJrJrJrJ	r	  SSK
Jr  SSKJrJrJrJrJrJrJrJrJr  / SQr " S S	\5      r " S
 S\5      r " S S\5      rg)z
pygments.lexers.textedit
~~~~~~~~~~~~~~~~~~~~~~~~

Lexers for languages related to text processing.

:copyright: Copyright 2006-2025 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                      \ rS rSrSrSr/ SQrS/rS/rSr	Sr
S	\4S
\R                  4/\" S5      S\R                   S4S\S4\" S5      /S\S4/S\S4\" S5      S\S4S\S4S\4S\S4S\R*                  S4S\R,                  4S\R0                  4S\R2                  4S\R6                  4S\R8                  4S\R:                  4S\R<                  4S\R                  4/S .rS!r g")#r      z
For Awk scripts.
Awk)awkgawkmawknawkz*.awkzapplication/x-awkz!https://en.wikipedia.org/wiki/AWKz1.5\s+#.*$commentsandwhitespacez(/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/\B#popz(?=/))r!   badregexz\nz	^(?=\s|/)slashstartsregexz8\+\+|--|\|\||&&|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]?z0x[0-9a-fA-F]+[0-9]+z"(\\\\|\\[^\\]|[^"\\])*"z'(\\\\|\\[^\\]|[^'\\])*')r    r#   r"   root N)!__name__
__module____qualname____firstlineno____doc__namealiases	filenames	mimetypesurlversion_addedr   r   Singler   r   Regexr   r   r   r   DeclarationReservedr   BuiltinOtherr   FloatHexIntegerDoubletokens__static_attributes__r&       c/var/www/html/cementerio_25MayoBackend/env/lib/python3.13/site-packages/pygments/lexers/textedit.pyr   r      sc    D-G	I$%I
-CM TNgnn%"

 +,LL&*t12FO
 D&!
 4!34+,()13EG+'9:%"$68G//1CD! #*"2"24$%)\\3 tzz*5v||D

+'(&--8(&--8-
'Fr>   r   c                   J   \ rS rSrSrSr/ SQrSS/rS/rSr	S	r
\R                  rS
rSS\4S\R"                  4S\R&                  4S\4S\4S\4S\" \\R"                  5      4S\" \\R2                  5      4S\" \\R&                  5      4S\-   S-   \" \\R4                  \5      4S\-   S-   \" \S\R4                  \5      4S\-   S-   \-   S-   \" \\\R"                  \\R"                  \5      4S\-   S-   \-   S-   \" \\\R4                  \\R"                  \\5      4/0rSrg)r   L   z
Lexer for Sed script files.
Sed)sedgsedssedz*.sedz	*.[gs]sedz
text/x-sedz!https://en.wikipedia.org/wiki/Sed z.((?:(?:\\[^\n]|[^\\])*?\\\n)*?(?:\\.|[^\\])*?)r%   r   r   r$   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-   r.   r/   r0   r1   re	MULTILINEflags_inside_delimsr   r   r2   r   r:   r   r   r   r   r   r;   r3   r<   r=   r&   r>   r?   r   r   L   s{    D%G+&II
-CMLLE GN 	Z gnn%'H%#W-''6==)IJ2HWfmm4TU&.. ABn$v-xV\\S^/_`.(72k4{CE''1NBWLg{FMM;Wbce''1NBEbbg{FLL+v}}Va 
Fr>   r   c                      \ rS rSrSrSrS/r/ SQrS/rSr	Sr
\R                  rS	rS
S\-   S-   \" \" \5      \\\\\\" \5      \5      4S\-   S-   \" \" \5      \\\" \5      5      4S\4S\4S\R0                  4S\R2                  4S\R4                  4S\4S\4S\R8                  4S\4S\4S\4S\R>                  4S\R@                  4S\4/0r!S r"S r#S r$Sr%g )!r   q   z
Lexer for VimL script files.
VimLvim)	z*.vimz.vimrcz.exrcz.gvimrc_vimrc_exrc_gvimrcvimrcgvimrcz
text/x-vimzhttps://www.vim.orgz0.8zpy(?: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                 j    SSK JnJnJn  X0l        X@l        X l        [        R                  " U 40 UD6  g )Nr   )autocommandoption)	pygments.lexers._vim_builtinsrV   rW   rX   _cmd_opt_autr   __init__)selfoptionsrV   rW   rX   s        r?   r]   VimLexer.__init__   s*    GG			D,G,r>   c                 0   [        X!45      nUS:  a=  X#S-
     S   US[        X#S-
     S   5       :X  a  X#S-
     S   S[        U5       U:X  a  gU[        U5      :  a8  X#   S   US[        X#   S   5       :H  =(       a    X#   S   S[        U5       U:H  $ g)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)r^   wmappingps       r?   is_inVimLexer.is_in   s     7D!q5s|A!$9S1a%9"::s|AwA'1,s7|:a=A&9s7:a='9$:: ,
1gs1v&!+,r>   c              #     #    [         R                  " X5       H  u  p#nU[        R                  L a  U R	                  X@R
                  5      (       a  U[        U4v   MF  U R	                  X@R                  5      (       d   U R	                  X@R                  5      (       a  U[        R                  U4v   M  U[        U4v   M  X#U4v   M     g 7f)N)r   get_tokens_unprocessedr   r7   rg   rZ   r   r[   r\   r6   r   )r^   textindextokenvalues        r?   rj   VimLexer.get_tokens_unprocessed   s     
 11$=  E%

"::eYY//%//ZZyy11

5))44u44u,,E)) >s   CC)r\   rZ   r[   N)&r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   rG   rH   rI   _pythonr   r	   r   r   r   r   r
   r   r   r3   r;   r2   r   r9   r   r   r6   r7   r<   r]   rg   rj   r=   r&   r>   r?   r   r   q   sK    DgGBII
CMLLE+G 	g%(SSeDk7D(D$K($01 g%7eDk7D%2DEG !16<<@16==A'7 &w/vfjj)K {+G;T\\J$4L3
F<-.*r>   r   )r+   rG   r   pygments.lexerr   r   r   r   r   r	   pygments.lexers.pythonr
   pygments.tokenr   r   r   r   r   r   r   r   r   __all__r   r   r   r&   r>   r?   <module>ru      sY    
  N N .* * * /3z 3l#z #J\*z \*r>   