a
    Df                     @   sf   d Z ddlmZmZmZ ddlmZmZmZm	Z	m
Z
mZmZmZ ddlmZ dgZG dd deZdS )z
    pygments.lexers.tcl
    ~~~~~~~~~~~~~~~~~~~

    Lexers for Tcl and related languages.

    :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerincludewords)TextCommentOperatorKeywordNameStringNumber
Whitespaceshebang_matchesTclLexerc                   @   s
  e Zd ZdZeddddZeddddZdZdZdgZ	d	d
gZ
g dZdZd=ddZedededdefgeeeeeedeeedeeeddedfdedfdedfdejdfdejfd efgd!efd"ejfd#ejfd$ejfd%ejfd&ejfd'ejfd(efgd)ed*fd+ed*fd,efededgded-fed.gd/ed-fed.gd0ed-fed.gdejd1fd2ejfdejd*fgdejd1fd3ejfd0ejd*fgded*fed4ededgd/ed*fed5ededgd0ed*fed6ededgd7ed*fd8efgd9Zd:d; Zd<S )>r   z
    For Tcl source code.
    )afterapplyarraybreakZcatchcontinueZelseifelseerrorevalexprforZforeachglobalif	namespaceprocrenamereturnsetswitchZthentraceZunsetupdateZuplevelZupvarvariableZvwaitwhilez\b)prefixsuffix)KappendZbgerrorbinaryZcdZchanZclockcloseconcatZddedictencodingeofexecexitZfblockedZ
fconfigureZfcopyfileZ	fileeventflushformatZgetsglobhistoryhttpincrinfoZinterpjoinlappendZlassignZlindexZlinsertlistZllengthloadZloadTkZlrangeZlrepeatZlreplaceZlreverseZlsearchZlsetZlsortZmathfuncZmathopZmemoryZmsgcatopenpackagepidzpkg::createZpkg_mkIndexplatformzplatform::shellZputspwdZ	re_syntaxreadZrefchanregexpregistryZregsubscanseeksocketsourcesplitstringsubsttelltimetmunknownZunloadZTclz&https://www.tcl.tk/about/language.htmlZtclz*.tclz*.rvt)z
text/x-tclztext/x-script.tclzapplication/x-tclz0.10 c                 C   s4   | t d| f|tjd| fdtjd| fdtdfgS )Nparamsz	([\w.-]+)#comment)r   r	   ZBuiltinVariabler   )keyword_cmds_rebuiltin_cmds_recontext rX   `/nfs/NAS7/SABIOD/METHODE/ermites/ermites_venv/lib/python3.9/site-packages/pygments/lexers/tcl.py_gen_command_rules3   s
    zTclLexer._gen_command_rulescommandbasicdataz\}z	-in-bracez-in-bracketz	-in-parenz\(parenz\[bracketz\{brace"rJ   z(eq|ne|in|ni)\bz/!=|==|<<|>>|<=|>=|&&|\|\||\*\*|[-+~!*/%<>&^|?:]z\s+z0x[a-fA-F0-9]+z0[0-7]+z\d+\.\d+z\d+z
\$[\w.:-]+z\$\{[\w.:-]+\}z
[\w.,@:-]+;#popz\nz(else|elseif|then)\b)rc   rc   rQ   z\)z\]string-squarez(?s)(\\\\|\\[0-7]+|\\.|[^"\\])z$(?s)(\\\\|\\[0-7]+|\\.|\\\n|[^\]\\])command-in-bracecommand-in-parencommand-in-bracketz	.*[^\\]\nz.*\\\n)rootr[   re   rg   rf   r\   r]   rQ   zparams-in-bracezparams-in-parenzparams-in-bracketrJ   rd   r`   r^   r_   rS   c                 C   s
   t | dS )Nz(tcl)r   )textrX   rX   rY   analyse_text   s    zTclLexer.analyse_textN)rP   ) __name__
__module____qualname____doc__r   rU   rV   nameurlaliases	filenames	mimetypesZversion_addedrZ   r   r   r
   Doubler   Wordr   r   ZHexOctZFloatZIntegerr	   rT   r   r   tokensrj   rX   rX   rX   rY   r      s   


	



XN)rn   Zpygments.lexerr   r   r   Zpygments.tokenr   r   r   r   r	   r
   r   r   Zpygments.utilr   __all__r   rX   rX   rX   rY   <module>   s
   
(