<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<head>
<style>.content {
padding: 20px;
height: 100%;
width: 944px;
margin-left: auto;
margin-right: auto;
}
.fold {
width: 20px;
float: left;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.number {
width: 45px;
float: left;
margin-right: 10px;
text-align: right;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.line {
}
.content {
font-family: "Monospace";
font-size: 1em;
background: #3f3f3f;
color: White;
width: 944px;
padding: 20px;
height: 100%;
margin-left: auto;
margin-right: auto;
}
font.Alert {
color: Yellow;
font-weight: bold;
}
font.Annotation {
color: Yellow;
font-style: italic;
}
font.Attribute {
color: LightPink;
}
font.BaseN {
color: Gold;
}
font.BuiltIn {
color: Coral;
}
font.Char {
color: Cyan;
}
font.Comment {
color: Beige;
font-style: italic;
}
font.CommentVar {
color: LightBlue;
font-style: italic;
}
font.Constant {
color: White;
font-weight: bold;
}
font.ControlFlow {
color: DeepPink;
}
font.DataType {
color: CadetBlue;
}
font.DecVal {
color: MediumPurple;
font-weight: bold;
}
font.Documentation {
color: Gold;
font-style: italic;
}
font.Error {
color: Red;
font-weight: bold;
}
font.Extension {
color: DarkGray;
font-weight: bold;
}
font.Float {
color: DarkViolet;
font-weight: bold;
}
font.Function {
color: RosyBrown;
}
font.Import {
color: PaleVioletRed;
}
font.Information {
color: LightGreen;
font-style: italic;
}
font.Keyword {
color: LightGreen;
font-weight: bold;
}
font.Normal {
color: White;
}
font.Operator {
color: Magenta;
}
font.Others {
color: GreenYellow;
}
font.Preprocessor {
color: DarkSeaGreen ;
font-weight: bold;
}
font.RegionMarker {
color: Plum;
}
font.SpecialChar {
color: Plum;
font-weight: bold;
}
font.SpecialString {
color: LightBlue;
}
font.String {
color: MediumAquaMarine;
}
font.Variable {
color: Turquoise;
font-weight: bold;
}
font.VerbatimString {
color: LightSkyBlue;
}
font.Warning {
color: Brown;
font-weight: bold;
}
</style>
<title>Kamelon output</title>
</head>
<body>
<div class="content">
<div id="1" class="line"><font class="DataType"><!DOCTYPE </font><font class="Normal">html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"</font><font class="DataType">></font></br></div>
<div id="2" class="line"><font class="Keyword"><html</font><font class="Others"> xmlns=</font><font class="String">"http://www.w3.org/1999/xhtml"</font><font class="Keyword">></font></br></div>
<div id="3" class="line"><font class="Keyword"><head></font></br></div>
<div id="4" class="line"><font class="Keyword"><title></font><font class="Normal">Tk::CodeText - a TextUndo widget with syntax highlighting capabilities</font><font class="Keyword"></title></font></br></div>
<div id="5" class="line"><font class="Keyword"><link</font><font class="Others"> rev=</font><font class="String">"made"</font><font class="Others"> href=</font><font class="String">"mailto:feedback@suse.de"</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="6" class="line"><font class="Keyword"></head></font></br></div>
<div id="7" class="line"></br></div>
<div id="8" class="line"><font class="Keyword"><body</font><font class="Others"> style=</font><font class="String">"background-color: white"</font><font class="Keyword">></font></br></div>
<div id="9" class="line"></br></div>
<div id="10" class="line"><font class="Keyword"><p><a</font><font class="Others"> name=</font><font class="String">"__index__"</font><font class="Keyword">></a></p></font></br></div>
<div id="11" class="line"><font class="Comment"><!-- INDEX </font><font class="RegionMarker">BEGIN</font><font class="Comment"> --></font></br></div>
<div id="12" class="line"></br></div>
<div id="13" class="line"><font class="Keyword"><ul></font></br></div>
<div id="14" class="line"></br></div>
<div id="15" class="line"><font class="Normal"> </font><font class="Keyword"><li><a</font><font class="Others"> href=</font><font class="String">"#name"</font><font class="Keyword">></font><font class="Normal">NAME</font><font class="Keyword"></a></li></font></br></div>
<div id="16" class="line"><font class="Normal"> </font><font class="Keyword"><li><a</font><font class="Others"> href=</font><font class="String">"#synopsis"</font><font class="Keyword">></font><font class="Normal">SYNOPSIS</font><font class="Keyword"></a></li></font></br></div>
<div id="17" class="line"><font class="Normal"> </font><font class="Keyword"><li><a</font><font class="Others"> href=</font><font class="String">"#description"</font><font class="Keyword">></font><font class="Normal">DESCRIPTION</font><font class="Keyword"></a></li></font></br></div>
<div id="18" class="line"><font class="Normal"> </font><font class="Keyword"><li><a</font><font class="Others"> href=</font><font class="String">"#options"</font><font class="Keyword">></font><font class="Normal">OPTIONS</font><font class="Keyword"></a></li></font></br></div>
<div id="19" class="line"><font class="Normal"> </font><font class="Keyword"><li><a</font><font class="Others"> href=</font><font class="String">"#methods"</font><font class="Keyword">></font><font class="Normal">METHODS</font><font class="Keyword"></a></li></font></br></div>
<div id="20" class="line"><font class="Normal"> </font><font class="Keyword"><li><a</font><font class="Others"> href=</font><font class="String">"#syntax_highlighting"</font><font class="Keyword">></font><font class="Normal">SYNTAX HIGHLIGHTING</font><font class="Keyword"></a></li></font></br></div>
<div id="21" class="line"><font class="Normal"> </font><font class="Keyword"><li><a</font><font class="Others"> href=</font><font class="String">"#writing_plugins"</font><font class="Keyword">></font><font class="Normal">WRITING PLUGINS</font><font class="Keyword"></a></li></font></br></div>
<div id="22" class="line"><font class="Normal"> </font><font class="Keyword"><li><a</font><font class="Others"> href=</font><font class="String">"#author"</font><font class="Keyword">></font><font class="Normal">AUTHOR</font><font class="Keyword"></a></li></font></br></div>
<div id="23" class="line"><font class="Normal"> </font><font class="Keyword"><li><a</font><font class="Others"> href=</font><font class="String">"#bugs"</font><font class="Keyword">></font><font class="Normal">BUGS</font><font class="Keyword"></a></li></font></br></div>
<div id="24" class="line"><font class="Normal"> </font><font class="Keyword"><li><a</font><font class="Others"> href=</font><font class="String">"#todo"</font><font class="Keyword">></font><font class="Normal">TODO</font><font class="Keyword"></a></li></font></br></div>
<div id="25" class="line"><font class="Normal"> </font><font class="Keyword"><li><a</font><font class="Others"> href=</font><font class="String">"#see_also"</font><font class="Keyword">></font><font class="Normal">SEE ALSO</font><font class="Keyword"></a></li></font></br></div>
<div id="26" class="line"><font class="Keyword"></ul></font></br></div>
<div id="27" class="line"><font class="Comment"><!-- INDEX </font><font class="RegionMarker">END</font><font class="Comment"> --></font></br></div>
<div id="28" class="line"></br></div>
<div id="29" class="line"><font class="Keyword"><hr</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="30" class="line"><font class="Keyword"><p></font></br></div>
<div id="31" class="line"><font class="Keyword"></p></font></br></div>
<div id="32" class="line"><font class="Keyword"><h1><a</font><font class="Others"> name=</font><font class="String">"name"</font><font class="Keyword">></font><font class="Normal">NAME</font><font class="Keyword"></a></h1></font></br></div>
<div id="33" class="line"><font class="Keyword"><p></font><font class="Normal">Tk::CodeText - a TextUndo widget with syntax highlighting capabilities</font><font class="Keyword"></p></font></br></div>
<div id="34" class="line"><font class="Keyword"><p></font></br></div>
<div id="35" class="line"><font class="Keyword"></p></font></br></div>
<div id="36" class="line"><font class="Keyword"><hr</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="37" class="line"><font class="Keyword"><h1><a</font><font class="Others"> name=</font><font class="String">"synopsis"</font><font class="Keyword">></font><font class="Normal">SYNOPSIS</font><font class="Keyword"></a></h1></font></br></div>
<div id="38" class="line"><font class="Keyword"><pre></font></br></div>
<div id="39" class="line"><font class="Normal"> use Tk;</font></br></div>
<div id="40" class="line"><font class="Normal"> require Tk::CodeText;</font><font class="Keyword"></pre></font></br></div>
<div id="41" class="line"><font class="Keyword"><pre></font></br></div>
<div id="42" class="line"><font class="Normal"> my $m = new MainWindow;</font><font class="Keyword"></pre></font></br></div>
<div id="43" class="line"><font class="Keyword"><pre></font></br></div>
<div id="44" class="line"><font class="Normal"> my $e = $m-</font><font class="DecVal">&gt;</font><font class="Normal">Scrolled('CodeText',</font></br></div>
<div id="45" class="line"><font class="Normal"> -disablemenu =</font><font class="DecVal">&gt;</font><font class="Normal"> 1,</font></br></div>
<div id="46" class="line"><font class="Normal"> -syntax =</font><font class="DecVal">&gt;</font><font class="Normal"> 'Perl',</font></br></div>
<div id="47" class="line"><font class="Normal"> -scrollbars =</font><font class="DecVal">&gt;</font><font class="Normal"> 'se',</font></br></div>
<div id="48" class="line"><font class="Normal"> )-</font><font class="DecVal">&gt;</font><font class="Normal">pack(-expand =</font><font class="DecVal">&gt;</font><font class="Normal"> 1, -fill =</font><font class="DecVal">&gt;</font><font class="Normal"> 'both');</font><font class="Keyword"></pre></font></br></div>
<div id="49" class="line"><font class="Keyword"><pre></font></br></div>
<div id="50" class="line"><font class="Normal"> $m-</font><font class="DecVal">&gt;</font><font class="Normal">configure(-menu =</font><font class="DecVal">&gt;</font><font class="Normal"> $e-</font><font class="DecVal">&gt;</font><font class="Normal">menu);</font></br></div>
<div id="51" class="line"><font class="Normal"> $m-</font><font class="DecVal">&gt;</font><font class="Normal">MainLoop;</font><font class="Keyword"></pre></font></br></div>
<div id="52" class="line"><font class="Keyword"><p></font></br></div>
<div id="53" class="line"><font class="Keyword"></p></font></br></div>
<div id="54" class="line"><font class="Keyword"><hr</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="55" class="line"><font class="Keyword"><h1><a</font><font class="Others"> name=</font><font class="String">"description"</font><font class="Keyword">></font><font class="Normal">DESCRIPTION</font><font class="Keyword"></a></h1></font></br></div>
<div id="56" class="line"><font class="Keyword"><p></font><font class="Normal">Tk::CodeText inherits Tk::TextUndo and all its options and methods. Besides</font></br></div>
<div id="57" class="line"><font class="Normal">syntax highlighting, methods are provided for commenting and uncommenting</font></br></div>
<div id="58" class="line"><font class="Normal">as well as indenting and unindenting a selected area, matching pairs of braces, brackets and</font></br></div>
<div id="59" class="line"><font class="Normal">brackets and curlies and automatic indenting of new lines.</font><font class="Keyword"></p></font></br></div>
<div id="60" class="line"><font class="Keyword"><p></font><font class="Normal">Syntax highlighting is done through a plugin approach. Currently there is</font></br></div>
<div id="61" class="line"><font class="Normal">support for </font><font class="Keyword"><strong></font><font class="Normal">Perl</font><font class="Keyword"></strong></font><font class="Normal">, </font><font class="Keyword"><strong></font><font class="Normal">Pod</font><font class="Keyword"></strong></font><font class="Normal">, </font><font class="Keyword"><strong></font><font class="Normal">HTML</font><font class="Keyword"></strong></font><font class="Normal"> and </font><font class="Keyword"><strong></font><font class="Normal">Xresources</font><font class="Keyword"></strong></font><font class="Normal">. Adding languages </font></br></div>
<div id="62" class="line"><font class="Normal">is a matter of writing plugin modules. Theoretically this is not limited to programming languages. </font></br></div>
<div id="63" class="line"><font class="Normal">The plugin approach could also provide the possibility for grammar or spell checking in spoken </font></br></div>
<div id="64" class="line"><font class="Normal">languages.</font><font class="Keyword"></p></font></br></div>
<div id="65" class="line"><font class="Keyword"><p></font></br></div>
<div id="66" class="line"><font class="Keyword"></p></font></br></div>
<div id="67" class="line"><font class="Keyword"><hr</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="68" class="line"><font class="Keyword"><h1><a</font><font class="Others"> name=</font><font class="String">"options"</font><font class="Keyword">></font><font class="Normal">OPTIONS</font><font class="Keyword"></a></h1></font></br></div>
<div id="69" class="line"><font class="Keyword"><dl></font></br></div>
<div id="70" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_name%3a_autoindent"</font><font class="Keyword">></font><font class="Normal">Name: </font><font class="Keyword"><strong></font><font class="Normal">autoindent</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="71" class="line"><font class="Keyword"></dt></font></br></div>
<div id="72" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_class%3a_autoindent"</font><font class="Keyword">></font><font class="Normal">Class: </font><font class="Keyword"><strong></font><font class="Normal">Autoindent</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="73" class="line"><font class="Keyword"></dt></font></br></div>
<div id="74" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_switch%3a_%2dautoindent"</font><font class="Keyword">></font><font class="Normal">Switch: </font><font class="Keyword"><strong></font><font class="Normal">-autoindent</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="75" class="line"><font class="Keyword"></dt></font></br></div>
<div id="76" class="line"><font class="Keyword"><dd></font></br></div>
<div id="77" class="line"><font class="Normal">Boolean, when you press the enter button, should the next line begin at the</font></br></div>
<div id="78" class="line"><font class="Normal">same position as the current line or not. By default </font><font class="Keyword"><strong></font><font class="Normal">false</font><font class="Keyword"></strong></font><font class="Normal">.</font></br></div>
<div id="79" class="line"><font class="Keyword"></dd></font></br></div>
<div id="80" class="line"><font class="Keyword"><p></p></font></br></div>
<div id="81" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_name%3a_commentchar"</font><font class="Keyword">></font><font class="Normal">Name: </font><font class="Keyword"><strong></font><font class="Normal">commentchar</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="82" class="line"><font class="Keyword"></dt></font></br></div>
<div id="83" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_class%3a_commentchar"</font><font class="Keyword">></font><font class="Normal">Class: </font><font class="Keyword"><strong></font><font class="Normal">Commentchar</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="84" class="line"><font class="Keyword"></dt></font></br></div>
<div id="85" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_switch%3a_%2dcommentchar"</font><font class="Keyword">></font><font class="Normal">Switch: </font><font class="Keyword"><strong></font><font class="Normal">-commentchar</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="86" class="line"><font class="Keyword"></dt></font></br></div>
<div id="87" class="line"><font class="Keyword"><dd></font></br></div>
<div id="88" class="line"><font class="Normal">By default ``#''.</font></br></div>
<div id="89" class="line"><font class="Keyword"></dd></font></br></div>
<div id="90" class="line"><font class="Keyword"><p></p></font></br></div>
<div id="91" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_name%3a_disablemenu"</font><font class="Keyword">></font><font class="Normal">Name: </font><font class="Keyword"><strong></font><font class="Normal">disablemenu</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="92" class="line"><font class="Keyword"></dt></font></br></div>
<div id="93" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_class%3a_disablemenu"</font><font class="Keyword">></font><font class="Normal">Class: </font><font class="Keyword"><strong></font><font class="Normal">Disablemenu</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="94" class="line"><font class="Keyword"></dt></font></br></div>
<div id="95" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_switch%3a_%2ddisablemenu"</font><font class="Keyword">></font><font class="Normal">Switch: </font><font class="Keyword"><strong></font><font class="Normal">-disablemenu</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="96" class="line"><font class="Keyword"></dt></font></br></div>
<div id="97" class="line"><font class="Keyword"><dd></font></br></div>
<div id="98" class="line"><font class="Normal">Boolean, by default 0. In case you don't want the menu under the</font></br></div>
<div id="99" class="line"><font class="Normal">right mouse button to pop up.</font></br></div>
<div id="100" class="line"><font class="Keyword"></dd></font></br></div>
<div id="101" class="line"><font class="Keyword"><p></p></font></br></div>
<div id="102" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_name%3a_indentchar"</font><font class="Keyword">></font><font class="Normal">Name: </font><font class="Keyword"><strong></font><font class="Normal">indentchar</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="103" class="line"><font class="Keyword"></dt></font></br></div>
<div id="104" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_class%3a_indentchar"</font><font class="Keyword">></font><font class="Normal">Class: </font><font class="Keyword"><strong></font><font class="Normal">Indentchar</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="105" class="line"><font class="Keyword"></dt></font></br></div>
<div id="106" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_switch%3a_%2dindentchar"</font><font class="Keyword">></font><font class="Normal">Switch: </font><font class="Keyword"><strong></font><font class="Normal">-indentchar</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="107" class="line"><font class="Keyword"></dt></font></br></div>
<div id="108" class="line"><font class="Keyword"><dd></font></br></div>
<div id="109" class="line"><font class="Normal">By default ``\t''.</font></br></div>
<div id="110" class="line"><font class="Keyword"></dd></font></br></div>
<div id="111" class="line"><font class="Keyword"><p></p></font></br></div>
<div id="112" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_name%3a_match"</font><font class="Keyword">></font><font class="Normal">Name: </font><font class="Keyword"><strong></font><font class="Normal">match</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="113" class="line"><font class="Keyword"></dt></font></br></div>
<div id="114" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_class%3a_match"</font><font class="Keyword">></font><font class="Normal">Class: </font><font class="Keyword"><strong></font><font class="Normal">Match</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="115" class="line"><font class="Keyword"></dt></font></br></div>
<div id="116" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_switch%3a_%2dmatch"</font><font class="Keyword">></font><font class="Normal">Switch: </font><font class="Keyword"><strong></font><font class="Normal">-match</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="117" class="line"><font class="Keyword"></dt></font></br></div>
<div id="118" class="line"><font class="Keyword"><dd></font></br></div>
<div id="119" class="line"><font class="Normal">string of pairs for brace/bracket/curlie etc matching. If this description</font></br></div>
<div id="120" class="line"><font class="Normal">doesn't make anything clear, don't worry, the default setting will:</font></br></div>
<div id="121" class="line"><font class="Keyword"></dd></font></br></div>
<div id="122" class="line"><font class="Keyword"><dd></font></br></div>
<div id="123" class="line"><font class="Keyword"><pre></font></br></div>
<div id="124" class="line"><font class="Normal"> '[]{}()'</font><font class="Keyword"></pre></font></br></div>
<div id="125" class="line"><font class="Keyword"></dd></font></br></div>
<div id="126" class="line"><font class="Keyword"><dd></font></br></div>
<div id="127" class="line"><font class="Keyword"><p></font><font class="Normal">if you don't want matching to be available, simply set it to ''.</font><font class="Keyword"></p></font></br></div>
<div id="128" class="line"><font class="Keyword"></dd></font></br></div>
<div id="129" class="line"><font class="Keyword"><p></p></font></br></div>
<div id="130" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_name%3a_matchoptions"</font><font class="Keyword">></font><font class="Normal">Name: </font><font class="Keyword"><strong></font><font class="Normal">matchoptions</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="131" class="line"><font class="Keyword"></dt></font></br></div>
<div id="132" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_class%3a_matchoptions"</font><font class="Keyword">></font><font class="Normal">Class: </font><font class="Keyword"><strong></font><font class="Normal">Matchoptions</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="133" class="line"><font class="Keyword"></dt></font></br></div>
<div id="134" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_switch%3a_%2dmatchoptions"</font><font class="Keyword">></font><font class="Normal">Switch: </font><font class="Keyword"><strong></font><font class="Normal">-matchoptions</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="135" class="line"><font class="Keyword"></dt></font></br></div>
<div id="136" class="line"><font class="Keyword"><dd></font></br></div>
<div id="137" class="line"><font class="Normal">Options list for the tag 'Match'. By default:</font></br></div>
<div id="138" class="line"><font class="Keyword"></dd></font></br></div>
<div id="139" class="line"><font class="Keyword"><dd></font></br></div>
<div id="140" class="line"><font class="Keyword"><pre></font></br></div>
<div id="141" class="line"><font class="Normal"> [-background =</font><font class="DecVal">&gt;</font><font class="Normal"> 'red', -foreground =</font><font class="DecVal">&gt;</font><font class="Normal"> 'yellow']</font><font class="Keyword"></pre></font></br></div>
<div id="142" class="line"><font class="Keyword"></dd></font></br></div>
<div id="143" class="line"><font class="Keyword"><dd></font></br></div>
<div id="144" class="line"><font class="Keyword"><p></font><font class="Normal">You can also specify this option as a space separated string. Might come in</font></br></div>
<div id="145" class="line"><font class="Normal">handy for your Xresource files.</font><font class="Keyword"></p></font></br></div>
<div id="146" class="line"><font class="Keyword"></dd></font></br></div>
<div id="147" class="line"><font class="Keyword"><dd></font></br></div>
<div id="148" class="line"><font class="Keyword"><pre></font></br></div>
<div id="149" class="line"><font class="Normal"> </font><font class="DecVal">&quot;</font><font class="Normal">-background red -foreground yellow</font><font class="DecVal">&quot;</font><font class="Keyword"></pre></font></br></div>
<div id="150" class="line"><font class="Keyword"></dd></font></br></div>
<div id="151" class="line"><font class="Keyword"><p></p></font></br></div>
<div id="152" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_name%3a_not_available"</font><font class="Keyword">></font><font class="Normal">Name: not available</font><font class="Keyword"></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="153" class="line"><font class="Keyword"></dt></font></br></div>
<div id="154" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_class%3a_not_available"</font><font class="Keyword">></font><font class="Normal">Class: not available</font><font class="Keyword"></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="155" class="line"><font class="Keyword"></dt></font></br></div>
<div id="156" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_switch_%2drules"</font><font class="Keyword">></font><font class="Normal">Switch </font><font class="Keyword"><strong></font><font class="Normal">-rules</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="157" class="line"><font class="Keyword"></dt></font></br></div>
<div id="158" class="line"><font class="Keyword"><dd></font></br></div>
<div id="159" class="line"><font class="Normal">Specify the color and font options for highlighting. You specify a list</font></br></div>
<div id="160" class="line"><font class="Normal">looking a bit like this.</font></br></div>
<div id="161" class="line"><font class="Keyword"></dd></font></br></div>
<div id="162" class="line"><font class="Keyword"><dd></font></br></div>
<div id="163" class="line"><font class="Keyword"><pre></font></br></div>
<div id="164" class="line"><font class="Normal"> [</font></br></div>
<div id="165" class="line"><font class="Normal"> ['Tagname1', @options1],</font></br></div>
<div id="166" class="line"><font class="Normal"> ['Tagname2', @options2],</font></br></div>
<div id="167" class="line"><font class="Normal"> ]</font><font class="Keyword"></pre></font></br></div>
<div id="168" class="line"><font class="Keyword"></dd></font></br></div>
<div id="169" class="line"><font class="Keyword"><dd></font></br></div>
<div id="170" class="line"><font class="Keyword"><p></font><font class="Normal">The names of the tags are depending on the syntax that is highlighted. </font></br></div>
<div id="171" class="line"><font class="Normal">See the language modules for more information about this data structure.</font><font class="Keyword"></p></font></br></div>
<div id="172" class="line"><font class="Keyword"></dd></font></br></div>
<div id="173" class="line"><font class="Keyword"><p></p></font></br></div>
<div id="174" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_name%3a_rulesdir"</font><font class="Keyword">></font><font class="Normal">Name: rulesdir</font><font class="Keyword"></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="175" class="line"><font class="Keyword"></dt></font></br></div>
<div id="176" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_class%3a_rulesdir"</font><font class="Keyword">></font><font class="Normal">Class: Rulesdir</font><font class="Keyword"></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="177" class="line"><font class="Keyword"></dt></font></br></div>
<div id="178" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_switch_%2drulesdir"</font><font class="Keyword">></font><font class="Normal">Switch </font><font class="Keyword"><strong></font><font class="Normal">-rulesdir</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="179" class="line"><font class="Keyword"></dt></font></br></div>
<div id="180" class="line"><font class="Keyword"><dd></font></br></div>
<div id="181" class="line"><font class="Normal">Specify the directory where this widget stores its coloring defenitions.</font></br></div>
<div id="182" class="line"><font class="Normal">Files in this directory are stored as ``HTML.rules'', ``Perl.rules'' etc.</font></br></div>
<div id="183" class="line"><font class="Normal">By default it is set to '', which means that when you switch syntax</font></br></div>
<div id="184" class="line"><font class="Normal">the highlighting rules are not loaded or stored. The hard coded defaults</font></br></div>
<div id="185" class="line"><font class="Normal">in the language modules will be used.</font></br></div>
<div id="186" class="line"><font class="Keyword"></dd></font></br></div>
<div id="187" class="line"><font class="Keyword"><p></p></font></br></div>
<div id="188" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_name%3a_syntax"</font><font class="Keyword">></font><font class="Normal">Name: </font><font class="Keyword"><strong></font><font class="Normal">syntax</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="189" class="line"><font class="Keyword"></dt></font></br></div>
<div id="190" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_class%3a_syntax"</font><font class="Keyword">></font><font class="Normal">Class: </font><font class="Keyword"><strong></font><font class="Normal">Syntax</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="191" class="line"><font class="Keyword"></dt></font></br></div>
<div id="192" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_switch%3a_%2dsyntax"</font><font class="Keyword">></font><font class="Normal">Switch: </font><font class="Keyword"><strong></font><font class="Normal">-syntax</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="193" class="line"><font class="Keyword"></dt></font></br></div>
<div id="194" class="line"><font class="Keyword"><dd></font></br></div>
<div id="195" class="line"><font class="Normal">Specifies the language for highlighting. At this moment the possible</font></br></div>
<div id="196" class="line"><font class="Normal">values are </font><font class="Keyword"><strong></font><font class="Normal">None</font><font class="Keyword"></strong></font><font class="Normal">, </font><font class="Keyword"><strong></font><font class="Normal">HTML</font><font class="Keyword"></strong></font><font class="Normal">, </font><font class="Keyword"><strong></font><font class="Normal">Perl</font><font class="Keyword"></strong></font><font class="Normal">, </font><font class="Keyword"><strong></font><font class="Normal">Pod</font><font class="Keyword"></strong></font><font class="Normal"> and </font><font class="Keyword"><strong></font><font class="Normal">Xresources</font><font class="Keyword"></strong></font><font class="Normal">. </font></br></div>
<div id="197" class="line"><font class="Normal">By default </font><font class="Keyword"><strong></font><font class="Normal">None</font><font class="Keyword"></strong></font></br></div>
<div id="198" class="line"><font class="Keyword"></dd></font></br></div>
<div id="199" class="line"><font class="Keyword"><dd></font></br></div>
<div id="200" class="line"><font class="Keyword"><p></font><font class="Normal">Alternatively it is possible to specify a reference to your independent plugin.</font><font class="Keyword"></p></font></br></div>
<div id="201" class="line"><font class="Keyword"></dd></font></br></div>
<div id="202" class="line"><font class="Keyword"><p></p></font></br></div>
<div id="203" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_name%3a_not_available"</font><font class="Keyword">></font><font class="Normal">Name: Not available</font><font class="Keyword"></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="204" class="line"><font class="Keyword"></dt></font></br></div>
<div id="205" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_class%3a_not_available"</font><font class="Keyword">></font><font class="Normal">Class: Not available</font><font class="Keyword"></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="206" class="line"><font class="Keyword"></dt></font></br></div>
<div id="207" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_switch%3a_%2dupdatecall"</font><font class="Keyword">></font><font class="Normal">Switch: </font><font class="Keyword"><strong></font><font class="Normal">-updatecall</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="208" class="line"><font class="Keyword"></dt></font></br></div>
<div id="209" class="line"><font class="Keyword"><dd></font></br></div>
<div id="210" class="line"><font class="Normal">Here you can specify a callback that will be executed whenever the insert</font></br></div>
<div id="211" class="line"><font class="Normal">cursor has moved or text has been modified, so your application can keep</font></br></div>
<div id="212" class="line"><font class="Normal">track of position etc. Don't make this callback to heavy, the widget will</font></br></div>
<div id="213" class="line"><font class="Normal">get sluggish quickly.</font></br></div>
<div id="214" class="line"><font class="Keyword"></dd></font></br></div>
<div id="215" class="line"><font class="Keyword"><p></p></dl></font></br></div>
<div id="216" class="line"><font class="Keyword"><p></font><font class="Normal">There are some undocumented options. They are used internally. </font></br></div>
<div id="217" class="line"><font class="Normal">It is propably best to leave them alone.</font><font class="Keyword"></p></font></br></div>
<div id="218" class="line"><font class="Keyword"><p></font></br></div>
<div id="219" class="line"><font class="Keyword"></p></font></br></div>
<div id="220" class="line"><font class="Keyword"><hr</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="221" class="line"><font class="Keyword"><h1><a</font><font class="Others"> name=</font><font class="String">"methods"</font><font class="Keyword">></font><font class="Normal">METHODS</font><font class="Keyword"></a></h1></font></br></div>
<div id="222" class="line"><font class="Keyword"><dl></font></br></div>
<div id="223" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_doautoindent"</font><font class="Keyword">><strong></font><font class="Normal">doAutoIndent</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="224" class="line"><font class="Keyword"></dt></font></br></div>
<div id="225" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_highlight"</font><font class="Keyword">><strong></font><font class="Normal">highlight</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="226" class="line"><font class="Keyword"></dt></font></br></div>
<div id="227" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_highlightcheck"</font><font class="Keyword">><strong></font><font class="Normal">highlightCheck</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="228" class="line"><font class="Keyword"></dt></font></br></div>
<div id="229" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_highlightline"</font><font class="Keyword">><strong></font><font class="Normal">highlightLine</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="230" class="line"><font class="Keyword"></dt></font></br></div>
<div id="231" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_highlightplug"</font><font class="Keyword">><strong></font><font class="Normal">highlightPlug</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="232" class="line"><font class="Keyword"></dt></font></br></div>
<div id="233" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_highlightpluginit"</font><font class="Keyword">><strong></font><font class="Normal">highlightPlugInit</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="234" class="line"><font class="Keyword"></dt></font></br></div>
<div id="235" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_highlightpurge"</font><font class="Keyword">><strong></font><font class="Normal">highlightPurge</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="236" class="line"><font class="Keyword"></dt></font></br></div>
<div id="237" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_highlightvisual"</font><font class="Keyword">><strong></font><font class="Normal">highlightVisual</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="238" class="line"><font class="Keyword"></dt></font></br></div>
<div id="239" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_linenumber"</font><font class="Keyword">><strong></font><font class="Normal">linenumber</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="240" class="line"><font class="Keyword"></dt></font></br></div>
<div id="241" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_matchcheck"</font><font class="Keyword">><strong></font><font class="Normal">matchCheck</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="242" class="line"><font class="Keyword"></dt></font></br></div>
<div id="243" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_matchfind"</font><font class="Keyword">><strong></font><font class="Normal">matchFind</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="244" class="line"><font class="Keyword"></dt></font></br></div>
<div id="245" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_rulesedit"</font><font class="Keyword">><strong></font><font class="Normal">rulesEdit</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="246" class="line"><font class="Keyword"></dt></font></br></div>
<div id="247" class="line"><font class="Keyword"><dd></font></br></div>
<div id="248" class="line"><font class="Normal">Pops up a window that enables the user the set the color and font options</font></br></div>
<div id="249" class="line"><font class="Normal">for the current syntax.</font></br></div>
<div id="250" class="line"><font class="Keyword"></dd></font></br></div>
<div id="251" class="line"><font class="Keyword"><p></p></font></br></div>
<div id="252" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_rulesfetch"</font><font class="Keyword">><strong></font><font class="Normal">rulesFetch</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="253" class="line"><font class="Keyword"></dt></font></br></div>
<div id="254" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_rulessave"</font><font class="Keyword">><strong></font><font class="Normal">rulesSave</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="255" class="line"><font class="Keyword"></dt></font></br></div>
<div id="256" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_selectioncomment"</font><font class="Keyword">><strong></font><font class="Normal">selectionComment</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="257" class="line"><font class="Keyword"></dt></font></br></div>
<div id="258" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_selectionindent"</font><font class="Keyword">><strong></font><font class="Normal">selectionIndent</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="259" class="line"><font class="Keyword"></dt></font></br></div>
<div id="260" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_selectionmodify"</font><font class="Keyword">><strong></font><font class="Normal">selectionModify</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="261" class="line"><font class="Keyword"></dt></font></br></div>
<div id="262" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_selectionuncomment"</font><font class="Keyword">><strong></font><font class="Normal">selectionUnComment</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="263" class="line"><font class="Keyword"></dt></font></br></div>
<div id="264" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_selectionunindent"</font><font class="Keyword">><strong></font><font class="Normal">selectionUnIndent</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="265" class="line"><font class="Keyword"></dt></font></br></div>
<div id="266" class="line"><font class="Keyword"></dl></font></br></div>
<div id="267" class="line"><font class="Keyword"><p></font></br></div>
<div id="268" class="line"><font class="Keyword"></p></font></br></div>
<div id="269" class="line"><font class="Keyword"><hr</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="270" class="line"><font class="Keyword"><h1><a</font><font class="Others"> name=</font><font class="String">"syntax_highlighting"</font><font class="Keyword">></font><font class="Normal">SYNTAX HIGHLIGHTING</font><font class="Keyword"></a></h1></font></br></div>
<div id="271" class="line"><font class="Keyword"><p></font><font class="Normal">This section is a brief description of how the syntax highlighting process</font></br></div>
<div id="272" class="line"><font class="Normal">works.</font><font class="Keyword"></p></font></br></div>
<div id="273" class="line"><font class="Keyword"><p><strong></font><font class="Normal">Initiating plugin</font><font class="Keyword"></strong></p></font></br></div>
<div id="274" class="line"><font class="Keyword"><p></font><font class="Normal">The highlighting plugin is only then initiated when it is needed. When some</font></br></div>
<div id="275" class="line"><font class="Normal">highlighting needs to be done, the widget calls </font><font class="Keyword"><strong></font><font class="Normal">highlightPlug</font><font class="Keyword"></strong></font><font class="Normal"> to retrieve</font></br></div>
<div id="276" class="line"><font class="Normal">a reference to the plugin.</font><font class="Keyword"></p></font></br></div>
<div id="277" class="line"><font class="Keyword"><p><strong></font><font class="Normal">highlightPlug</font><font class="Keyword"></strong></font><font class="Normal"> checks wether a plugin is present. Next it will check whether the </font><font class="Keyword"><strong></font><font class="Normal">-rules</font><font class="Keyword"></strong></font><font class="Normal"> option has been </font></br></div>
<div id="278" class="line"><font class="Normal">specified or whter the </font><font class="Keyword"><strong></font><font class="Normal">-rules</font><font class="Keyword"></strong></font><font class="Normal"> option has changed. If no rules are specified in </font><font class="Keyword"><strong></font><font class="Normal">-rules</font><font class="Keyword"></strong></font><font class="Normal">, it will look for a pathname</font></br></div>
<div id="279" class="line"><font class="Normal">in the </font><font class="Keyword"><strong></font><font class="Normal">-rulesdir</font><font class="Keyword"></strong></font><font class="Normal"> option. If that is found it will try to load a file called '*.rules', where * is the value of </font><font class="Keyword"><strong></font><font class="Normal">-syntax</font><font class="Keyword"></strong></font><font class="Normal">.</font><font class="Keyword"></p></font></br></div>
<div id="280" class="line"><font class="Keyword"><p></font><font class="Normal">If no plugin is present, or the </font><font class="Keyword"><strong></font><font class="Normal">-syntax</font><font class="Keyword"></strong></font><font class="Normal"> option has changed value,</font></br></div>
<div id="281" class="line"><font class="Keyword"><strong></font><font class="Normal">highlightPlug</font><font class="Keyword"></strong></font><font class="Normal"> loads the plugin. and constructs optionally giving it </font></br></div>
<div id="282" class="line"><font class="Normal">a reference to the found rules as parameter. if no rules</font></br></div>
<div id="283" class="line"><font class="Normal">are specified, the plugin will use its internal hardcoded defaults.</font><font class="Keyword"></p></font></br></div>
<div id="284" class="line"><font class="Keyword"><p><strong></font><font class="Normal">Changing the rules</font><font class="Keyword"></strong></p></font></br></div>
<div id="285" class="line"><font class="Keyword"><p></font><font class="Normal">A set of rules is a list, containing lists of tagnames, followed by options. </font></br></div>
<div id="286" class="line"><font class="Normal">If you want to see what they look like, you can have a look at the constructors</font></br></div>
<div id="287" class="line"><font class="Normal">of each plugin module. Every plugin has a fixed set of tagnames it can handle.</font><font class="Keyword"></p></font></br></div>
<div id="288" class="line"><font class="Keyword"><p></font><font class="Normal">There are two ways to change the rules.</font><font class="Keyword"></p></font></br></div>
<div id="289" class="line"><font class="Keyword"><p></font><font class="Normal">You can invoke the </font><font class="Keyword"><strong></font><font class="Normal">rulesEdit</font><font class="Keyword"></strong></font><font class="Normal"> method, which is also available through the </font></br></div>
<div id="290" class="line"><font class="Keyword"><strong></font><font class="Normal">View</font><font class="Keyword"></strong></font><font class="Normal"> menu. The result is a popup in which you can specify color and font</font></br></div>
<div id="291" class="line"><font class="Normal">options for each tagname. After pressing 'Ok', the edited rules will be applied.</font></br></div>
<div id="292" class="line"><font class="Normal">If </font><font class="Keyword"><strong></font><font class="Normal">-rulesdir</font><font class="Keyword"></strong></font><font class="Normal"> is specified, the rules will be saved on disk as</font></br></div>
<div id="293" class="line"><font class="Keyword"><em></font><font class="Normal">rulesdir/syntax.rules</font><font class="Keyword"></em></font><font class="Normal">.</font><font class="Keyword"></p></font></br></div>
<div id="294" class="line"><font class="Keyword"><p></font><font class="Normal">You can also use </font><font class="Keyword"><strong></font><font class="Normal">configure</font><font class="Keyword"></strong></font><font class="Normal"> to specify a new set of rules. In this you have</font></br></div>
<div id="295" class="line"><font class="Normal">ofcause more freedom to use all available tag options. For more details about</font></br></div>
<div id="296" class="line"><font class="Normal">those there is a nice section about tag options in the Tk::Text documentation.</font></br></div>
<div id="297" class="line"><font class="Normal">After the call to </font><font class="Keyword"><strong></font><font class="Normal">configure</font><font class="Keyword"></strong></font><font class="Normal"> it is wise to call </font><font class="Keyword"><strong></font><font class="Normal">highlightPlug</font><font class="Keyword"></strong></font><font class="Normal">.</font><font class="Keyword"></p></font></br></div>
<div id="298" class="line"><font class="Keyword"><p><strong></font><font class="Normal">Highlighting text</font><font class="Keyword"></strong></p></font></br></div>
<div id="299" class="line"><font class="Keyword"><p></font><font class="Normal">Syntax highlighting is done in a lazy manor. Only that piece of text is</font></br></div>
<div id="300" class="line"><font class="Normal">highlighted that is needed to present the user a pretty picture. This is</font></br></div>
<div id="301" class="line"><font class="Normal">done to minimize use of system resources. Highlighting is running on the</font></br></div>
<div id="302" class="line"><font class="Normal">foreground. Jumping directly to the end of a long fresh loaded textfile may</font></br></div>
<div id="303" class="line"><font class="Normal">very well take a couple of seconds.</font><font class="Keyword"></p></font></br></div>
<div id="304" class="line"><font class="Keyword"><p></font><font class="Normal">Highlighting is done on a line to line basis. At the end of each line the</font></br></div>
<div id="305" class="line"><font class="Normal">highlighting status is saved in the list in </font><font class="Keyword"><strong></font><font class="Normal">-colorinf</font><font class="Keyword"></strong></font><font class="Normal">, so when highlighting</font></br></div>
<div id="306" class="line"><font class="Normal">the next line, the </font><font class="Keyword"><strong></font><font class="Normal">highlight</font><font class="Keyword"></strong></font><font class="Normal"> method of </font><font class="Keyword"><strong></font><font class="Normal">CodeText</font><font class="Keyword"></strong></font><font class="Normal"> will know how to begin.</font><font class="Keyword"></p></font></br></div>
<div id="307" class="line"><font class="Keyword"><p></font><font class="Normal">The line that needs highlighting is offered to the </font><font class="Keyword"><strong></font><font class="Normal">highlight</font><font class="Keyword"></strong></font><font class="Normal"> method of</font></br></div>
<div id="308" class="line"><font class="Normal">the plugin. This method returns a list of offset and tagname pairs.</font></br></div>
<div id="309" class="line"><font class="Normal">Take for example the following line of perl code.</font><font class="Keyword"></p></font></br></div>
<div id="310" class="line"><font class="Keyword"><pre></font></br></div>
<div id="311" class="line"><font class="Normal"> my $mother = 'older than i am';</font><font class="Keyword"></pre></font></br></div>
<div id="312" class="line"><font class="Keyword"><p></font><font class="Normal">The </font><font class="Keyword"><strong></font><font class="Normal">highlight</font><font class="Keyword"></strong></font><font class="Normal"> method of the Perl plugin will return the following list;</font><font class="Keyword"></p></font></br></div>
<div id="313" class="line"><font class="Keyword"><pre></font></br></div>
<div id="314" class="line"><font class="Normal"> (2 =</font><font class="DecVal">&gt;</font><font class="Normal"> 'Reserved', #'my' is a reserved word</font></br></div>
<div id="315" class="line"><font class="Normal"> 1 =</font><font class="DecVal">&gt;</font><font class="Normal"> 'DEFAULT', #Space</font></br></div>
<div id="316" class="line"><font class="Normal"> 7 =</font><font class="DecVal">&gt;</font><font class="Normal"> 'Variable', #$mother</font></br></div>
<div id="317" class="line"><font class="Normal"> 1 =</font><font class="DecVal">&gt;</font><font class="Normal"> 'DEFAULT', #Space</font></br></div>
<div id="318" class="line"><font class="Normal"> 1 =</font><font class="DecVal">&gt;</font><font class="Normal"> 'Operator', #'='</font></br></div>
<div id="319" class="line"><font class="Normal"> 1 =</font><font class="DecVal">&gt;</font><font class="Normal"> 'DEFAULT', #Space</font></br></div>
<div id="320" class="line"><font class="Normal"> 17 =</font><font class="DecVal">&gt;</font><font class="Normal"> 'String', #'older than i am'</font></br></div>
<div id="321" class="line"><font class="Normal"> 1 =</font><font class="DecVal">&gt;</font><font class="Normal"> 'DEFAULT',) #;</font><font class="Keyword"></pre></font></br></div>
<div id="322" class="line"><font class="Keyword"><p></font><font class="Normal">The </font><font class="Keyword"><strong></font><font class="Normal">highlight</font><font class="Keyword"></strong></font><font class="Normal"> method of CodeText will then mark positions 0 to 2 as </font></br></div>
<div id="323" class="line"><font class="Normal">'Reserved', positions 2 to 3 as 'DEFAULT', positions 3 to 10 as 'Variable',</font></br></div>
<div id="324" class="line"><font class="Normal">etcetera.</font><font class="Keyword"></p></font></br></div>
<div id="325" class="line"><font class="Keyword"><p></font></br></div>
<div id="326" class="line"><font class="Keyword"></p></font></br></div>
<div id="327" class="line"><font class="Keyword"><hr</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="328" class="line"><font class="Keyword"><h1><a</font><font class="Others"> name=</font><font class="String">"writing_plugins"</font><font class="Keyword">></font><font class="Normal">WRITING PLUGINS</font><font class="Keyword"></a></h1></font></br></div>
<div id="329" class="line"><font class="Keyword"><p></font><font class="Normal">After writing a couple of plugins myself i have come to a couple of guidelines</font></br></div>
<div id="330" class="line"><font class="Normal">about how to set them up. If you are interested in adding support for your</font></br></div>
<div id="331" class="line"><font class="Normal">own syntax highlighting problem or language this section is of interest to you.</font><font class="Keyword"></p></font></br></div>
<div id="332" class="line"><font class="Keyword"><p><strong></font><font class="Normal">From scratch</font><font class="Keyword"></strong></p></font></br></div>
<div id="333" class="line"><font class="Keyword"><p></font><font class="Normal">If you choose to build a plugin completely from scratch, your module needs</font></br></div>
<div id="334" class="line"><font class="Normal">to meet the following requirements.</font><font class="Keyword"></p></font></br></div>
<div id="335" class="line"><font class="Keyword"><pre></font></br></div>
<div id="336" class="line"><font class="Normal"> - If you want to write a formal addition to Tk::CodeText, </font></br></div>
<div id="337" class="line"><font class="Normal"> your plugin must be in the namespace </font></br></div>
<div id="338" class="line"><font class="Normal"> Tk::CodeText::YourSyntax.</font></br></div>
<div id="339" class="line"><font class="Normal"> - The constructor is called 'new', and it should accept </font></br></div>
<div id="340" class="line"><font class="Normal"> a reference a reference to a list of rules as parameters.</font></br></div>
<div id="341" class="line"><font class="Normal"> - The following methods will be called upon by Tk::CodeText: </font></br></div>
<div id="342" class="line"><font class="Normal"> highlight, stateCompare, rules, setSate, </font></br></div>
<div id="343" class="line"><font class="Normal"> getState, syntax.</font><font class="Keyword"></pre></font></br></div>
<div id="344" class="line"><font class="Keyword"><p></font><font class="Normal">More information about those methods is available in the documentation of</font></br></div>
<div id="345" class="line"><font class="Normal">Tk::CodeText::None and Tk::CodeText::Template. Good luck, you're on your own now.</font><font class="Keyword"></p></font></br></div>
<div id="346" class="line"><font class="Keyword"><p><strong></font><font class="Normal">Inheriting Tk::CodeText::Template</font><font class="Keyword"></strong></p></font></br></div>
<div id="347" class="line"><font class="Keyword"><p></font><font class="Normal">For many not too complicated highlighting problems Tk::CodeText::Template</font></br></div>
<div id="348" class="line"><font class="Normal">provides a nice basis to start from. I have been able to write to</font></br></div>
<div id="349" class="line"><font class="Normal">easily write support for HTML, Pod and Xresources files. Anyway, your code</font></br></div>
<div id="350" class="line"><font class="Normal">should look like this:</font><font class="Keyword"></p></font></br></div>
<div id="351" class="line"><font class="Keyword"><pre></font></br></div>
<div id="352" class="line"><font class="Normal"> package Tk::CodeText::MySyntax;</font></br></div>
<div id="353" class="line"><font class="Normal"> </font></br></div>
<div id="354" class="line"><font class="Normal"> use strict;</font></br></div>
<div id="355" class="line"><font class="Normal"> use base('Tk::CodeText::Template');</font></br></div>
<div id="356" class="line"><font class="Normal"> </font></br></div>
<div id="357" class="line"><font class="Normal"> sub new {</font></br></div>
<div id="358" class="line"><font class="Normal"> my ($proto, $wdg, $rules) = @_;</font></br></div>
<div id="359" class="line"><font class="Normal"> my $class = ref($proto) || $proto;</font><font class="Keyword"></pre></font></br></div>
<div id="360" class="line"><font class="Keyword"><p></font><font class="Normal">Next, specify the set of hardcoded rules.</font><font class="Keyword"></p></font></br></div>
<div id="361" class="line"><font class="Keyword"><pre></font></br></div>
<div id="362" class="line"><font class="Normal"> if (not defined($rules)) {</font></br></div>
<div id="363" class="line"><font class="Normal"> $rules = [</font></br></div>
<div id="364" class="line"><font class="Normal"> ['Tagname1', -foreground =</font><font class="DecVal">&gt;</font><font class="Normal"> 'red'],</font></br></div>
<div id="365" class="line"><font class="Normal"> ['Tagname1', -foreground =</font><font class="DecVal">&gt;</font><font class="Normal"> 'red'],</font></br></div>
<div id="366" class="line"><font class="Normal"> ];</font></br></div>
<div id="367" class="line"><font class="Normal"> };</font><font class="Keyword"></pre></font></br></div>
<div id="368" class="line"><font class="Keyword"><p></font><font class="Normal">Call the constructor of Tk::CodeText::Template and bless your</font></br></div>
<div id="369" class="line"><font class="Normal">object.</font><font class="Keyword"></p></font></br></div>
<div id="370" class="line"><font class="Keyword"><pre></font></br></div>
<div id="371" class="line"><font class="Normal"> my $self = $class-</font><font class="DecVal">&gt;</font><font class="Normal">SUPER::new($wdg, $rules);</font></br></div>
<div id="372" class="line"><font class="Normal"> bless ($self, $class);</font><font class="Keyword"></pre></font></br></div>
<div id="373" class="line"><font class="Keyword"><p></font><font class="Normal">Perhaps do a couple of other things</font><font class="Keyword"></p></font></br></div>
<div id="374" class="line"><font class="Keyword"><pre></font></br></div>
<div id="375" class="line"><font class="Normal"> #$self-</font><font class="DecVal">&gt;</font><font class="Normal">listAdd('listname', value1, value2 ....)</font><font class="Keyword"></pre></font></br></div>
<div id="376" class="line"><font class="Keyword"><pre></font></br></div>
<div id="377" class="line"><font class="Normal"> return $self;</font></br></div>
<div id="378" class="line"><font class="Normal"> }</font><font class="Keyword"></pre></font></br></div>
<div id="379" class="line"><font class="Keyword"><p></font><font class="Normal">Then you need a </font><font class="Keyword"><strong></font><font class="Normal">highlight</font><font class="Keyword"></strong></font><font class="Normal"> method. This method will be given a line of text</font></br></div>
<div id="380" class="line"><font class="Normal">as parameter by CodeText.</font><font class="Keyword"></p></font></br></div>
<div id="381" class="line"><font class="Keyword"><pre></font></br></div>
<div id="382" class="line"><font class="Normal"> sub highlight {</font></br></div>
<div id="383" class="line"><font class="Normal"> my ($self $txt) = @_;</font><font class="Keyword"></pre></font></br></div>
<div id="384" class="line"><font class="Keyword"><p></font><font class="Normal">Reset everything so that there is a clean beginning;</font><font class="Keyword"></p></font></br></div>
<div id="385" class="line"><font class="Keyword"><pre></font></br></div>
<div id="386" class="line"><font class="Normal"> $cw-</font><font class="DecVal">&gt;</font><font class="Normal">snippet('');</font></br></div>
<div id="387" class="line"><font class="Normal"> my $out = $self-</font><font class="DecVal">&gt;</font><font class="Normal">out;</font></br></div>
<div id="388" class="line"><font class="Normal"> @$out = ();</font><font class="Keyword"></pre></font></br></div>
<div id="389" class="line"><font class="Keyword"><p></font><font class="Normal">Here comes the difficult part, where you are on your own. Perhaps you can</font></br></div>
<div id="390" class="line"><font class="Normal">draw some inspiration from existing highlighting plugins. The trick is to</font></br></div>
<div id="391" class="line"><font class="Normal">repeatedly build a text snippet using the </font><font class="Keyword"><strong></font><font class="Normal">snippet</font><font class="Keyword"></strong></font><font class="Normal"> and/or </font><font class="Keyword"><strong></font><font class="Normal">snippetAppend</font><font class="Keyword"></strong></font></br></div>
<div id="392" class="line"><font class="Normal">methods of Tk::CodeText::Template. Whenever you have a snippet, you want to</font></br></div>
<div id="393" class="line"><font class="Normal">assign a tag to, you call </font><font class="Keyword"><strong></font><font class="Normal">snippetParse</font><font class="Keyword"></strong></font><font class="Normal">. The methods </font><font class="Keyword"><strong></font><font class="Normal">stack</font><font class="Keyword"></strong></font><font class="Normal">, </font><font class="Keyword"><strong></font><font class="Normal">stackPush</font><font class="Keyword"></strong></font><font class="Normal">,</font></br></div>
<div id="394" class="line"><font class="Normal">and </font><font class="Keyword"><strong></font><font class="Normal">stackPush</font><font class="Keyword"></strong></font><font class="Normal"> are used to keep track of the current, possibly nested,</font></br></div>
<div id="395" class="line"><font class="Normal">tag. </font><font class="Keyword"><strong></font><font class="Normal">snippetParse</font><font class="Keyword"></strong></font><font class="Normal"> pushes the length of the snippet and the tagname that</font></br></div>
<div id="396" class="line"><font class="Normal">is on top of the stack to the @$out array. For more information read the</font></br></div>
<div id="397" class="line"><font class="Normal">documentation of Tk::CodeText::Template.</font><font class="Keyword"></p></font></br></div>
<div id="398" class="line"><font class="Keyword"><p></font><font class="Normal">After you're done highlighting, you still have to return your result;</font><font class="Keyword"></p></font></br></div>
<div id="399" class="line"><font class="Keyword"><pre></font></br></div>
<div id="400" class="line"><font class="Normal"> return @$out;</font></br></div>
<div id="401" class="line"><font class="Normal"> }</font><font class="Keyword"></pre></font></br></div>
<div id="402" class="line"><font class="Keyword"><p></font><font class="Normal">And then, last but not least, you need a </font><font class="Keyword"><strong></font><font class="Normal">syntax</font><font class="Keyword"></strong></font><font class="Normal"> method.</font><font class="Keyword"></p></font></br></div>
<div id="403" class="line"><font class="Keyword"><pre></font></br></div>
<div id="404" class="line"><font class="Normal"> sub syntax {</font></br></div>
<div id="405" class="line"><font class="Normal"> my $self = shift;</font></br></div>
<div id="406" class="line"><font class="Normal"> return 'MySyntax'</font></br></div>
<div id="407" class="line"><font class="Normal"> }</font></br></div>
<div id="408" class="line"><font class="Normal"> 1;</font><font class="Keyword"></pre></font></br></div>
<div id="409" class="line"><font class="Keyword"><p><strong></font><font class="Normal">Using another module as basis</font><font class="Keyword"></strong></p></font></br></div>
<div id="410" class="line"><font class="Keyword"><p></font><font class="Normal">An example of this approach is the Perl syntax module.</font><font class="Keyword"></p></font></br></div>
<div id="411" class="line"><font class="Keyword"><p></font><font class="Normal">Also with this approach you will have to meet the minimum criteria</font></br></div>
<div id="412" class="line"><font class="Normal">as set out in the </font><font class="Keyword"><strong></font><font class="Normal">From scratch</font><font class="Keyword"></strong></font><font class="Normal"> section.</font><font class="Keyword"></p></font></br></div>
<div id="413" class="line"><font class="Keyword"><p></font></br></div>
<div id="414" class="line"><font class="Keyword"></p></font></br></div>
<div id="415" class="line"><font class="Keyword"><hr</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="416" class="line"><font class="Keyword"><h1><a</font><font class="Others"> name=</font><font class="String">"author"</font><font class="Keyword">></font><font class="Normal">AUTHOR</font><font class="Keyword"></a></h1></font></br></div>
<div id="417" class="line"><font class="Keyword"><dl></font></br></div>
<div id="418" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_jeuken"</font><font class="Keyword">></font><font class="Normal">Hans Jeuken (</font><font class="Keyword"><a</font><font class="Others"> href=</font><font class="String">"mailto:haje@toneel.demon.nl"</font><font class="Keyword">></font><font class="Normal">haje@toneel.demon.nl</font><font class="Keyword"></a></font><font class="Normal">)</font><font class="Keyword"></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="419" class="line"><font class="Keyword"></dt></font></br></div>
<div id="420" class="line"><font class="Keyword"></dl></font></br></div>
<div id="421" class="line"><font class="Keyword"><p></font></br></div>
<div id="422" class="line"><font class="Keyword"></p></font></br></div>
<div id="423" class="line"><font class="Keyword"><hr</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="424" class="line"><font class="Keyword"><h1><a</font><font class="Others"> name=</font><font class="String">"bugs"</font><font class="Keyword">></font><font class="Normal">BUGS</font><font class="Keyword"></a></h1></font></br></div>
<div id="425" class="line"><font class="Keyword"><p></font><font class="Normal">Unknown.</font><font class="Keyword"></p></font></br></div>
<div id="426" class="line"><font class="Keyword"><p></font></br></div>
<div id="427" class="line"><font class="Keyword"></p></font></br></div>
<div id="428" class="line"><font class="Keyword"><hr</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="429" class="line"><font class="Keyword"><h1><a</font><font class="Others"> name=</font><font class="String">"todo"</font><font class="Keyword">></font><font class="Normal">TODO</font><font class="Keyword"></a></h1></font></br></div>
<div id="430" class="line"><font class="Keyword"><dl></font></br></div>
<div id="431" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_find_and_eliminate_bugs%2e"</font><font class="Keyword">></font><font class="Normal">Find and eliminate bugs.</font><font class="Keyword"></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="432" class="line"><font class="Keyword"></dt></font></br></div>
<div id="433" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_improve_documentation%2e"</font><font class="Keyword">></font><font class="Normal">Improve documentation.</font><font class="Keyword"></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="434" class="line"><font class="Keyword"></dt></font></br></div>
<div id="435" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_add_additional_language_modules%2e_i_am_going_to_n"</font><font class="Keyword">></font><font class="Normal">Add additional language modules. I am going to need help on this one.</font><font class="Keyword"></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="436" class="line"><font class="Keyword"></dt></font></br></div>
<div id="437" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_optimize_highlighting_methods%2e"</font><font class="Keyword">></font><font class="Normal">Optimize highlighting methods.</font><font class="Keyword"></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="438" class="line"><font class="Keyword"></dt></font></br></div>
<div id="439" class="line"><font class="Keyword"><dd></font></br></div>
<div id="440" class="line"><font class="Normal">Syntax highlighting consumes a lot of system resources. Squeezing every bit</font></br></div>
<div id="441" class="line"><font class="Normal">of performance out of it might make it less sluggish on slow systems, like</font></br></div>
<div id="442" class="line"><font class="Normal">a pentium at 100Mhz.</font></br></div>
<div id="443" class="line"><font class="Keyword"></dd></font></br></div>
<div id="444" class="line"><font class="Keyword"><dd></font></br></div>
<div id="445" class="line"><font class="Keyword"><p></font><font class="Normal">If you're interested in this module, please have a look at the code </font></br></div>
<div id="446" class="line"><font class="Normal">and point out to me where I might have overlooked something. Of special</font></br></div>
<div id="447" class="line"><font class="Normal">interest are the CodeText methods </font><font class="Keyword"><strong></font><font class="Normal">highlight</font><font class="Keyword"></strong></font><font class="Normal"> and </font><font class="Keyword"><strong></font><font class="Normal">highlightLine</font><font class="Keyword"></strong></font><font class="Normal"> as well as</font></br></div>
<div id="448" class="line"><font class="Normal">the code of the language modules.</font><font class="Keyword"></p></font></br></div>
<div id="449" class="line"><font class="Keyword"></dd></font></br></div>
<div id="450" class="line"><font class="Keyword"><p></p></font></br></div>
<div id="451" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_add_variable_options_for_linenumber%2c_position%2c"</font><font class="Keyword">></font><font class="Normal">Add variable options for linenumber, position, filename etc.</font><font class="Keyword"></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="452" class="line"><font class="Keyword"></dt></font></br></div>
<div id="453" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_make_the_rules_editor_fail_safe%2e"</font><font class="Keyword">></font><font class="Normal">Make the rules editor fail safe.</font><font class="Keyword"></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="454" class="line"><font class="Keyword"></dt></font></br></div>
<div id="455" class="line"><font class="Keyword"></dl></font></br></div>
<div id="456" class="line"><font class="Keyword"><p></font></br></div>
<div id="457" class="line"><font class="Keyword"></p></font></br></div>
<div id="458" class="line"><font class="Keyword"><hr</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="459" class="line"><font class="Keyword"><h1><a</font><font class="Others"> name=</font><font class="String">"see_also"</font><font class="Keyword">></font><font class="Normal">SEE ALSO</font><font class="Keyword"></a></h1></font></br></div>
<div id="460" class="line"><font class="Keyword"><dl></font></br></div>
<div id="461" class="line"><font class="Keyword"><dt><strong><a</font><font class="Others"> name=</font><font class="String">"item_tk%3a%3atext%2c_tk%3a%3atextundo%2c_tk%3a%3acodete"</font><font class="Keyword">><strong></font><font class="Normal">Tk::Text</font><font class="Keyword"></strong></font><font class="Normal">, </font><font class="Keyword"><strong></font><font class="Normal">Tk::TextUndo</font><font class="Keyword"></strong></font><font class="Normal">, </font><font class="Keyword"><strong></font><font class="Normal">Tk::CodeText::None</font><font class="Keyword"></strong></font><font class="Normal">, </font><font class="Keyword"><strong></font><font class="Normal">Tk::CodeText::Perl</font><font class="Keyword"></strong></font></br></div>
<div id="462" class="line"><font class="Keyword"><strong></font><font class="Normal">Tk::CodeText::HTML</font><font class="Keyword"></strong></a></strong><br</font><font class="Normal"> </font><font class="Keyword">/></font></br></div>
<div id="463" class="line"><font class="Keyword"></dt></font></br></div>
<div id="464" class="line"><font class="Keyword"></dl></font></br></div>
<div id="465" class="line"></br></div>
<div id="466" class="line"><font class="Keyword"></body></font></br></div>
<div id="467" class="line"></br></div>
<div id="468" class="line"><font class="Keyword"></html></font></br></div>
</div>
</body>
</html>