Warning, /frameworks/syntax-highlighting/data/syntax/tcsh.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 funcname "[A-Za-z_:][A-Za-z0-9_:#%@-]*"> 0005 <!ENTITY varname "[A-Za-z_][A-Za-z0-9_]*"> 0006 <!ENTITY word "[|&;()<>\s]+"> <!-- see man csh --> 0007 <!ENTITY eos "(?=($|\s))"> <!-- eol or space following --> 0008 <!ENTITY noword "(?![\w$+-])"> <!-- no word, $, + or - following --> 0009 <!ENTITY pathpart "([\w_@.%*?+-]|\\ )"> <!-- valid character in a file name --> 0010 <!ENTITY tab "	"> 0011 ]> 0012 <language name="Tcsh" version="10" kateversion="5.53" section="Scripts" extensions="*.csh;*.tcsh;csh.cshrc;csh.login;.tcshrc;.cshrc;.login" mimetype="application/x-csh" casesensitive="1" author="Matthew Woehlke (mw_triad@users.sourceforge.net)" license="LGPL"> 0013 0014 <!-- (c) 2006 Matthew Woehlke (mw_triad@users.sourceforge.net) 0015 Based on the bash highlighter by Wilbert Berendsen (wilbert@kde.nl) 0016 Released under the LGPL --> 0017 0018 <highlighting> 0019 <list name="keywords"> 0020 <item>function</item> 0021 <item>in</item> 0022 <item>.</item> 0023 </list> 0024 0025 <list name="builtins"> 0026 <item>:</item> 0027 <item>alias</item> 0028 <item>alloc</item> 0029 <item>bg</item> 0030 <item>bindkey</item> 0031 <item>break</item> 0032 <item>builtins</item> 0033 <item>bye</item> 0034 <item>cd</item> 0035 <item>chdir</item> 0036 <item>complete</item> 0037 <item>continue</item> 0038 <item>dirs</item> 0039 <item>echo</item> 0040 <item>echotc</item> 0041 <item>eval</item> 0042 <item>exec</item> 0043 <item>exit</item> 0044 <item>fg</item> 0045 <item>filetest</item> 0046 <item>glob</item> 0047 <item>hashstat</item> 0048 <item>history</item> 0049 <item>hup</item> 0050 <item>inlib</item> 0051 <item>jobs</item> 0052 <item>kill</item> 0053 <item>limit</item> 0054 <item>log</item> 0055 <item>login</item> 0056 <item>logout</item> 0057 <item>ls-F</item> 0058 <item>migrate</item> 0059 <item>newgrp</item> 0060 <item>nice</item> 0061 <item>nohup</item> 0062 <item>notify</item> 0063 <item>onintr</item> 0064 <item>popd</item> 0065 <item>printenv</item> 0066 <item>pushd</item> 0067 <item>rehash</item> 0068 <item>repeat</item> 0069 <item>sched</item> 0070 <item>settc</item> 0071 <item>setty</item> 0072 <item>shift</item> 0073 <item>source</item> 0074 <item>stop</item> 0075 <item>suspend</item> 0076 <item>telltc</item> 0077 <item>time</item> 0078 <item>umask</item> 0079 <item>unalias</item> 0080 <item>uncomplete</item> 0081 <item>unhash</item> 0082 <item>unlimit</item> 0083 <item>ver</item> 0084 <item>wait</item> 0085 <item>watchlog</item> 0086 <item>where</item> 0087 <item>which</item> 0088 </list> 0089 0090 <list name="builtins_var"> 0091 <item>unset</item> 0092 <item>unsetenv</item> 0093 </list> 0094 0095 <list name="unixcommands"> 0096 <include>unixcommands##Bash</include> 0097 <item>command</item> 0098 <item>pwd</item> 0099 <item>printf</item> 0100 <item>test</item> 0101 </list> 0102 0103 0104 <contexts> 0105 <context attribute="Normal Text" lineEndContext="#stay" name="Start"> 0106 <IncludeRules context="FindAll" /> 0107 </context> 0108 0109 <!-- ====== The following rulessets are meant to be included ======== --> 0110 <!-- FindAll tries to interpret everything --> 0111 <context attribute="Normal Text" lineEndContext="#stay" name="FindAll"> 0112 <IncludeRules context="FindComments" /> 0113 <IncludeRules context="FindCommands" /> 0114 <IncludeRules context="FindStrings" /> 0115 <IncludeRules context="FindSubstitutions" /> 0116 <IncludeRules context="FindOthers" /> 0117 </context> 0118 0119 <!-- FindMost tries to interpret anything except commands --> 0120 <context attribute="Normal Text" lineEndContext="#stay" name="FindMost"> 0121 <IncludeRules context="FindComments" /> 0122 <IncludeRules context="FindStrings" /> 0123 <IncludeRules context="FindSubstitutions" /> 0124 <IncludeRules context="FindOthers" /> 0125 </context> 0126 0127 0128 <!-- FindComments consumes shell comments till EOL --> 0129 <context attribute="Normal Text" lineEndContext="#pop" name="FindComments"> 0130 <DetectChar attribute="Comment" context="Comment" char="#" firstNonSpace="true"/> 0131 <RegExpr attribute="Normal Text" context="Comment" String="[\s;](?=#)" /> 0132 </context> 0133 <context attribute="Comment" lineEndContext="#pop" name="Comment"> 0134 <DetectSpaces /> 0135 <IncludeRules context="##Comments" /> 0136 </context> 0137 0138 <!-- FindCommentsParen consumes shell comments till EOL or a closing parenthese --> 0139 <!-- <context attribute="Normal Text" lineEndContext="#pop" name="FindCommentsParen"> 0140 <DetectChar attribute="Comment" context="CommentParen" char="#" firstNonSpace="true"/> 0141 <RegExpr attribute="Normal Text" context="CommentParen" String="[\s;](?=#)" /> 0142 </context> 0143 <context attribute="Comment" lineEndContext="#pop" name="CommentParen"> 0144 <RegExpr attribute="Comment" context="#pop" String="[^)](?=\))" /> 0145 <IncludeRules context="##Comments" /> 0146 </context> --> 0147 0148 <!-- FindCommentsBackq consumes shell comments till EOL or a backquote --> 0149 <context attribute="Normal Text" lineEndContext="#pop" name="FindCommentsBackq"> 0150 <DetectChar attribute="Comment" context="CommentBackq" char="#" firstNonSpace="true"/> 0151 <RegExpr attribute="Normal Text" context="CommentBackq" String="[\s;](?=#)" /> 0152 </context> 0153 <context attribute="Comment" lineEndContext="#pop" name="CommentBackq"> 0154 <RegExpr attribute="Comment" context="#pop" String="[^`](?=`)" /> 0155 <IncludeRules context="##Comments" /> 0156 </context> 0157 0158 0159 <!-- breaksw case default if else end endif endsw foreach goto 0160 set setenv switch while --> 0161 0162 <!-- FindCommands matches many items that can be expected outside strings, substitutions etc. --> 0163 <context attribute="Normal Text" lineEndContext="#stay" name="FindCommands"> 0164 <!-- start expression in double parentheses --> 0165 <!--!--><Detect2Chars attribute="Keyword" context="ExprDblParen" char="(" char1="(" beginRegion="expression" /> 0166 <!-- start expression in single brackets --> 0167 <!--!--><RegExpr attribute="Builtin" context="ExprBracket" String="(^\[|\s\[)&eos;" beginRegion="expression" column="0"/> 0168 <!-- start a group command with { --> 0169 <!--!--><RegExpr attribute="Keyword" context="Group" String="\{&eos;" beginRegion="group" /> 0170 <!-- start a subshell --> 0171 <!--!--><DetectChar attribute="Keyword" context="SubShell" char="(" beginRegion="subshell" /> 0172 <!-- match do and if blocks --> 0173 <!--!--><RegExpr attribute="Control Flow" context="If" String="\bif&noword;" /> 0174 <!--!--><RegExpr attribute="Control Flow" context="ElseIf" String="\belse\s+if&noword;" /> 0175 <!--!--><RegExpr attribute="Control Flow" context="#stay" String="\belse&noword;" /> 0176 <!--!--><RegExpr attribute="Control Flow" context="#stay" String="\bendif&noword;" endRegion="if" /> 0177 <!-- handle switch as a special case --> 0178 <!--!--><RegExpr attribute="Control Flow" context="Switch" String="\bswitch&noword;" beginRegion="switch" /> 0179 <!--!--><RegExpr attribute="Control Flow" context="#stay" String="\b(foreach|while)&noword;" beginRegion="loop" /> 0180 <!--!--><RegExpr attribute="Control Flow" context="#stay" String="\bend&noword;" endRegion="loop" /> 0181 <!-- handle command line options --> 0182 <RegExpr attribute="Option" context="#stay" String="-[A-Za-z0-9][A-Za-z0-9_]*|--[a-z][A-Za-z0-9_-]*" /> 0183 <!-- handle variable assignments --> 0184 <!--R--><RegExpr attribute="Keyword" context="#stay" String="\b@\s" /> 0185 <!--R--><WordDetect attribute="Keyword" context="#stay" String="set" /> 0186 <WordDetect attribute="Keyword" context="CmdSetEnv" String="setenv" /> 0187 <!-- handle functions with function keyword before keywords --> 0188 <!--!--><StringDetect attribute="Function" context="#stay" String=":()" /> 0189 <!--!--><WordDetect attribute="Keyword" context="FunctionDef" String="function" /> 0190 <!-- handle keywords --> 0191 <keyword attribute="Keyword" context="#stay" String="keywords" /> 0192 <keyword attribute="Builtin" context="#stay" String="builtins" /> 0193 <keyword attribute="Command" context="#stay" String="unixcommands" /> 0194 <!-- handle commands that have variable names as argument --> 0195 <keyword attribute="Builtin" context="VarName" String="builtins_var" /> 0196 <!-- handle redirection --> 0197 <RegExpr attribute="Redirection" context="#stay" String="(<<?|>>?&?!?)" /> 0198 <!-- handle &, &&, | and || --> 0199 <RegExpr attribute="Control" context="#stay" String="([|&])\1?" /> 0200 <!-- mark function definitions without function keyword --> 0201 <RegExpr attribute="Function" context="#stay" String="&funcname;\s*\(\)" /> 0202 </context> 0203 0204 <!-- FindOthers contains various rules to mark different shell input --> 0205 <context attribute="Normal Text" lineEndContext="#stay" name="FindOthers"> 0206 <RegExpr attribute="Escape" context="#stay" String="\\[;"\\'$`{}()|&<>* ]" /> 0207 <!--? <RegExpr attribute="Escape" context="#stay" String="\{(?!(\s|$))\S*\}" />--> 0208 <RegExpr attribute="Path" context="#stay" String="&pathpart;*(?=/)|~\w*|/&pathpart;*(?=([\s/):;$`'"]|$))" /> 0209 <!-- TODO: shell globs --> 0210 </context> 0211 0212 <!-- FindStrings looks for single and double quoted strings, also with $-prefix --> 0213 <context attribute="Normal Text" lineEndContext="#stay" name="FindStrings"> 0214 <DetectChar attribute="String SingleQ" context="StringSQ" char="'" /> 0215 <DetectChar attribute="String DoubleQ" context="StringDQ" char=""" /> 0216 <Detect2Chars attribute="String SingleQ" context="StringEsc" char="$" char1="'" /> 0217 <Detect2Chars attribute="String Transl." context="StringDQ" char="$" char1=""" /> 0218 </context> 0219 0220 <!-- FindSubstitutions goes after anything starting with $ and ` and their escapes --> 0221 <context attribute="Normal Text" lineEndContext="#stay" name="FindSubstitutions"> 0222 <RegExpr attribute="Variable" context="Subscript" String="\$&varname;\[" /> 0223 <RegExpr attribute="Variable" context="#stay" String="\$(&varname;)|\$[*@#?$!_0-9-]|\$\{[*@#?$!_0-9-]\}|\$\{#&varname;\}|\$\{!&varname;\*?\}" /> 0224 <RegExpr attribute="Variable" context="VarBrace" String="\$\{&varname;|\$\{[*@#?$!_0-9-](?=[:#%/])" /> 0225 <StringDetect attribute="Variable" context="ExprDblParenSubst" String="$((" beginRegion="expression" /> 0226 <!--? <StringDetect attribute="Redirection" context="SubstFile" String="$(<" />--> 0227 <!--? <StringDetect attribute="Variable" context="SubstCommand" String="$(" />--> 0228 <DetectChar attribute="Backquote" context="SubstBackq" char="`" /> 0229 <RegExpr attribute="Escape" context="#stay" String="\\[`$\\]" /> 0230 </context> 0231 0232 <!-- FindTests finds operators valid in tests --> 0233 <context attribute="Normal Text" lineEndContext="#stay" name="FindTests"> 0234 <RegExpr attribute="Expression" context="#stay" String="-[rwxXeozsfdlbcpSugktRLDIFNZ](?=\s)|-[AMCUG]:?(?=\s)|-P[0-7]{,3}:?(?=\s)|[=!][~=]|[*><!~]"/> 0235 </context> 0236 0237 0238 <!-- ====== These are the contexts that can be branched to ======= --> 0239 0240 <!-- ExprDblParen consumes an expression started in command mode till )) --> 0241 <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblParen"> 0242 <Detect2Chars attribute="Keyword" context="#pop" char=")" char1=")" endRegion="expression" /> 0243 <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" /> 0244 <IncludeRules context="FindMost" /> 0245 </context> 0246 0247 <!-- ExprDblParenSubst like ExprDblParen but matches )) as Variable --> 0248 <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblParenSubst"> 0249 <Detect2Chars attribute="Variable" context="#pop" char=")" char1=")" endRegion="expression" /> 0250 <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" /> 0251 <IncludeRules context="FindMost" /> 0252 </context> 0253 0254 <!-- ExprSubParen consumes an expression till ) --> 0255 <context attribute="Normal Text" lineEndContext="#stay" name="ExprSubParen"> 0256 <DetectChar attribute="Normal Text" context="#pop" char=")" /> 0257 <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" /> 0258 <IncludeRules context="FindMost" /> 0259 </context> 0260 0261 <!-- ExprBracket consumes an expression till ] --> 0262 <context attribute="Normal Text" lineEndContext="#stay" name="ExprBracket"> 0263 <RegExpr attribute="Builtin" context="#pop" String="(\s\]|^\])(?=($|[\s;|&]))" endRegion="expression" /> 0264 <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" /> 0265 <IncludeRules context="FindTests" /> 0266 <IncludeRules context="FindMost" /> 0267 </context> 0268 0269 <!-- Group consumes shell input till } --> 0270 <context attribute="Normal Text" lineEndContext="#stay" name="Group"> 0271 <DetectChar attribute="Keyword" context="#pop" char="}" endRegion="group" /> 0272 <IncludeRules context="FindAll" /> 0273 </context> 0274 0275 <!-- SubShell consumes shell input till ) --> 0276 <context attribute="Normal Text" lineEndContext="#stay" name="SubShell"> 0277 <DetectChar attribute="Keyword" context="#pop" char=")" endRegion="subshell" /> 0278 <IncludeRules context="FindAll" /> 0279 </context> 0280 0281 <!-- Assign consumes an expression till EOL or whitespace --> 0282 <context attribute="Normal Text" lineEndContext="#pop" name="Assign" fallthrough="true" fallthroughContext="#pop"> 0283 <DetectChar attribute="Variable" context="AssignArray" char="(" /> 0284 <IncludeRules context="FindStrings" /> 0285 <IncludeRules context="FindSubstitutions" /> 0286 <IncludeRules context="FindOthers" /> 0287 <RegExpr attribute="Normal Text" context="#stay" String="[\w:,+_./-]+" /> 0288 </context> 0289 0290 <!-- AssignArray consumes everything till ), marking assignments --> 0291 <context attribute="Normal Text" lineEndContext="#pop" name="AssignArray"> 0292 <DetectChar attribute="Variable" context="#pop" char=")" /> 0293 <DetectChar attribute="Variable" context="Subscript" char="[" /> 0294 <DetectChar attribute="Variable" context="Assign" char="=" /> 0295 <IncludeRules context="FindMost" /> 0296 </context> 0297 0298 <!-- Subscript consumes anything till ], marks as Variable --> 0299 <context attribute="Variable" lineEndContext="#stay" name="Subscript"> 0300 <DetectChar attribute="Variable" context="#pop" char="]" /> 0301 <IncludeRules context="FindStrings" /> 0302 <IncludeRules context="FindSubstitutions" /> 0303 <IncludeRules context="FindOthers" /> 0304 </context> 0305 0306 <!-- FunctionDef consumes a name, possibly with (), marks as Function --> 0307 <context attribute="Function" lineEndContext="#pop" name="FunctionDef" fallthrough="true" fallthroughContext="#pop"> 0308 <RegExpr attribute="Function" context="#pop" String="\s+&funcname;(\s*\(\))?" /> 0309 </context> 0310 0311 <!-- CmdSetEnv handles the name part of setenv --> 0312 <context attribute="Normal Text" lineEndContext="#pop" name="CmdSetEnv" fallthrough="true" fallthroughContext="#pop"> 0313 <!-- handle command line options --> 0314 <RegExpr attribute="Variable" context="#pop" String="\b&varname;" /> 0315 <AnyChar attribute="Variable" context="Assign" String="&tab; " /> 0316 <IncludeRules context="FindMost" /> 0317 </context> 0318 0319 <!-- VarName consumes spare variable names and assignments --> 0320 <context attribute="Normal Text" lineEndContext="#pop" name="VarName" fallthrough="true" fallthroughContext="#pop"> 0321 <!-- handle command line options --> 0322 <RegExpr attribute="Option" context="#stay" String="-[A-Za-z0-9]+|--[a-z][A-Za-z0-9_-]*" /> 0323 <RegExpr attribute="Variable" context="#stay" String="\b&varname;" /> 0324 <DetectChar attribute="Variable" context="Subscript" char="[" /> 0325 <DetectChar attribute="Variable" context="Assign" char="=" /> 0326 <IncludeRules context="FindMost" /> 0327 <!-- stay here in spaces and other safe characters --> 0328 <RegExpr attribute="Normal Text" context="#stay" String="[^]})|;`&><]" /> 0329 </context> 0330 0331 <!-- StringSQ consumes anything till ' --> 0332 <context attribute="String SingleQ" lineEndContext="#stay" name="StringSQ"> 0333 <DetectChar attribute="String SingleQ" context="#pop" char="'" /> 0334 </context> 0335 0336 <!-- StringDQ consumes anything till ", substitutes vars and expressions --> 0337 <context attribute="String DoubleQ" lineEndContext="#stay" name="StringDQ"> 0338 <DetectChar attribute="String DoubleQ" context="#pop" char=""" /> 0339 <RegExpr attribute="String Escape" context="#stay" String="\\[`"\\$\n]" /> 0340 <IncludeRules context="FindSubstitutions" /> 0341 </context> 0342 0343 <!-- StringEsc eats till ', but escaping many characters --> 0344 <context attribute="String SingleQ" lineEndContext="#stay" name="StringEsc"> 0345 <DetectChar attribute="String SingleQ" context="#pop" char="'" /> 0346 <RegExpr attribute="String Escape" context="#stay" String="\\[abefnrtv\\']|\\([0-7]{1,3}|x[A-Fa-f0-9]{1,2}|c.)" /> 0347 </context> 0348 0349 <!-- VarBrace is called as soon as ${xxx is encoutered --> 0350 <context attribute="Variable" lineEndContext="#stay" name="VarBrace"> 0351 <DetectChar attribute="Variable" context="#pop" char="}" /> 0352 <DetectChar attribute="Variable" context="Subscript" char="[" /> 0353 <IncludeRules context="FindStrings" /> 0354 <IncludeRules context="FindSubstitutions" /> 0355 <!-- TODO: highlight various special parameter expansions } --> 0356 </context> 0357 0358 <!-- SubstFile is called after a <( or >( is encoutered --> 0359 <!-- <context attribute="Normal Text" lineEndContext="#stay" name="SubstFile"> 0360 <DetectChar attribute="Redirection" context="#pop" char=")" /> 0361 <IncludeRules context="FindCommentsParen" /> 0362 <IncludeRules context="FindStrings" /> 0363 <IncludeRules context="FindSubstitutions" /> 0364 <IncludeRules context="FindOthers" /> 0365 </context> 0366 --> 0367 <!-- SubstCommand is called after a $( is encountered --> 0368 <!-- <context attribute="Normal Text" lineEndContext="#stay" name="SubstCommand"> 0369 <DetectChar attribute="Variable" context="#pop" char=")" /> 0370 <IncludeRules context="FindCommentsParen" /> 0371 <IncludeRules context="FindCommands" /> 0372 <IncludeRules context="FindStrings" /> 0373 <IncludeRules context="FindSubstitutions" /> 0374 <IncludeRules context="FindOthers" /> 0375 </context> 0376 --> 0377 0378 <!-- SubstBackq is called when a backquote is encountered --> 0379 <context attribute="Normal Text" lineEndContext="#stay" name="SubstBackq"> 0380 <DetectChar attribute="Backquote" context="#pop" char="`" /> 0381 <IncludeRules context="FindCommentsBackq" /> 0382 <IncludeRules context="FindCommands" /> 0383 <IncludeRules context="FindStrings" /> 0384 <IncludeRules context="FindSubstitutions" /> 0385 <IncludeRules context="FindOthers" /> 0386 </context> 0387 0388 <!-- Switch is called after the switch keyword is encoutered. This is 0389 left over from the bash highlighter where the lonely parentheses 0390 would otherwise cause trouble. We keep it because it lets us do a 0391 bit of extra syntax validation. --> 0392 <context attribute="Normal Text" lineEndContext="#stay" name="Switch"> 0393 <RegExpr attribute="Keyword" context="SwitchCase" String="\scase\b" /> 0394 <RegExpr attribute="Keyword" context="SwitchDefault" String="\sdefault\b" /> 0395 <RegExpr attribute="Keyword" context="#pop" String="\bendsw(?=$|[\s;)])" endRegion="switch" /> 0396 <IncludeRules context="FindMost" /> 0397 </context> 0398 0399 <context attribute="Normal Text" lineEndContext="#pop" name="If" fallthrough="true" fallthroughContext="#pop"> 0400 <DetectSpaces/> 0401 <DetectChar attribute="Keyword" context="ArithmeticCondition" char="(" beginRegion="cond" /> 0402 <DetectChar attribute="Variable" context="Subscript" char="[" /> 0403 <StringDetect attribute="Control Flow" context="#pop" String="then" beginRegion="if" /> 0404 </context> 0405 0406 <context attribute="Normal Text" lineEndContext="#pop" name="ElseIf" fallthrough="true" fallthroughContext="#pop"> 0407 <DetectSpaces/> 0408 <DetectChar attribute="Keyword" context="ArithmeticCondition" char="(" beginRegion="cond" /> 0409 <DetectChar attribute="Variable" context="Subscript" char="[" /> 0410 <StringDetect attribute="Control Flow" context="#pop" String="then" /> 0411 </context> 0412 0413 <context attribute="Normal Text" lineEndContext="#stay" name="ArithmeticCondition"> 0414 <DetectChar attribute="Keyword" context="#pop" char=")" endRegion="cond" /> 0415 <DetectChar attribute="Keyword" context="ArithmeticCondition" char="(" beginRegion="cond" /> 0416 <RegExpr attribute="Expression" context="#stay" String="[=!]~|[=!><]="/> 0417 <AnyChar attribute="Expression" context="#stay" String="|^&><+-*/%!~"/> 0418 <IncludeRules context="FindComments" /> 0419 <IncludeRules context="FindStrings" /> 0420 <IncludeRules context="FindSubstitutions" /> 0421 <IncludeRules context="FindOthers" /> 0422 </context> 0423 0424 <!-- SwitchCase is called when the construct 'switch ... case' has been found. --> 0425 <context attribute="Normal Text" lineEndContext="#stay" name="SwitchCase"> 0426 <DetectChar attribute="Keyword" context="SwitchExpr" char=":" beginRegion="switchexpr" /> 0427 <IncludeRules context="FindMost" /> 0428 </context> 0429 0430 <!-- SwitchDefault is called when the construct 'switch ... default' has been found. --> 0431 <context attribute="Normal Text" lineEndContext="#stay" name="SwitchDefault"> 0432 <DetectChar attribute="Keyword" context="SwitchExpr" char=":" beginRegion="switchexpr" /> 0433 </context> 0434 0435 <!-- SwitchExpr eats shell input till breaksw --> 0436 <context attribute="Normal Text" lineEndContext="#stay" name="SwitchExpr"> 0437 <RegExpr attribute="Keyword" context="#pop#pop" String="\sbreaksw\b" endRegion="switchexpr" /> 0438 <RegExpr attribute="Keyword" context="#pop#pop" String="\scase\b" endRegion="switchexpr" lookAhead="true" /> 0439 <IncludeRules context="FindAll" /> 0440 </context> 0441 0442 </contexts> 0443 0444 <itemDatas> 0445 <itemData name="Normal Text" defStyleNum="dsNormal" /> 0446 <itemData name="Comment" defStyleNum="dsComment" /> 0447 <itemData name="Control Flow" defStyleNum="dsControlFlow" spellChecking="false" /> 0448 <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false" /> 0449 <itemData name="Control" defStyleNum="dsKeyword" spellChecking="false" /> 0450 <itemData name="Builtin" defStyleNum="dsKeyword" spellChecking="false" /> 0451 <itemData name="Command" defStyleNum="dsKeyword" spellChecking="false" /> 0452 <itemData name="Redirection" defStyleNum="dsKeyword" spellChecking="false" /> 0453 <itemData name="Escape" defStyleNum="dsDataType" spellChecking="false" /> 0454 <itemData name="String SingleQ" defStyleNum="dsString" /> 0455 <itemData name="String DoubleQ" defStyleNum="dsString" /> 0456 <itemData name="Backquote" defStyleNum="dsKeyword" spellChecking="false" /> 0457 <itemData name="String Transl." defStyleNum="dsString" spellChecking="false" /> 0458 <itemData name="String Escape" defStyleNum="dsDataType" spellChecking="false" /> 0459 <itemData name="Variable" defStyleNum="dsOthers" spellChecking="false" /> 0460 <itemData name="Expression" defStyleNum="dsOthers" spellChecking="false" /> 0461 <itemData name="Function" defStyleNum="dsFunction" spellChecking="false" /> 0462 <itemData name="Path" defStyleNum="dsNormal" spellChecking="false" /> 0463 <itemData name="Option" defStyleNum="dsNormal" spellChecking="false" /> 0464 </itemDatas> 0465 </highlighting> 0466 <general> 0467 <comments> 0468 <comment name="singleLine" start="#"/> 0469 </comments> 0470 <keywords casesensitive="1" weakDeliminator="^%#[]$._{}:-" additionalDeliminator="`"/> 0471 </general> 0472 </language> 0473 <!-- kate: replace-tabs on; tab-width 2; indent-width 2; -->