3
V'íc ã @ sf d Z ddlmZmZmZ ddlmZmZmZm Z m
Z
mZmZm
Z
ddlmZ dgZG dd deZdS )zÐ
pygments.lexers.tcl
~~~~~~~~~~~~~~~~~~~
Lexers for Tcl and related languages.
:copyright: Copyright 2006-2022 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 L @ s e Zd ZdZed£d d d!Zed¤d d d!ZdmZdnZdogZ dpdqgZ
drdsdtgZd¥dvdwZe
dxe
dye
dzd{efgeeeeeed|eeed}eeed~dedfdedfdedfd
ejdffdejfdefgdefdejfdejfdejfdejfdejfdejfdefgdedfdedfdefe
dye
dzgd{ed¦fe
dgded§fe
dgded¨fe
dgdejdfdejfd
ejdfgdejdfdejfdejdfgd{edfe
de
dye
dzgdedfe
de
dye
dzgdedfe
de
dye
dzgdedfdefgdZd d¡ Zd¢S )©r z:
For Tcl source code.
.. versionadded:: 0.10
Ú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Ú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Úpidúpkg::createÚpkg_mkIndexÚplatformúplatform::shellÚputsÚpwdÚ re_syntaxÚreadÚrefchanÚregexpÚregistryÚregsubÚscanÚseekÚsocketÚsourceÚsplitÚstringÚsubstÚtellÚtimeÚtmÚunknownÚunloadZTclz&https://www.tcl.tk/about/language.htmlZtclz*.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© r ú7/tmp/pip-build-gk9425m9/Pygments/pygments/lexers/tcl.pyÚ_gen_command_rules4 s zTclLexer._gen_command_rulesÚcommandÚbasicÚdataz\}z -in-bracez-in-bracketz -in-parenz\(Úparenz\[Úbracketz\{Úbraceú"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.:-]+\}z
[\w.,@:-]+ú;ú#popz\nz(else|elseif|then)\br{ z\)z\]z
string-squarez(?s)(\\\\|\\[0-7]+|\\.|[^"\\])z$(?s)(\\\\|\\[0-7]+|\\.|\\\n|[^\]\\])zcommand-in-bracezcommand-in-parenzcommand-in-bracketz .*[^\\]\nz.*\\\n)Úrootr
zcommand-in-bracezcommand-in-bracketzcommand-in-parenr r r{ zparams-in-bracezparams-in-parenzparams-in-bracketrs z
string-squarer r r r} c C s