a
    ñ»j  ã                   @   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-present 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ÚbinaryÚcdZchanÚclockÚcloseÚconcatZddeÚdictÚencodingÚeofÚexecÚexitZfblockedZ
fconfigureZfcopyÚfileZ	fileeventÚflushÚformatZgetsÚglobÚhistoryÚhttpÚincrÚinfoÚ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unloadÚTclz&https://www.tcl.tk/about/language.htmlÚ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	   ÚBuiltinÚVariabler   )Úkeyword_cmds_reÚbuiltin_cmds_reÚcontext© r^   ú9E:\soccer\ml_env\Lib\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ú"rM   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)ri   ri   rV   z\)z\]ústring-squarez(?s)(\\\\|\\[0-7]+|\\.|[^"\\])z$(?s)(\\\\|\\[0-7]+|\\.|\\\n|[^\]\\])úcommand-in-braceúcommand-in-parenúcommand-in-bracketz	.*[^\\]\nz.*\\\n)Úrootra   rk   rm   rl   rb   rc   rV   zparams-in-bracezparams-in-parenzparams-in-bracketrM   rj   rf   rd   re   rX   c                 C   s
   t | dƒS )Nz(tcl)r   )Útextr^   r^   r_   Úanalyse_text•   s    zTclLexer.analyse_textN)rU   ) Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r[   r\   ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedr`   r   r   r
   ÚDoubler   ÚWordr   r   ÚHexÚOctÚFloatÚIntegerr	   rZ   r   r   Útokensrp   r^   r^   r^   r_   r      s¶   ûõ

üþþþ
ú	öûþþþ

ý

ýüüüþ¬ZN)rt   Zpygments.lexerr   r   r   Zpygments.tokenr   r   r   r   r	   r
   r   r   Zpygments.utilr   Ú__all__r   r^   r^   r^   r_   Ú<module>   s
   
(