Warning, /frameworks/syntax-highlighting/data/syntax/template-toolkit.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?> 0002 <!DOCTYPE language 0003 [ 0004 <!ENTITY var1 "\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff\.\-]*(\[[a-zA-Z0-9_]*\])*"> 0005 <!ENTITY varwithbraces "\$\{[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff\.\-]*(\[[a-zA-Z0-9_]*\])*\}"> 0006 ]> 0007 <!-- 0008 Copyright (C) 2007 Красимир Беров <k.berov@gmail.com> 0009 Put this file in your $KDEDIR/share/apps/katepart/syntax, 0010 then restart Кate/KDevelop/Quanta... whatever using katepart. 0011 That's it. You have Template Toolkit Syntax highliting. 0012 Enjoy!!! 0013 0014 --> 0015 <!-- 0016 Changelog :) 0017 0.02 Added highliting for interpolated variables 0018 --> 0019 <language version="10" kateversion="5.0" 0020 author="Красимир Беров (k.berov@gmail.com)" license="Artistic" 0021 name="TT2" section="Markup" extensions="*.tt*;" casesensitive="true"> 0022 <highlighting> 0023 <list name="control structures"> 0024 <!-- Template directives --> 0025 <item>SET</item> 0026 <item>GET</item> 0027 <item>CALL</item> 0028 <item>DEFAULT</item> 0029 <item>IF</item> 0030 <item>ELSIF</item> 0031 <item>ELSE</item> 0032 <item>UNLESS</item> 0033 <item>LAST</item> 0034 <item>NEXT</item> 0035 <item>FOR</item> 0036 <item>FOREACH</item> 0037 <item>WHILE</item> 0038 <item>SWITCH</item> 0039 <item>CASE</item> 0040 <item>PROCESS</item> 0041 <item>INCLUDE</item> 0042 <item>INSERT</item> 0043 <item>WRAPPER</item> 0044 <item>BLOCK</item> 0045 <item>MACRO</item> 0046 <item>END</item> 0047 <item>USE</item> 0048 <item>IN</item> 0049 <item>FILTER</item> 0050 <item>TRY</item> 0051 <item>THROW</item> 0052 <item>CATCH</item> 0053 <item>FINAL</item> 0054 <item>META</item> 0055 <item>TAGS</item> 0056 <item>DEBUG</item> 0057 <item>PERL</item> 0058 </list> 0059 <list name="keywords"> 0060 <!-- Compile Time Constant Folding --> 0061 <item>constants</item> 0062 <!-- Special Variables --> 0063 <item>template</item> 0064 <item>component</item> 0065 <item>loop</item> 0066 <item>error</item> 0067 <item>content</item> 0068 </list> 0069 <list name="functions"> 0070 <!-- VMethods --> 0071 <!-- Scalar Virtual Methods --> 0072 <item>defined</item> 0073 <item>length</item> 0074 <item>repeat</item> 0075 <item>replace</item> 0076 <item>match</item> 0077 <item>search</item> 0078 <item>split</item> 0079 <item>chunk</item> 0080 <item>list</item> 0081 <item>hash</item> 0082 <item>size</item> 0083 <!-- Hash Virtual Methods --> 0084 <item>keys</item> 0085 <item>values</item> 0086 <item>each</item> 0087 <item>sort</item> 0088 <item>nsort</item> 0089 <item>import</item> 0090 <item>defined</item> 0091 <item>exists</item> 0092 <item>item</item> 0093 <!-- List Virtual Methods --> 0094 <item>first</item> 0095 <item>last</item> 0096 <item>max</item> 0097 <item>reverse</item> 0098 <item>join</item> 0099 <item>grep</item> 0100 0101 <item>unshift</item> 0102 <item>push</item> 0103 <item>shift</item> 0104 <item>pop</item> 0105 <item>unique</item> 0106 <item>merge</item> 0107 <item>slice</item> 0108 <item>splice</item> 0109 <item>count</item> 0110 <!-- Standard filters --> 0111 <item>format</item> 0112 <item>upper</item> 0113 <item>lower</item> 0114 <item>ucfirst</item> 0115 <item>lcfirst</item> 0116 <item>trim</item> 0117 <item>collapse</item> 0118 <item>html</item> 0119 <item>html_entity</item> 0120 <item>html_para</item> 0121 <item>html_break</item> 0122 <item>html_para_break</item> 0123 <item>html_line_break</item> 0124 <item>uri</item> 0125 <item>url</item> 0126 <item>indent</item> 0127 <item>truncate</item> 0128 <item>repeat</item> 0129 <item>remove</item> 0130 <item>replace</item> 0131 <item>redirect</item> 0132 <item>eval</item> 0133 <item>evaltt</item> 0134 <item>perl</item> 0135 <item>evalperl</item> 0136 <item>stdout</item> 0137 <item>stderr</item> 0138 <item>null</item> 0139 <item>latex</item> 0140 </list> 0141 <list name="operators"> 0142 <item>=</item> 0143 <item>!=</item> 0144 <item>~=</item> 0145 <item>+=</item> 0146 <item>-=</item> 0147 <item>*=</item> 0148 <item>/=</item> 0149 <item>**=</item> 0150 <item>|=</item> 0151 <item>||=</item> 0152 <item>&=</item> 0153 <item>&&=</item> 0154 <item>?=</item> 0155 <item>+</item> 0156 <item>-</item> 0157 <item>*</item> 0158 <!-- <item>/</item>//--> 0159 <item>%</item> 0160 <item>||</item> 0161 <item>&&</item> 0162 <item>|</item> 0163 <item>&</item> 0164 <item><</item> 0165 <item><<</item> 0166 <item>></item> 0167 <item>>></item> 0168 <item>^</item> 0169 <item>-></item> 0170 <item>=></item> 0171 <item>.</item> 0172 <item>,</item> 0173 <item>;</item> 0174 <item>::</item> 0175 <item>\</item> 0176 <item>and</item> 0177 <item>or</item> 0178 <item>not</item> 0179 <item>eq</item> 0180 <item>ne</item> 0181 </list> 0182 0183 <contexts> 0184 <context name="nosource" attribute="Normal Text" lineEndContext="#stay"> 0185 <Detect2Chars attribute="Keyword" context="tt2source" char="[" char1="%" /> 0186 <RegExpr attribute="HTML Tag" context="scripts" String="<\s*script(\s|>)" insensitive="true" /> 0187 <RegExpr attribute="HTML Tag" context="htmltag" String="<\s*\/?\s*[a-zA-Z_:][a-zA-Z0-9._:-]*" /> 0188 <StringDetect attribute="HTML Comment" context="htmlcomment" String="<!--" beginRegion="HTMLComment"/> 0189 <!-- Interpolated variables --> 0190 <RegExpr attribute="Variable" context="#stay" String="&var1;|&varwithbraces;" /> 0191 </context> 0192 0193 <context name="tt2source" attribute="TT2 Text" lineEndContext="#stay"> 0194 <Detect2Chars attribute="Keyword" context="#pop" char="%" char1="]" /> 0195 <DetectChar attribute="Comment" context="tt2_onelinecomment" char="#" /> 0196 <DetectChar attribute="String" context="doublequotestring" char=""" /> 0197 <DetectChar attribute="String" context="singlequotestring" char="'" /> 0198 <DetectChar attribute="Keyword" context="#stay" char="&" /> 0199 <keyword attribute="Operator" context="#stay" String="operators" /> 0200 <keyword attribute="Function" context="#stay" String="functions" /> 0201 <RegExpr attribute="String" context="#stay" String="[0123456789]*\.\.\.[0123456789]*" /> 0202 <HlCOct attribute="Octal" context="#stay" /> 0203 <HlCHex attribute="Hex" context="#stay" /> 0204 <Float attribute="Float" context="#stay" /> 0205 <Int attribute="Decimal" context="#stay" /> 0206 <AnyChar attribute="Other" context="#stay" String=";()}{:,[]" /> 0207 0208 <WordDetect attribute="Control Structures" context="#stay" String="ELSIF" insensitive="false" beginRegion="control" endRegion="control"/> 0209 <WordDetect attribute="Control Structures" context="#stay" String="ELSE" insensitive="false" beginRegion="control" endRegion="control"/> 0210 <WordDetect attribute="Control Structures" context="#stay" String="IF" insensitive="false" beginRegion="control"/> 0211 <WordDetect attribute="Control Structures" context="#stay" String="END" insensitive="false" endRegion="control"/> 0212 0213 <WordDetect attribute="Control Structures" context="#stay" String="FOREACH" insensitive="false" beginRegion="control"/> 0214 0215 <keyword attribute="Keyword" context="#stay" String="keywords" /> 0216 <keyword attribute="Control Structures" context="#stay" String="control structures" /> 0217 </context> 0218 <context name="tt2_onelinecomment" attribute="Comment" lineEndContext="#pop"> 0219 <DetectSpaces /> 0220 <Detect2Chars attribute="Keyword" context="#pop#pop" char="%" char1="]" /> 0221 <IncludeRules context="##Comments" /> 0222 </context> 0223 <context name="doublequotestring" attribute="String" lineEndContext="#stay"> 0224 <Detect2Chars attribute="Escape Code" context="#stay" char=""" char1=""" /> 0225 <RegExpr attribute="Escape Code" context="#stay" String="\\([0-7]{1,3}|x[0-9A-Fa-f]{1,2})" /> 0226 <DetectChar attribute="String" context="#pop" char=""" /> 0227 <!-- Interpolated variables --> 0228 <RegExpr attribute="Variable" context="#stay" String="&var1;|&varwithbraces;" /> 0229 </context> 0230 <context name="singlequotestring" attribute="String" lineEndContext="#stay"> 0231 <Detect2Chars attribute="Escape Code" context="#stay" char="'" char1="'"/> 0232 <DetectChar attribute="String" context="#pop" char="'" /> 0233 </context> 0234 <context name="htmltag" attribute="Identifier" lineEndContext="#stay"> 0235 <Detect2Chars attribute="HTML Tag" context="#pop" char="/" char1=">" /> 0236 <DetectChar attribute="HTML Tag" context="#pop" char=">"/> 0237 <Detect2Chars attribute="Keyword" context="tt2source" char="[" char1="%" /> 0238 <RegExpr attribute="Identifier" context="identifiers" String="\s*=\s*"/> 0239 0240 </context> 0241 <context name="htmlcomment" attribute="HTML Comment" lineEndContext="#stay"> 0242 <Detect2Chars attribute="Keyword" context="tt2source" char="[" char1="%" /> 0243 <StringDetect attribute="HTML Comment" context="#pop" String="-->" endRegion="HTMLComment" /> 0244 <RegExpr attribute="Normal Text" context="identifiers" String="\s*=\s*"/> 0245 <DetectSpaces /> 0246 <IncludeRules context="##Comments" /> 0247 </context> 0248 <context name="identifiers" attribute="Identifier" lineEndContext="#stay"> 0249 <RegExpr attribute="String" context="#pop" String="\s*#?[a-zA-Z0-9]*" /> 0250 <DetectChar attribute="Types" context="types1" char="'" /> 0251 <DetectChar attribute="Types" context="types2" char=""" /> 0252 </context> 0253 0254 <context name="types1" attribute="Types" lineEndContext="#stay"> 0255 <Detect2Chars attribute="Keyword" context="tt2source" char="[" char1="%" /> 0256 <DetectChar attribute="Types" context="#pop#pop" char="'" /> 0257 </context> 0258 0259 <context name="types2" attribute="Types" lineEndContext="#stay"> 0260 <Detect2Chars attribute="Keyword" context="tt2source" char="[" char1="%" /> 0261 <DetectChar attribute="Types" context="#pop#pop" char=""" /> 0262 </context> 0263 0264 <context name="scripts" attribute="Normal Text" lineEndContext="#stay"> 0265 <Detect2Chars attribute="Comment" context="scripts_onelinecomment" char="/" char1="/" /> 0266 <Detect2Chars attribute="Comment" context="twolinecomment" char="/" char1="*" beginRegion="Comment" /> 0267 <keyword attribute="Control Structures" context="#stay" String="control structures" /> 0268 <keyword attribute="Keyword" context="#stay" String="keywords" /> 0269 <keyword attribute="Function" context="#stay" String="functions" /> 0270 <Detect2Chars attribute="Keyword" context="tt2source" char="[" char1="%"/> 0271 <RegExpr attribute="HTML Tag" context="#pop" String="<\s*\/\s*script\s*>" insensitive="true" /> 0272 0273 <DetectChar attribute="String" context="doublequotestring" char=""" /> 0274 <DetectChar attribute="String" context="singlequotestring" char="'" /> 0275 <HlCOct attribute="Octal" context="#stay" /> 0276 <HlCHex attribute="Hex" context="#stay" /> 0277 <Float attribute="Float" context="#stay" /> 0278 <Int attribute="Decimal" context="#stay" /> 0279 <DetectChar attribute="Normal Text" context="#stay" char="{" beginRegion="Brace1" /> 0280 <DetectChar attribute="Normal Text" context="#stay" char="}" endRegion="Brace1" /> 0281 <AnyChar attribute="Other" context="#stay" String=";()}{:,[]" /> 0282 </context> 0283 <context name="scripts_onelinecomment" attribute="Comment" lineEndContext="#pop"> 0284 <DetectSpaces /> 0285 <RegExpr attribute="HTML Tag" context="#pop#pop" String="<\s*\/\s*script\s*>" insensitive="true" /> 0286 <IncludeRules context="##Comments" /> 0287 </context> 0288 <context name="twolinecomment" attribute="Comment" lineEndContext="#stay"> 0289 <DetectSpaces /> 0290 <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment" /> 0291 <IncludeRules context="##Comments" /> 0292 </context> 0293 0294 </contexts> 0295 0296 <itemDatas> 0297 <itemData name="Normal Text" defStyleNum="dsNormal" /> 0298 <itemData name="TT2 Text" defStyleNum="dsNormal" /> 0299 <itemData name="Keyword" defStyleNum="dsKeyword" /> 0300 <itemData name="Function" defStyleNum="dsFunction" /> 0301 <itemData name="Decimal" defStyleNum="dsDecVal" /> 0302 <itemData name="Octal" defStyleNum="dsBaseN" /> 0303 <itemData name="Hex" defStyleNum="dsBaseN" /> 0304 <itemData name="Float" defStyleNum="dsFloat" /> 0305 <itemData name="String" defStyleNum="dsString" /> 0306 <itemData name="Comment" defStyleNum="dsComment" /> 0307 <itemData name="Variable" defStyleNum="dsVariable" /> 0308 <itemData name="Control Structures" defStyleNum="dsControlFlow" /> 0309 <itemData name="Escape Code" defStyleNum="dsSpecialChar" /> 0310 <itemData name="Other" defStyleNum="dsOthers" /> 0311 <itemData name="Operator" defStyleNum="dsOperator" /> 0312 <itemData name="HTML Tag" defStyleNum="dsExtension" /> 0313 <itemData name="HTML Comment" defStyleNum="dsComment" /> 0314 <itemData name="Identifier" defStyleNum="dsOthers" /> 0315 <itemData name="Types" defStyleNum="dsDataType" /> 0316 </itemDatas> 0317 </highlighting> 0318 <general> 0319 <comments> 0320 <comment name="multiLine" start="<!--" end="-->" region="HTMLComment" /> 0321 <comment name="singleLine" start="#" /> 0322 </comments> 0323 <keywords casesensitive="1" /> 0324 </general> 0325 </language> 0326 <!-- kate: replace-tabs on; tab-width 4; indent-width 4; -->