o
    Ñ­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                   @   sL  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dAdd„Zi dedƒedƒedƒdefg“deeeƒ“deeedƒ“deeedƒ“deeedƒ“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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-d.ed/fd0ed/fd1efedƒedƒg“d2ded3fed-ƒg“d4d5ed3fed-ƒg“d6d7ed3fed-ƒg“d"dejd8fd9ejfd!ejd/fg“d8dejd8fd:ejfd7ejd/fg“d ded/fedƒedƒedƒg“dd5ed/fedƒedƒedƒg“dd7ed/fedƒedƒedƒg“d;d<ed/fd=efg“Zd>d?„ Zd@S )Br   z
    For Tcl source code.
    )ÚafterÚapplyÚarrayÚbreakÚcatchÚcontinueÚelseifÚelseÚerrorÚevalÚexprÚforÚforeachÚglobalÚifÚ	namespaceÚprocÚrenameÚreturnÚsetÚswitchÚthenÚtraceÚunsetÚupdateÚuplevelÚupvarÚvariableÚvwaitÚwhilez\b)ÚprefixÚsuffix)KÚappendÚbgerrorÚbinaryÚcdÚchanÚclockÚcloseÚconcatÚddeÚdictÚencodingÚeofÚexecÚexitÚfblockedÚ
fconfigureÚfcopyÚfileÚ	fileeventÚflushÚformatÚgetsÚglobÚhistoryÚhttpÚincrÚinfoÚinterpÚjoinÚlappendÚlassignÚlindexÚlinsertÚlistÚllengthÚloadÚloadTkÚlrangeÚlrepeatÚlreplaceÚlreverseÚlsearchÚlsetÚlsortÚmathfuncÚmathopÚmemoryÚmsgcatÚopenÚpackageÚpidzpkg::createÚpkg_mkIndexÚplatformzplatform::shellÚputsÚpwdÚ	re_syntaxÚreadÚrefchanÚregexpÚregistryÚregsubÚscanÚseekÚsocketÚsourceÚsplitÚstringÚsubstÚtellÚtimeÚtmÚunknownÚ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„   úP/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pygments/lexers/tcl.pyÚ_gen_command_rules3   s
   üzTclLexer._gen_command_rulesÚrootÚcommandÚbasicÚdataz\}zcommand-in-bracez	-in-bracezcommand-in-bracketz-in-bracketzcommand-in-parenz	-in-parenz\(Úparenz\[Úbracketz\{Úbraceú"rr   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.,@:-]+r|   ú;ú#popz\nz(else|elseif|then)\bzparams-in-brace)r�   r�   zparams-in-parenz\)zparams-in-bracketz\]zstring-squarez(?s)(\\\\|\\[0-7]+|\\.|[^"\\])z$(?s)(\\\\|\\[0-7]+|\\.|\\\n|[^\]\\])r~   z	.*[^\\]\nz.*\\\nc                 C   s
   t | dƒS )Nz(tcl)r   )Útextr„   r„   r…   Úanalyse_text“   s   
zTclLexer.analyse_textN)r{   ) Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r�   r‚   ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedr†   r   r   r
   ÚDoubler   ÚWordr   r   ÚHexÚOctÚFloatÚIntegerr	   r€   r   r   Útokensr’   r„   r„   r„   r…   r      sô    ûõ
üÿ
ùþøþõþò
úïøç#ûÝ*þÖ.þÒ2þÎ6

ýÊ;

ýÅ@üÀFüºLü´Rþ®XN)r–   Úpygments.lexerr   r   r   Úpygments.tokenr   r   r   r   r	   r
   r   r   Úpygments.utilr   Ú__all__r   r„   r„   r„   r…   Ú<module>   s    
(