medit/moo/mooedit/langs/tcl.lang
2008-08-18 03:53:49 -05:00

146 lines
4.5 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
Author: Riccardo Lancellotti <riccardo@weblab.ing.unimo.it>
Copyright (C) 2005 Riccardo Lancellotti <riccardo@weblab.ing.unimo.it>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
-->
<language id="tcl" _name="Tcl" version="2.0" _section="Scripts">
<metadata>
<property name="mimetypes">text/x-tcl;application/x-tcl</property>
<property name="globs">*.tcl;*.tk</property>
<property name="line-comment-start">#</property>
</metadata>
<styles>
<style id="variable" _name="Variable" map-to="def:type"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
</styles>
<definitions>
<context id="variable" style-ref="variable">
<match>[$@%][$]?[a-zA-Z_][a-zA-Z0-9_]*</match>
</context>
<context id="keyword" style-ref="keyword">
<keyword>string</keyword>
<keyword>subst</keyword>
<keyword>regexp</keyword>
<keyword>regsub</keyword>
<keyword>scan</keyword>
<keyword>format</keyword>
<keyword>binary</keyword>
<keyword>list</keyword>
<keyword>split</keyword>
<keyword>join</keyword>
<keyword>concat</keyword>
<keyword>llength</keyword>
<keyword>lrange</keyword>
<keyword>lsearch</keyword>
<keyword>lreplace</keyword>
<keyword>lindex</keyword>
<keyword>lsort</keyword>
<keyword>linsert</keyword>
<keyword>lrepeat</keyword>
<keyword>dict</keyword>
<keyword>if</keyword>
<keyword>else</keyword>
<keyword>elseif</keyword>
<keyword>then</keyword>
<keyword>for</keyword>
<keyword>foreach</keyword>
<keyword>switch</keyword>
<keyword>case</keyword>
<keyword>while</keyword>
<keyword>continue</keyword>
<keyword>return</keyword>
<keyword>break</keyword>
<keyword>catch</keyword>
<keyword>error</keyword>
<keyword>eval</keyword>
<keyword>uplevel</keyword>
<keyword>after</keyword>
<keyword>update</keyword>
<keyword>vwait</keyword>
<keyword>proc</keyword>
<keyword>rename</keyword>
<keyword>set</keyword>
<keyword>lset</keyword>
<keyword>lassign</keyword>
<keyword>unset</keyword>
<keyword>namespace</keyword>
<keyword>variable</keyword>
<keyword>upvar</keyword>
<keyword>global</keyword>
<keyword>trace</keyword>
<keyword>array</keyword>
<keyword>incr</keyword>
<keyword>append</keyword>
<keyword>lappend</keyword>
<keyword>expr</keyword>
<keyword>file</keyword>
<keyword>open</keyword>
<keyword>close</keyword>
<keyword>socket</keyword>
<keyword>fconfigure</keyword>
<keyword>puts</keyword>
<keyword>gets</keyword>
<keyword>read</keyword>
<keyword>seek</keyword>
<keyword>tell</keyword>
<keyword>eof</keyword>
<keyword>flush</keyword>
<keyword>fblocked</keyword>
<keyword>fcopy</keyword>
<keyword>fileevent</keyword>
<keyword>source</keyword>
<keyword>load</keyword>
<keyword>unload</keyword>
<keyword>package</keyword>
<keyword>info</keyword>
<keyword>interp</keyword>
<keyword>history</keyword>
<keyword>bgerror</keyword>
<keyword>unknown</keyword>
<keyword>memory</keyword>
<keyword>cd</keyword>
<keyword>pwd</keyword>
<keyword>clock</keyword>
<keyword>time</keyword>
<keyword>exec</keyword>
<keyword>glob</keyword>
<keyword>pid</keyword>
<keyword>exit</keyword>
</context>
<context id="tcl">
<include>
<context ref="def:shebang"/>
<context ref="def:shell-like-comment"/>
<context ref="def:string"/>
<context ref="def:single-quoted-string"/>
<context ref="variable"/>
<context ref="keyword"/>
</include>
</context>
</definitions>
</language>