B
    `a[                 @   sb   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 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-2017 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerincludewords)TextCommentOperatorKeywordNameStringNumber)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gZdd	gZ	d
ddg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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d/ed,fed-gdejd0fd1ejfdejd)fgdejd0fd2ejfd/ejd)fgded)fed3ededgd.ed)fed4ededgd/ed)fed5ededgd6ed)fd7efgd8Zd9d: Zd;S )=r   z:
    For Tcl source code.

    .. versionadded:: 0.10
    )ZafterZapplyZarraybreakZcatchcontinueZelseifelseerrorevalexprforZforeachglobalif	namespaceprocrenamereturnsetZswitchZthenZtraceZunsetupdateZuplevelZupvarZvariableZvwaitwhilez\b)prefixsuffix)KappendZbgerrorZbinaryZcdZchanZclockcloseconcatZddedictencodingeofexecexitZfblockedZ
fconfigureZfcopyfileZ	fileeventflushformatZgetsZglobhistoryZhttpZ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refchanZregexpregistryZregsubscanseekZsocketsourcesplitstringZsubsttellZtimeZtmunknownZunloadZTclZtclz*.tclz*.rvtz
text/x-tclztext/x-script.tclzapplication/x-tcl 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 rG   2lib/python3.7/site-packages/pygments/lexers/tcl.py_gen_command_rules1   s    zTclLexer._gen_command_rulescommandbasicdataz\}z	-in-bracez-in-bracketz	-in-parenz\(parenz\[bracketz\{brace"r<   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#popz\nz(else|elseif|then)\b)z#popz#popr@   z\)z\]zstring-squarez(?s)(\\\\|\\[0-7]+|\\.|[^"\\])z$(?s)(\\\\|\\[0-7]+|\\.|\\\n|[^\]\\])zcommand-in-bracezcommand-in-parenzcommand-in-bracketz	.*[^\\]\nz.*\\\n)rootrJ   zcommand-in-bracezcommand-in-bracketzcommand-in-parenrK   rL   r@   zparams-in-bracezparams-in-parenzparams-in-bracketr<   zstring-squarerO   rM   rN   rB   c             C   s
   t | dS )Nz(tcl))r   )textrG   rG   rH   analyse_text   s    zTclLexer.analyse_textN)r?   )__name__
__module____qualname____doc__r   rD   rE   namealiases	filenamesZ	mimetypesrI   r   r   r
   Doubler   ZWordr   r   ZHexZOctZFloatZIntegerr	   rC   r   tokensrT   rG   rG   rG   rH   r      s   







N)rX   Zpygments.lexerr   r   r   Zpygments.tokenr   r   r   r   r	   r
   r   Zpygments.utilr   __all__r   rG   rG   rG   rH   <module>
   s
   $