Warning, /frameworks/syntax-highlighting/data/syntax/tcl.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language>
0003 
0004 <!-- Authors: Alexander Dederer & JM. Philippe -->
0005 <!-- Copyright: BSD copyright & Irsid - Arcelor Innovation R&D -->
0006 <!-- Ported to Kate 2.0/ KWrite 4.0 by Joseph Wenninger (Updated by Simon Robins)-->
0007 <!--
0008     Updated by Pawel Salawa (boogie at scripts dot one dot pl)
0009 
0010     Revision history:
0011         1.11:
0012             - added new commands of Tcl/tk 8.5, released in 2007
0013         1.10:
0014             - Fixed problem with single ':' character after variable name (it's no longer variable,
0015               because only double-colon is namespace delimiter and can be part of variable name).
0016             - Fixed problem with matching quote character next to regular character, for example:
0017               puts {"string"}
0018               In that case left bracked was marked as string, but it's no longer like that.
0019             - Fixed problem with variable names like: ${text\}test}
0020               It whole is valid variable name, because of escape character.
0021             - Fixed problem with marking ';' character as a comment when '#' character was after the ';'.
0022             - Fixed problem with marking options. '-' character after word-delimiter character caused
0023               marking that word-delimiter character as option too, even it wasn't white-space.
0024             - Few other minor optimalizations.
0025         1.09:
0026             - Added fast comments support (Ctrl+d or whatever your shortcut is)
0027             - Fixed single-character variables detection
0028             - Fixed detection of varaibles with names containing serval namespace delimiters (::)
0029 -->
0030 
0031 <language name="Tcl/Tk" version="8" kateversion="5.62" section="Scripts" extensions="*.tcl;*.tk" mimetype="text/x-tcl" license="BSD">
0032   <highlighting>
0033     <list name="keywords">
0034       <item>after</item>
0035       <item>append</item>
0036       <item>AppleScript</item>
0037       <item>argv</item>
0038       <item>argc</item>
0039       <item>array</item>
0040       <item>auto_execk</item>
0041       <item>auto_execok</item>
0042       <item>auto_import</item>
0043       <item>auto_load</item>
0044       <item>auto_mkindex</item>
0045       <item>auto_mkindex_old</item>
0046       <item>auto_path</item>
0047       <item>auto_qualify</item>
0048       <item>auto_reset</item>
0049       <item>beep</item>
0050       <item>bell</item>
0051       <item>binary</item>
0052       <item>bind</item>
0053       <item>bindtags</item>
0054       <item>bgerror</item>
0055       <item>break</item>
0056       <item>button</item>
0057       <item>canvas</item>
0058       <item>case</item>
0059       <item>catch</item>
0060       <item>cd</item>
0061       <item>chan</item>
0062       <item>checkbutton</item>
0063       <item>clipboard</item>
0064       <item>clock</item>
0065       <item>close</item>
0066       <item>combobox</item>
0067       <item>concat</item>
0068       <item>console</item>
0069       <item>continue</item>
0070       <item>dde</item>
0071       <item>destroy</item>
0072       <item>dict</item>
0073       <item>else</item>
0074       <item>elseif</item>
0075       <item>encoding</item>
0076       <item>entry</item>
0077       <item>env</item>
0078       <item>eof</item>
0079       <item>error</item>
0080       <item>errorCode</item>
0081       <item>errorInfo</item>
0082       <item>eval</item>
0083       <item>event</item>
0084       <item>exec</item>
0085       <item>exit</item>
0086       <item>expr</item>
0087       <item>fblocked</item>
0088       <item>fconfigure</item>
0089       <item>fcopy</item>
0090       <item>file</item>
0091       <item>fileevent</item>
0092       <item>flush</item>
0093       <item>focus</item>
0094       <item>font</item>
0095       <item>for</item>
0096       <item>foreach</item>
0097       <item>format</item>
0098       <item>frame</item>
0099       <item>gets</item>
0100       <item>glob</item>
0101       <item>global</item>
0102       <item>grab</item>
0103       <item>grid</item>
0104       <item>history</item>
0105       <item>if</item>
0106       <item>image</item>
0107       <item>incr</item>
0108       <item>info</item>
0109       <item>interp</item>
0110       <item>join</item>
0111       <item>label</item>
0112       <item>labelframe</item>
0113       <item>lappend</item>
0114       <item>lassign</item>
0115       <item>lindex</item>
0116       <item>linsert</item>
0117       <item>list</item>
0118       <item>listbox</item>
0119       <item>llength</item>
0120       <item>load</item>
0121       <item>lower</item>
0122       <item>lrange</item>
0123       <item>lremove</item>
0124       <item>lrepeat</item>
0125       <item>lreplace</item>
0126       <item>lreverse</item>
0127       <item>lsearch</item>
0128       <item>lset</item>
0129       <item>lsort</item>
0130       <item>menu</item>
0131       <item>menubutton</item>
0132       <item>message</item>
0133       <item>namespace</item>
0134       <item>notebook</item>
0135       <item>open</item>
0136       <item>option</item>
0137       <item>OptProc</item>
0138       <item>pack</item>
0139       <item>package</item>
0140       <item>panedwindow</item>
0141       <item>parray</item>
0142       <item>pid</item>
0143       <item>place</item>
0144       <item>pkg_mkIndex</item>
0145       <item>proc</item>
0146       <item>progressbar</item>
0147       <item>puts</item>
0148       <item>pwd</item>
0149       <item>radiobutton</item>
0150       <item>raise</item>
0151       <item>read</item>
0152       <item>regexp</item>
0153       <item>registry</item>
0154       <item>regsub</item>
0155       <item>rename</item>
0156       <item>resource</item>
0157       <item>return</item>
0158       <item>scale</item>
0159       <item>scan</item>
0160       <item>scrollbar</item>
0161       <item>seek</item>
0162       <item>selection</item>
0163       <item>send</item>
0164       <item>separator</item>
0165       <item>set</item>
0166       <item>sizegrip</item>
0167       <item>socket</item>
0168       <item>source</item>
0169       <item>spinbox</item>
0170       <item>split</item>
0171       <item>string</item>
0172       <item>style</item>
0173       <item>subst</item>
0174       <item>switch</item>
0175       <item>tclLog</item>
0176       <item>tcl_endOfWord</item>
0177       <item>tcl_findLibrary</item>
0178       <item>tcl_library</item>
0179       <item>tcl_patchLevel</item>
0180       <item>tcl_platform</item>
0181       <item>tcl_precision</item>
0182       <item>tcl_rcFileName</item>
0183       <item>tcl_rcRsrcName</item>
0184       <item>tcl_startOfNextWord</item>
0185       <item>tcl_startOfPreviousWord</item>
0186       <item>tcl_traceCompile</item>
0187       <item>tcl_traceExec</item>
0188       <item>tcl_version</item>
0189       <item>tcl_wordBreakAfter</item>
0190       <item>tcl_wordBreakBefore</item>
0191       <item>tell</item>
0192       <item>text</item>
0193       <item>time</item>
0194       <item>tk</item>
0195       <item>tkTabToWindow</item>
0196       <item>tkwait</item>
0197       <item>tk_chooseColor</item>
0198       <item>tk_chooseDirectory</item>
0199       <item>tk_focusFollowMouse</item>
0200       <item>tk_focusNext</item>
0201       <item>tk_focusPrev</item>
0202       <item>tk_getOpenFile</item>
0203       <item>tk_getSaveFile</item>
0204       <item>tk_library</item>
0205       <item>tk_menuSetFocus</item>
0206       <item>tk_messageBox</item>
0207       <item>tk_optionMenu</item>
0208       <item>tk_patchLevel</item>
0209       <item>tk_popup</item>
0210       <item>tk_strictMotif</item>
0211       <item>tk_textCopy</item>
0212       <item>tk_textCut</item>
0213       <item>tk_textPaste</item>
0214       <item>tk_version</item>
0215       <item>toplevel</item>
0216       <item>trace</item>
0217       <item>traverseTo</item>
0218       <item>treeview</item>
0219       <item>unknown</item>
0220       <item>unload</item>
0221       <item>unset</item>
0222       <item>update</item>
0223       <item>uplevel</item>
0224       <item>upvar</item>
0225       <item>variable</item>
0226       <item>vwait</item>
0227       <item>while</item>
0228       <item>winfo</item>
0229       <item>wm</item>
0230     </list>
0231 
0232     <list name="keywords-opt">
0233       <item>add</item>
0234       <item>args</item>
0235       <item>atime</item>
0236       <item>attributes</item>
0237       <item>body</item>
0238       <item>bytelength</item>
0239       <item>cancel</item>
0240       <item>channels</item>
0241       <item>clicks</item>
0242       <item>cmdcount</item>
0243       <item>commands</item>
0244       <item>compare</item>
0245       <item>complete</item>
0246       <item>convertfrom</item>
0247       <item>convertto</item>
0248       <item>copy</item>
0249       <item>default</item>
0250       <item>delete</item>
0251       <item>dirname</item>
0252       <item>equal</item>
0253       <item>executable</item>
0254       <item>exists</item>
0255       <item>extension</item>
0256       <item>first</item>
0257       <item>forget</item>
0258       <item>format</item>
0259       <item>functions</item>
0260       <item>globals</item>
0261       <item>hostname</item>
0262       <item>idle</item>
0263       <item>ifneeded</item>
0264       <item>index</item>
0265       <item>info</item>
0266       <item>is</item>
0267       <item>isdirectory</item>
0268       <item>isfile</item>
0269       <item>join</item>
0270       <item>last</item>
0271       <item>length</item>
0272       <item>level</item>
0273       <item>library</item>
0274       <item>link</item>
0275       <item>loaded</item>
0276       <item>locals</item>
0277       <item>lstat</item>
0278       <item>map</item>
0279       <item>match</item>
0280       <item>mkdir</item>
0281       <item>mtime</item>
0282       <item>nameofexecutable</item>
0283       <item>names</item>
0284       <item>nativename</item>
0285       <item>normalize</item>
0286       <item>number</item>
0287       <item>owned</item>
0288       <item>patchlevel</item>
0289       <item>pathtype</item>
0290       <item>present</item>
0291       <item>procs</item>
0292       <item>provide</item>
0293       <item>range</item>
0294       <item>readable</item>
0295       <item>readlink</item>
0296       <item>remove</item>
0297       <item>rename</item>
0298       <item>repeat</item>
0299       <item>replace</item>
0300       <item>require</item>
0301       <item>rootname</item>
0302       <item>scan</item>
0303       <item>script</item>
0304       <item>seconds</item>
0305       <item>separator</item>
0306       <item>sharedlibextension</item>
0307       <item>size</item>
0308       <item>split</item>
0309       <item>stat</item>
0310       <item>system</item>
0311       <item>tail</item>
0312       <item>tclversion</item>
0313       <item>tolower</item>
0314       <item>totitle</item>
0315       <item>toupper</item>
0316       <item>trim</item>
0317       <item>trimleft</item>
0318       <item>trimright</item>
0319       <item>type</item>
0320       <item>unknown</item>
0321       <item>variable</item>
0322       <item>vars</item>
0323       <item>vcompare</item>
0324       <item>vdelete</item>
0325       <item>versions</item>
0326       <item>vinfo</item>
0327       <item>volumes</item>
0328       <item>vsatisfies</item>
0329       <item>wordend</item>
0330       <item>wordstart</item>
0331       <item>writable</item>
0332 
0333       <item>activate</item>
0334       <item>actual</item>
0335       <item>addtag</item>
0336       <item>append</item>
0337       <item>appname</item>
0338       <item>aspect</item>
0339       <item>atom</item>
0340       <item>atomname</item>
0341       <item>bbox</item>
0342       <item>bind</item>
0343       <item>broadcast</item>
0344       <item>canvasx</item>
0345       <item>canvasy</item>
0346       <item>caret</item>
0347       <item>cells</item>
0348       <item>cget</item>
0349       <item>children</item>
0350       <item>class</item>
0351       <item>clear</item>
0352       <item>client</item>
0353       <item>clone</item>
0354       <item>colormapfull</item>
0355       <item>colormapwindows</item>
0356       <item>command</item>
0357       <item>configure</item>
0358       <item>containing</item>
0359       <item>coords</item>
0360       <item>create</item>
0361       <item>current</item>
0362       <item>curselection</item>
0363       <item>dchars</item>
0364       <item>debug</item>
0365       <item>deiconify</item>
0366       <item>delta</item>
0367       <item>depth</item>
0368       <item>deselect</item>
0369       <item>dlineinfo</item>
0370       <item>dtag</item>
0371       <item>dump</item>
0372       <item>edit</item>
0373       <item>entrycget</item>
0374       <item>entryconfigure</item>
0375       <item>families</item>
0376       <item>find</item>
0377       <item>flash</item>
0378       <item>focus</item>
0379       <item>focusmodel</item>
0380       <item>fpixels</item>
0381       <item>fraction</item>
0382       <item>frame</item>
0383       <item>generate</item>
0384       <item>geometry</item>
0385       <item>get</item>
0386       <item>gettags</item>
0387       <item>grid</item>
0388       <item>group</item>
0389       <item>handle</item>
0390       <item>height</item>
0391       <item>hide</item>
0392       <item>iconbitmap</item>
0393       <item>iconify</item>
0394       <item>iconmask</item>
0395       <item>iconname</item>
0396       <item>iconposition</item>
0397       <item>iconwindow</item>
0398       <item>icursor</item>
0399       <item>id</item>
0400       <item>identify</item>
0401       <item>image</item>
0402       <item>insert</item>
0403       <item>interps</item>
0404       <item>inuse</item>
0405       <item>invoke</item>
0406       <item>ismapped</item>
0407       <item>itemcget</item>
0408       <item>itemconfigure</item>
0409       <item>keys</item>
0410       <item>lower</item>
0411       <item>manager</item>
0412       <item>mark</item>
0413       <item>maxsize</item>
0414       <item>measure</item>
0415       <item>metrics</item>
0416       <item>minsize</item>
0417       <item>move</item>
0418       <item>name</item>
0419       <item>nearest</item>
0420       <item>overrideredirect</item>
0421       <item>own</item>
0422       <item>panecget</item>
0423       <item>paneconfigure</item>
0424       <item>panes</item>
0425       <item>parent</item>
0426       <item>pathname</item>
0427       <item>pixels</item>
0428       <item>pointerx</item>
0429       <item>pointerxy</item>
0430       <item>pointery</item>
0431       <item>positionfrom</item>
0432       <item>post</item>
0433       <item>postcascade</item>
0434       <item>postscript</item>
0435       <item>protocol</item>
0436       <item>proxy</item>
0437       <item>raise</item>
0438       <item>release</item>
0439       <item>reqheight</item>
0440       <item>reqwidth</item>
0441       <item>resizable</item>
0442       <item>rgb</item>
0443       <item>rootx</item>
0444       <item>rooty</item>
0445       <item>scale</item>
0446       <item>scaling</item>
0447       <item>screen</item>
0448       <item>screencells</item>
0449       <item>screendepth</item>
0450       <item>screenheight</item>
0451       <item>screenmmheight</item>
0452       <item>screenmmwidth</item>
0453       <item>screenvisual</item>
0454       <item>screenwidth</item>
0455       <item>search</item>
0456       <item>see</item>
0457       <item>select</item>
0458       <item>selection</item>
0459       <item>server</item>
0460       <item>set</item>
0461       <item>show</item>
0462       <item>sizefrom</item>
0463       <item>stackorder</item>
0464       <item>state</item>
0465       <item>status</item>
0466       <item>tag</item>
0467       <item>title</item>
0468       <item>toplevel</item>
0469       <item>transient</item>
0470       <item>types</item>
0471       <item>unpost</item>
0472       <item>useinputmethods</item>
0473       <item>validate</item>
0474       <item>values</item>
0475       <item>viewable</item>
0476       <item>visual</item>
0477       <item>visualid</item>
0478       <item>visualsavailable</item>
0479       <item>vrootheight</item>
0480       <item>vrootwidth</item>
0481       <item>vrootx</item>
0482       <item>vrooty</item>
0483       <item>width</item>
0484       <item>window</item>
0485       <item>windowingsystem</item>
0486       <item>withdraw</item>
0487       <item>x</item>
0488       <item>xview</item>
0489       <item>y</item>
0490     </list>
0491 
0492     <contexts>
0493       <context name = "Base" attribute = "Normal Text" lineEndContext="#stay">
0494       
0495         <!-- Virtual blocks -->
0496         <RegExpr attribute="Region Marker" context="#stay" String="#\s*BEGIN.*$" beginRegion="region" firstNonSpace="true"/>
0497         <RegExpr attribute="Region Marker" context="#stay" String="#\s*END.*$" endRegion="region" firstNonSpace="true"/>
0498         
0499         <!-- Standard -->
0500         <keyword String = "keywords" attribute = "Keyword" context="#stay"/>
0501         <keyword String = "keywords-opt" attribute = "Parameter" context="#stay"/>
0502         <Float attribute = "Float" context="#stay"/>
0503         <Int attribute ="Decimal" context="#stay"/>
0504         <RegExpr String="\\." attribute = "Char" context = "#stay"/>
0505         
0506         <!-- Options -->
0507         <RegExpr String = "\s-\w+" attribute = "Parameter" context="#stay"/>
0508         
0509         <!-- Variables -->
0510         <RegExpr String = "\$\{([^\}]|\\\})+\}|\$(::|\w)+" attribute = "Variable" context="#stay"/>
0511         
0512         <!-- Strings -->
0513         <Detect2Chars char = "&quot;" char1 = "&quot;" attribute = "String" context="#stay"/>
0514         <DetectChar char = "&quot;" attribute = "String" context="String"/>
0515         
0516         <!-- Comments -->
0517         <DetectChar char = ";" attribute = "Normal Text" context="New command line" />
0518         <DetectChar char = "#" attribute = "Comment" context="Comment" firstNonSpace="true"/>
0519         
0520         <!-- Braces, brackets, etc -->
0521         <DetectChar char = "{" attribute = "Keyword" context="#stay" beginRegion="block"/>
0522         <DetectChar char = "}" attribute = "Keyword" context="#stay" endRegion="block"/>
0523         <AnyChar String= "[]" attribute = "Keyword" context="#stay"/>
0524         
0525       </context>
0526 
0527       <context name = "String" attribute = "String" lineEndContext="#stay">
0528         <RegExpr String="\\." attribute = "Char" context = "#stay"/>
0529         <DetectChar char="&quot;" attribute = "String" context = "#pop"/>
0530         <DetectChar char  = "$" attribute = "Variable" context="#stay"/>
0531       </context>
0532 
0533       <context name = "Comment" attribute = "Comment" lineEndContext="#pop">
0534         <DetectSpaces />
0535         <IncludeRules context="##Comments"/>
0536       </context>
0537 
0538       <context name = "New command line" attribute = "Normal Text" lineEndContext="#stay" fallthroughContext="#pop">
0539         <DetectSpaces attribute="Normal Text" context="#stay"/>
0540         <DetectChar char="#" attribute="Comment" context="Comment" />
0541       </context>
0542     </contexts>
0543 
0544     <itemDatas>
0545       <itemData name = "Normal Text" defStyleNum = "dsNormal"/>
0546       <itemData name = "Keyword" defStyleNum = "dsKeyword"/>
0547       <itemData name = "Decimal" defStyleNum = "dsDecVal"/>
0548       <itemData name = "Float" defStyleNum = "dsFloat"/>
0549       <itemData name = "String" defStyleNum = "dsString"/>
0550       <itemData name = "Comment" defStyleNum = "dsComment"/>
0551       <itemData name = "Parameter" defStyleNum = "dsOthers"/>
0552       <itemData name = "Variable" defStyleNum = "dsDataType"/>
0553       <itemData name = "Char" defStyleNum="dsChar"/>
0554       <itemData name = "Region Marker" defStyleNum="dsRegionMarker"/>
0555     </itemDatas>
0556 
0557   </highlighting>
0558 
0559   <general>
0560     <comments>
0561         <comment name="singleLine" start="#" />
0562     </comments>
0563     <keywords casesensitive="1"/>
0564   </general>
0565 
0566 </language>
0567 <!-- kate: replace-tabs on; indent-width 2; -->