File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/tcl.cpython-38.pyc
U
`a�[ � @ sb d Z ddlmZmZmZ ddlmZmZmZm Z m
Z
mZmZ ddl
mZ dgZG dd� de�ZdS )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 Zd ZdZedddd�Zedddd�ZdZdgZdd gZ d
ddgZ
d<dd�Zed�ed�ed�de
fgeee�eeed�eeed�eeed�de
dfde
dfde
dfdejdfdejfd efgd!efd"ejfd#ejfd$ejfd%ejfd&ejfd'efgd(e
d)fd*ed)fd+e
fed�ed�gde
d,fed-�gd.e
d,fed-�gd/e
d,fed-�gdejd0fd1ejfdejd)fgdejd0fd2ejfd/ejd)fgde
d)fed3�ed�ed�gd.e
d)fed4�ed�ed�gd/e
d)fed5�ed�ed�gd6ed)fd7efgd8�Zd9d:� Zd;S )=r z:
For Tcl source code.
.. versionadded:: 0.10
)ZafterZapplyZarray�breakZcatch�continueZelseif�else�error�eval�expr�forZforeach�global�if� namespace�proc�rename�return�setZswitchZthenZtraceZunset�updateZuplevelZupvarZvariableZvwait�whilez\b)�prefix�suffix)K�appendZbgerror�binaryZcdZchanZclock�close�concatZdde�dict�encoding�eof�exec�exitZfblockedZ
fconfigureZfcopy�fileZ fileevent�flush�formatZgets�glob�historyZhttpZincr�infoZinterp�join�lappendZlassignZlindexZlinsert�listZllength�loadZloadTkZlrangeZlrepeatZlreplaceZlreverseZlsearchZlsetZlsortZmathfuncZmathopZmemoryZmsgcat�open�package�pidzpkg::createZpkg_mkIndex�platformzplatform::shellZputs�pwdZ re_syntax�readZrefchanZregexp�registryZregsub�scan�seekZsocket�source�split�stringZsubst�tell�timeZtm�unknownZunloadZTclZtclz*.tclz*.rvtz
text/x-tclztext/x-script.tclzapplication/x-tcl� c C s4 | t d| f|tjd| fdtjd| fdtdfgS )N�paramsz ([\w.-]+)�#�comment)r r ZBuiltin�Variabler )�keyword_cmds_re�builtin_cmds_re�context� rK �5/usr/lib/python3/dist-packages/pygments/lexers/tcl.py�_gen_command_rules1 s
�zTclLexer._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+z0x[a-fA-F0-9]+z0[0-7]+z\d+\.\d+z\d+z\$([\w.:-]+)z
([\w.:-]+)�;�#popz\nz(else|elseif|then)\b)rV rV rD z\)z\]�
string-squarez(?s)(\\\\|\\[0-7]+|\\.|[^"\\])z$(?s)(\\\\|\\[0-7]+|\\.|\\\n|[^\]\\])�command-in-brace�command-in-paren�command-in-bracketz .*[^\\]\nz.*\\\n)�rootrN rX rZ rY rO rP rD zparams-in-bracezparams-in-parenzparams-in-bracketr? rW rS rQ rR rF c C s
t | d�S )Nz(tcl)r )�textrK rK rL �analyse_text� s zTclLexer.analyse_textN)rC )�__name__�
__module__�__qualname__�__doc__r rH rI �name�aliases� filenamesZ mimetypesrM r r r
�Doubler ZWordr r ZHexZOctZFloatZIntegerr rG r �tokensr] rK rK rK rL r s� � �
����
� �
����
�
������WN)ra Zpygments.lexerr r r Zpygments.tokenr r r r r r
r Z
pygments.utilr
�__all__r rK rK rK rL �<module> s
$