Warning, /frameworks/syntax-highlighting/data/syntax/cubescript.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?> 0002 <!DOCTYPE language> 0003 <!-- 0004 This is an attempt to write a quick and dirty syntax file for Cubescript. 0005 This will only document a subset of available keywords and internal commands, partly due to the various forks and the little overlap they have. 0006 Some effort has been taken to highlight and mark errors where possible. 0007 0008 List values which are current ignored by the keyword identifier are commented. 0009 --> 0010 <language name="CubeScript" section="Scripts" version="5" kateversion="5.0" extensions="*.cfg" mimetype="" casesensitive="true" author="Kevin Meyer" license="zlib/libpng" indenter="normal"> 0011 <highlighting> 0012 <!-- 0013 There are far more commands than these, these are just guaranteed to be in all forks. 0014 --> 0015 <list name="commands"> 0016 <item>?</item> 0017 <item>alias</item> 0018 <item>at</item> 0019 <item>case</item> 0020 <item>casef</item> 0021 <item>cases</item> 0022 <item>clearconsole</item> 0023 <item>clearsleep</item> 0024 <item>complete</item> 0025 <item>concat</item> 0026 <item>concatword</item> 0027 <item>cond</item> 0028 <item>conskip</item> 0029 <item>do</item> 0030 <item>echo</item> 0031 <item>error</item> 0032 <item>escape</item> 0033 <item>exec</item> 0034 <item>format</item> 0035 <item>getalias</item> 0036 <item>getfvarmin</item> 0037 <item>getfvarmax</item> 0038 <item>getvarmin</item> 0039 <item>getvarmax</item> 0040 <item>history</item> 0041 <item>if</item> 0042 <item>indexof</item> 0043 <item>inputcommand</item> 0044 <item>keymap</item> 0045 <item>listcomplete</item> 0046 <item>listdel</item> 0047 <item>listfind</item> 0048 <item>listlen</item> 0049 <item>listsplice</item> 0050 <item>local</item> 0051 <item>loop</item> 0052 <item>loopconcat</item> 0053 <item>loopconcatword</item> 0054 <item>loopfiles</item> 0055 <item>looplist</item> 0056 <item>loopwhile</item> 0057 <item>miniconskip</item> 0058 <item>nodebug</item> 0059 <item>onrelease</item> 0060 <item>prettylist</item> 0061 <item>push</item> 0062 <item>resetvar</item> 0063 <item>result</item> 0064 <item>rnd</item> 0065 <item>saycommand</item> 0066 <item>searchbinds</item> 0067 <item>searcheditbinds</item> 0068 <item>searchspecbinds</item> 0069 <item>sleep</item> 0070 <item>strcmp</item> 0071 <item>strlen</item> 0072 <item>strreplace</item> 0073 <item>strstr</item> 0074 <item>sublist</item> 0075 <item>substr</item> 0076 <item>tabify</item> 0077 <item>toggleconsole</item> 0078 <item>unescape</item> 0079 <item>while</item> 0080 <item>writecfg</item> 0081 </list> 0082 <list name="bindcommands"> 0083 <item>bind</item> 0084 <item>editbind</item> 0085 <item>specbind</item> 0086 <item>getbind</item> 0087 <item>geteditbind</item> 0088 <item>getspecbind</item> 0089 </list> 0090 <list name="operators"> 0091 <!-- 0092 listed in the same order as in src/engine/command.cpp 0093 Includes all available operators, both basic and advanced 0094 --> 0095 <item>+</item> 0096 <item>*</item> 0097 <item>-</item> 0098 <item>+f</item> 0099 <item>*f</item> 0100 <item>-f</item> 0101 <item>=</item> 0102 <item>!=</item> 0103 <item>></item> 0104 <item><</item> 0105 <item>>=</item> 0106 <item><=</item> 0107 <item>=f</item> 0108 <item>!=f</item> 0109 <item>>f</item> 0110 <item><f</item> 0111 <item>>=f</item> 0112 <item><=f</item> 0113 <item>^</item> 0114 <item>!</item> 0115 <item>&</item> 0116 <item>|</item> 0117 <item>~</item> 0118 <item>^~</item> 0119 <item>&~</item> 0120 <item>|~</item> 0121 <item><<</item> 0122 <item>>></item> 0123 <item>&&</item> 0124 <item>||</item> 0125 <item>abs</item> 0126 <item>absf</item> 0127 <item>div</item> 0128 <item>mod</item> 0129 <item>divf</item> 0130 <item>modf</item> 0131 <item>sin</item> 0132 <item>cos</item> 0133 <item>tan</item> 0134 <item>asin</item> 0135 <item>acos</item> 0136 <item>atan</item> 0137 <item>sqrt</item> 0138 <item>pow</item> 0139 <item>loge</item> 0140 <item>log2</item> 0141 <item>log10</item> 0142 <item>exp</item> 0143 <item>min</item> 0144 <item>max</item> 0145 <item>minf</item> 0146 <item>maxf</item> 0147 <item>=s</item> 0148 <item>!=s</item> 0149 <item><s</item> 0150 <item>>s</item> 0151 <item><=s</item> 0152 <item>>=s</item> 0153 </list> 0154 <list name="keys"> 0155 <!-- SDL 2.0 Standard Mose Buttons --> 0156 <item>MOUSELEFT</item> 0157 <item>MOUSEMIDDLE</item> 0158 <item>MOUSERIGHT</item> 0159 <item>MOUSEWHEELUP</item> 0160 <item>MOUSEWHEELDOWN</item> 0161 <item>MOUSEX1</item> 0162 <item>MOUSEX2</item> 0163 0164 <!-- SDL 1.2, Standard Mouse Buttons --> 0165 <item>MOUSE1</item> 0166 <item>MOUSE2</item> 0167 <item>MOUSE3</item> 0168 <item>MOUSE4</item> 0169 <item>MOUSE5</item> 0170 0171 0172 <item>BACKSPACE</item> 0173 <item>TAB</item> 0174 <item>CLEAR</item> 0175 <item>RETURN</item> 0176 <item>PAUSE</item> 0177 <item>ESCAPE</item> 0178 <item>SPACE</item> 0179 <item>EXCLAIM</item> 0180 <item>QUOTEDBL</item> 0181 <item>HASH</item> 0182 <item>DOLLAR</item> 0183 <item>AMPERSAND</item> 0184 <item>QUOTE</item> 0185 <item>LEFTPAREN</item> 0186 <item>RIGHTPAREN</item> 0187 <item>ASTERISK</item> 0188 <item>PLUS</item> 0189 <item>COMMA</item> 0190 <item>MINUS</item> 0191 <item>PERIOD</item> 0192 <item>SLASH</item> 0193 <item>0</item> 0194 <item>1</item> 0195 <item>2</item> 0196 <item>3</item> 0197 <item>4</item> 0198 <item>5</item> 0199 <item>6</item> 0200 <item>7</item> 0201 <item>8</item> 0202 <item>9</item> 0203 <item>COLON</item> 0204 <item>SEMICOLON</item> 0205 <item>LESS</item> 0206 <item>EQUALS</item> 0207 <item>GREATER</item> 0208 <item>QUESTION</item> 0209 <item>AT</item> 0210 <item>LEFTBRACKET</item> 0211 <item>BACKSLASH</item> 0212 <item>RIGHTBRACKET</item> 0213 <item>CARET</item> 0214 <item>UNDERSCORE</item> 0215 <item>BACKQUOTE</item> 0216 <item>A</item> 0217 <item>B</item> 0218 <item>C</item> 0219 <item>D</item> 0220 <item>E</item> 0221 <item>F</item> 0222 <item>G</item> 0223 <item>H</item> 0224 <item>I</item> 0225 <item>J</item> 0226 <item>K</item> 0227 <item>L</item> 0228 <item>M</item> 0229 <item>N</item> 0230 <item>O</item> 0231 <item>P</item> 0232 <item>Q</item> 0233 <item>R</item> 0234 <item>S</item> 0235 <item>T</item> 0236 <item>U</item> 0237 <item>V</item> 0238 <item>W</item> 0239 <item>X</item> 0240 <item>Y</item> 0241 <item>Z</item> 0242 <item>DELETE</item> 0243 <item>KP0</item> 0244 <item>KP1</item> 0245 <item>KP2</item> 0246 <item>KP3</item> 0247 <item>KP4</item> 0248 <item>KP5</item> 0249 <item>KP6</item> 0250 <item>KP7</item> 0251 <item>KP8</item> 0252 <item>KP9</item> 0253 <item>KP_PERIOD</item> 0254 <item>KP_DIVIDE</item> 0255 <item>KP_MULTIPLY</item> 0256 <item>KP_MINUS</item> 0257 <item>KP_PLUS</item> 0258 <item>KP_ENTER</item> 0259 <item>KP_EQUALS</item> 0260 <item>UP</item> 0261 <item>DOWN</item> 0262 <item>RIGHT</item> 0263 <item>LEFT</item> 0264 <item>INSERT</item> 0265 <item>HOME</item> 0266 <item>END</item> 0267 <item>PAGEUP</item> 0268 <item>PAGEDOWN</item> 0269 <item>F1</item> 0270 <item>F2</item> 0271 <item>F3</item> 0272 <item>F4</item> 0273 <item>F5</item> 0274 <item>F6</item> 0275 <item>F7</item> 0276 <item>F8</item> 0277 <item>F9</item> 0278 <item>F10</item> 0279 <item>F11</item> 0280 <item>F12</item> 0281 <item>F13</item> 0282 <item>F14</item> 0283 <item>F15</item> 0284 <item>NUMLOCK</item> 0285 <item>CAPSLOCK</item> 0286 <item>SCROLLOCK</item> 0287 <item>RSHIFT</item> 0288 <item>LSHIFT</item> 0289 <item>RCTRL</item> 0290 <item>LCTRL</item> 0291 <item>RALT</item> 0292 <item>LALT</item> 0293 <item>RMETA</item> 0294 <item>LMETA</item> 0295 <item>LSUPER</item> 0296 <item>RSUPER</item> 0297 <item>MODE</item> 0298 <item>COMPOSE</item> 0299 <item>HELP</item> 0300 <item>PRINT</item> 0301 <item>SYSREQ</item> 0302 <item>BREAK</item> 0303 <item>MENU</item> 0304 </list> 0305 <!-- Reserved aliases. --> 0306 <list name="aliases"> 0307 <item>commandbuf</item> 0308 <item>editing</item> 0309 <item>mainmenu</item> 0310 <item>numargs</item> 0311 </list> 0312 <!-- 0313 TODO list for Cubescript contexts 0314 1) Add GLSL support for shader commands, It's vanilla GLSL, the cubescript witchcraft aside. 0315 2) Improve alias highlighting eg foo@[bar]baz; do not highlight baz, but make sure to still highlight all of $foo[bar]baz, will probably need a special context. 0316 0317 --> 0318 0319 <contexts> 0320 <context name="Normal" attribute="Normal" lineEndContext="#stay"> 0321 <AnyChar attribute="Error" context="#stay" String="])"/> 0322 <IncludeRules context="__Basic" /> 0323 </context> 0324 0325 <context name="Block" attribute="Normal" lineEndContext="#stay"> 0326 <DetectChar attribute="Brackets" context="#pop" char="]" endRegion="Block" /> 0327 <DetectChar attribute="Error" context="#stay" char=")"/> 0328 <IncludeRules context="__Basic" /> 0329 </context> 0330 0331 <context name="Brackets" attribute="Normal" lineEndContext="#stay"> 0332 <DetectChar attribute="Error" context="#stay" char="]"/> 0333 <DetectChar attribute="Brackets" context="#pop" char=")"/> 0334 <IncludeRules context="__Basic" /> 0335 </context> 0336 0337 <context name="__Basic" attribute="Normal" lineEndContext="#stay"> 0338 <Detect2Chars attribute="Comment" context="Comment" char="/" char1="/"/> 0339 <DetectChar attribute="Brackets" context="Block" char="[" beginRegion="Block" /> 0340 <DetectChar attribute="Brackets" context="Brackets" char="(" /> 0341 <DetectChar attribute="String" context="String" char=""" /> 0342 <AnyChar lookAhead="true" context="Lookup" String="$@" /> 0343 <keyword attribute="Keyword" context="#stay" String="commands"/> 0344 <keyword attribute="Operator" context="#stay" String="operators"/> 0345 <keyword attribute="Keyword" context="Bind" String="bindcommands" /> 0346 <HlCHex attribute="IntOther" context="#stay"/> 0347 <HlCOct attribute="IntOther" context="#stay"/> 0348 <Float attribute="Float" context="#stay" /> 0349 <Int attribute="Int10" context="#stay"/> 0350 </context> 0351 0352 <context name="Comment" attribute="Comment" lineEndContext="#pop"> 0353 <IncludeRules context="##Comments" /> 0354 </context> 0355 0356 <context name="__Lookup" attribute="Lookup" lineEndContext="#pop"> 0357 <DetectChar attribute="String" context="String" char=""" /> 0358 <DetectChar attribute="LookupBrackets" context="LookupEncBlock" char="[" /> 0359 <DetectChar attribute="LookupBrackets" context="LookupEncBrackets" char="(" /> 0360 <RegExpr attribute="Error" context="#stay" String="[^\$\s]+\$[^\[\]\(\)\s]*|\S+(?![\s\[\(])[^\$@](?=[\[\(])" /> 0361 <RegExpr attribute="Key" context="#stay" String="[@\$]*arg[0-9]+" /> 0362 </context> 0363 0364 <context name="Lookup" attribute="Lookup" lineEndContext="#pop"> 0365 <DetectSpaces attribute="Normal" context="#pop" /> 0366 <AnyChar lookAhead="true" context="#pop" String=")];" /> 0367 <Detect2Chars lookAhead="true" context="#pop" char="/" char1="/"/> 0368 <keyword attribute="Key" context="#stay" String="aliases" /> 0369 <IncludeRules context="__Lookup" /> 0370 </context> 0371 0372 <context name="LookupEncBrackets" attribute="Normal" lineEndContext="#stay"> 0373 <DetectChar attribute="LookupBrackets" context="#pop" char=")" /> 0374 <DetectChar attribute="Error" context="#stay" char="]" /> 0375 <Detect2Chars attribute="Comment" context="Comment" char="/" char1="/"/> 0376 <IncludeRules context="__Basic" /> 0377 </context> 0378 0379 <context name="LookupEncBlock" attribute="Lookup" lineEndContext="#stay"> 0380 <Detect2Chars attribute="Comment" context="Comment" char="/" char1="/"/> 0381 <DetectChar attribute="Error" context="#stay" char=")" /> 0382 <DetectChar attribute="LookupBrackets" context="#pop" char="]" /> 0383 <keyword attribute="Key" context="#stay" String="aliases" /> 0384 <IncludeRules context="__Lookup" /> 0385 </context> 0386 0387 <context name="String" attribute="String" lineEndContext="#pop"> 0388 <DetectChar attribute="String" context="#pop" char=""" /> 0389 <!-- Escape newlines. --> 0390 <LineContinue attribute="Escaped" context="#stay" char="^" /> 0391 <DetectChar attribute="Escaped" context="Escaped" char="^" /> 0392 </context> 0393 0394 <context name="Escaped" attribute="Escaped" lineEndContext="#stay" > 0395 <!-- Cubescript treats any character following a "^" in a string is escaped. --> 0396 <Detect2Chars char="f" char1="0" attribute="String0" context="#pop"/> 0397 <Detect2Chars char="f" char1="1" attribute="String1" context="#pop"/> 0398 <Detect2Chars char="f" char1="2" attribute="String2" context="#pop"/> 0399 <Detect2Chars char="f" char1="3" attribute="String3" context="#pop"/> 0400 <Detect2Chars char="f" char1="4" attribute="String4" context="#pop"/> 0401 <Detect2Chars char="f" char1="5" attribute="String5" context="#pop"/> 0402 <Detect2Chars char="f" char1="6" attribute="String6" context="#pop"/> 0403 <Detect2Chars char="f" char1="7" attribute="String7" context="#pop"/> 0404 <RegExpr String="f?." attribute="Escaped" context="#pop"/> 0405 </context> 0406 0407 <context name="Bind" attribute="Error" lineEndContext="#pop"> 0408 <DetectSpaces attribute="Normal" /> 0409 <AnyChar lookAhead="true" context="#pop" String="[]();"$@" /> 0410 <keyword insensitive="true" attribute="Key" context="#pop" String="keys" /> 0411 <Detect2Chars lookAhead="true" context="#pop" char="/" char1="/"/> 0412 </context> 0413 </contexts> 0414 0415 <itemDatas> 0416 <itemData name="Normal" defStyleNum="dsNormal" spellChecking="false"/> 0417 <itemData name="Lookup" defStyleNum="dsDataType" spellChecking="false"/> 0418 <itemData name="Error" defStyleNum="dsError" spellChecking="false"/> 0419 <itemData name="Int10" defStyleNum="dsDecVal" spellChecking="false"/> 0420 <itemData name="IntOther" defStyleNum="dsBaseN" spellChecking="false"/> 0421 <itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/> 0422 <itemData name="String" defStyleNum="dsString"/> 0423 <itemData name="Escaped" defStyleNum="dsChar" spellChecking="false"/> 0424 <itemData name="Comment" defStyleNum="dsComment"/> 0425 <itemData name="Keyword" defStyleNum="dsFunction" spellChecking="false"/> 0426 <itemData name="Operator" defStyleNum="dsOperator" spellChecking="false"/> 0427 <itemData name="Key" defStyleNum="dsOthers" spellChecking="false"/> 0428 <itemData name="LookupBrackets" defStyleNum="dsRegionMarker" spellChecking="false"/> 0429 <itemData name="Brackets" defStyleNum="dsNormal" bold="1" spellChecking="false"/> 0430 <!-- These are for the ^f# format tokens, the background colour is explicitly set to try and guarantee visibility at all times --> 0431 <itemData name="String0" defStyleNum="dsString" bold="1" color="#40FF80" backgroundColor="#3F3F3F" spellChecking="false"/> 0432 <itemData name="String1" defStyleNum="dsString" bold="1" color="#60A0FF" backgroundColor="#DFDFDF" spellChecking="false"/> 0433 <itemData name="String2" defStyleNum="dsString" bold="1" color="#FFC040" backgroundColor="#3F3F3F" spellChecking="false"/> 0434 <itemData name="String3" defStyleNum="dsString" bold="1" color="#FF4040" backgroundColor="#DFDFDF" spellChecking="false"/> 0435 <itemData name="String4" defStyleNum="dsString" bold="1" color="#808080" backgroundColor="#DFDFDF" spellChecking="false"/> 0436 <itemData name="String5" defStyleNum="dsString" bold="1" color="#A040A0" backgroundColor="#DFDFDF" spellChecking="false"/> 0437 <itemData name="String6" defStyleNum="dsString" bold="1" color="#FF8000" backgroundColor="#DFDFDF" spellChecking="false"/> 0438 <itemData name="String7" defStyleNum="dsString" bold="1" color="#FFFFFF" backgroundColor="#3F3F3F" spellChecking="false"/> 0439 </itemDatas> 0440 </highlighting> 0441 <general> 0442 <keywords casesensitive="true" wordWrapDeliminator="[(;" additionalDeliminator="$@" weakDeliminator="!=<>|&^~+*"/> 0443 <comments> 0444 <comment name="singleLine" start="//" /> 0445 </comments> 0446 </general> 0447 </language> 0448 <!-- 0449 // kate: space-indent on; indent-width 2; replace-tabs on; 0450 -->