Warning, /frameworks/syntax-highlighting/data/syntax/cg.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language>
0003 
0004 <!--
0005         ** Cg Syntax Rules **
0006         
0007         NOTES:
0008         - some stuff stolen from c.xml
0009         
0010         TODO:
0011         - some exotic keywords are missing, find out which; the spec is a bloody mess
0012 
0013 2004-05-25
0014         * Initial release
0015 2004-05-27
0016         * Added swizzle highlighting
0017         * Added stdlib function highlighting
0018 2004-12-07 (julien.antille at kdemail.net)
0019         * Added COLOR1 through COLOR3 output sementics, for Multiple Render Targets (MRTs).
0020         * Added FACE sementic for the new fp40 profile
0021 -->
0022 
0023 <language name="Cg" section="Sources" extensions="*.cg;*.cgfx" mimetype="text/x-cgsrc" version="10" kateversion="5.0" author="Florian Schanda (florian.schanda@schanda.de)" license="LGPL">
0024         <highlighting>
0025                 <list name="binding">
0026                         <item>POSITION</item>
0027                         <item>COLOR</item>
0028                         <item>COLOR0</item>
0029                         <item>COLOR1</item>
0030                         <item>COLOR2</item>
0031                         <item>COLOR3</item>
0032                         <item>TEXCOORD0</item>
0033                         <item>TEXCOORD1</item>
0034                         <item>TEXCOORD2</item>
0035                         <item>TEXCOORD3</item>
0036                         <item>TEXCOORD4</item>
0037                         <item>TEXCOORD5</item>
0038                         <item>TEXCOORD6</item>
0039                         <item>TEXCOORD7</item>
0040                         <item>TEXCOORD8</item>
0041                         <item>TEXCOORD9</item>
0042                         <item>TEXCOORD10</item>
0043                         <item>TEXCOORD11</item>
0044                         <item>TEXCOORD12</item>
0045                         <item>TEXCOORD13</item>
0046                         <item>TEXCOORD14</item>
0047                         <item>TEXCOORD15</item>
0048                         <item>TEXUNIT0</item>
0049                         <item>TEXUNIT1</item>
0050                         <item>TEXUNIT2</item>
0051                         <item>TEXUNIT3</item>
0052                         <item>TEXUNIT4</item>
0053                         <item>TEXUNIT5</item>
0054                         <item>TEXUNIT6</item>
0055                         <item>TEXUNIT7</item>
0056                         <item>TEXUNIT8</item>
0057                         <item>TEXUNIT9</item>
0058                         <item>TEXUNIT10</item>
0059                         <item>TEXUNIT11</item>
0060                         <item>TEXUNIT12</item>
0061                         <item>TEXUNIT13</item>
0062                         <item>TEXUNIT14</item>
0063                         <item>TEXUNIT15</item>
0064                         <item>WPOS</item>
0065                         <item>DEPTH</item>
0066                         <item>BLENDWEIGHT</item>
0067                         <item>NORMAL</item>
0068                         <item>TESSFACTOR</item>
0069                         <item>FOGCOORD</item>
0070                         <item>PSIZE</item>
0071                         <item>BLENDINDICES</item>
0072                         <item>TANGENT</item>
0073                         <item>BINORMAL</item>
0074                         <item>FOG</item>
0075                         <item>BCOL0</item>
0076                         <item>BCOL1</item>
0077                         <item>FACE</item>
0078                 </list>
0079                 <list name="keywords">
0080                         <item>do</item>
0081                         <item>while</item>
0082                         <item>if</item>
0083                         <item>else</item>
0084                         <item>for</item>
0085                         <item>struct</item>
0086                         <item>return</item>
0087                         <item>static</item>
0088                         <item>typedef</item>
0089                         <item>discard</item>
0090                         <item>true</item>
0091                         <item>false</item>
0092                 </list>
0093                 <list name="types">
0094                         <item>bool</item>
0095                         <item>int</item>
0096                         <item>fixed</item>
0097                         <item>half</item>
0098                         <item>float</item>
0099             
0100                         <item>void</item>
0101                         <item>sampler</item>
0102                         <item>sampler1D</item>
0103                         <item>sampler2D</item>
0104                         <item>sampler3D</item>
0105                         <item>samplerCUBE</item>
0106                         <item>samplerRECT</item>
0107                         
0108                         <item>packed</item>
0109                         <item>const</item>
0110                         <item>uniform</item>
0111                         <item>in</item>
0112                         <item>out</item>
0113                         <item>inout</item>
0114                 </list>
0115                 <list name="attention">
0116                         <item>FIXME</item>
0117                         <item>TODO</item>
0118                         <item>BUG</item>
0119                 </list>
0120                 <list name="stdlib">
0121                         <item>abs</item>
0122                         <item>acos</item>
0123                         <item>all</item>
0124                         <item>any</item>
0125                         <item>asin</item>
0126                         <item>atan</item>
0127                         <item>atan2</item>
0128                         <item>ceil</item>
0129                         <item>clamp</item>
0130                         <item>cos</item>
0131                         <item>cosh</item>
0132                         <item>cross</item>
0133                         <item>degrees</item> <!-- the spec got this wrong... -->
0134                         <item>determinant</item>
0135                         <item>dot</item>
0136                         <item>exp</item>
0137                         <item>exp2</item>
0138                         <item>floor</item>
0139                         <item>fmod</item>
0140                         <item>frac</item>
0141                         <item>frexp</item>
0142                         <item>isfinite</item>
0143                         <item>isinf</item>
0144                         <item>isnan</item>
0145                         <item>ldexp</item>
0146                         <item>lerp</item>
0147                         <item>lit</item>
0148                         <item>log</item>
0149                         <item>log2</item>
0150                         <item>log10</item>
0151                         <item>max</item>
0152                         <item>min</item>
0153                         <item>modf</item>
0154                         <item>mul</item>
0155                         <item>noise</item>
0156                         <item>pow</item>
0157                         <item>radians</item>
0158                         <item>round</item>
0159                         <item>rsqrt</item>
0160                         <item>saturate</item>
0161                         <item>sign</item>
0162                         <item>sin</item>
0163                         <item>sincos</item>
0164                         <item>sinh</item>
0165                         <item>smoothstep</item>
0166                         <item>step</item>
0167                         <item>sqrt</item>
0168                         <item>tan</item>
0169                         <item>tanh</item>
0170                         <item>transpose</item>
0171                         <item>distance</item>
0172                         <item>faceforward</item>
0173                         <item>length</item>
0174                         <item>normalize</item>
0175                         <item>reflect</item>
0176                         <item>refract</item>
0177                         <item>tex1D</item>
0178                         <item>tex1Dproj</item>
0179                         <item>tex2D</item>
0180                         <item>tex2Dproj</item>
0181                         <item>texRECT</item>
0182                         <item>texRECTproj</item>
0183                         <item>tex3D</item>
0184                         <item>tex3Dproj</item>
0185                         <item>texCUBE</item>
0186                         <item>texCUBEproj</item>
0187                         <item>ddx</item>
0188                         <item>ddy</item>
0189                         <item>debug</item>
0190                         <item>pack_2half</item>
0191                         <item>unpack_2half</item>
0192                         <item>pack_2ushort</item>
0193                         <item>unpack_2ushort</item>
0194                         <item>pack_4byte</item>
0195                         <item>unpack_4byte</item>
0196                         <item>pack_4ubyte</item>
0197                         <item>unpack_4ubyte</item>
0198                 </list>
0199                 <list name="stdstruct">
0200                         <item>fragout</item>
0201                         <item>fragout_float</item>
0202                 </list>
0203                 <contexts>
0204                         <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
0205                                 <keyword String="keywords" attribute="Keyword" context="#stay" />
0206                                 <keyword String="binding" attribute="Binding" context="#stay" />
0207                                 <keyword String="attention" attribute="Alert" context="#stay" />
0208                                 
0209                                 <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
0210                                 <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
0211                                 
0212                                 <RegExpr String="(float|half|fixed|bool|int)[1234](x[1234])?" attribute="Data Type" context="#stay" />
0213                                 <keyword String="types" attribute="Data Type" context="#stay" />
0214                                 <keyword String="stdstruct" attribute="Data Type" context="#stay" />
0215                                 
0216                                 <RegExpr String="[0123456789]*+[.][0123456789]++h" attribute="Half" context="#stay" />
0217                                 <RegExpr String="[0123456789]*+[.][0123456789]++x" attribute="Fixed" context="#stay" />
0218                                 <RegExpr String="[0123456789]*+[.][0123456789]++f?" attribute="Float" context="#stay" />
0219                                 <Int attribute="Decimal" context="#stay" />
0220                                 
0221                                 <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
0222                                 <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
0223                                 
0224                                 <keyword String="stdlib" attribute="StdFunction" context="#stay" />
0225                                 
0226                                 <RegExpr attribute="Function" context="#stay" String="\b[_\w][_\w\d]*(?=[\s]*[(])" />
0227                         
0228                                 <RegExpr attribute="Swizzle" context="#stay" String="[.][rgbaxyzw]+(?=[\s/*-+&lt;&gt;])" />
0229                                 
0230                                 <DetectChar attribute="Symbol" context="Member" char="." />
0231                                 <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/*&lt;=&gt;?[]|~^&#59;"/>
0232                         </context>
0233                         <context name="Member" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
0234                                 <RegExpr attribute="Function" context="#pop" String="\b[_\w][_\w\d]*(?=[\s]*)" />
0235                         </context>
0236                         <context name="Commentar 1" attribute="Comment" lineEndContext="#pop">
0237                                 <IncludeRules context="##Comments" />
0238                         </context>
0239                         <context name="Commentar 2" attribute="Comment" lineEndContext="#stay">
0240                                 <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
0241                                 <IncludeRules context="##Comments" />
0242                         </context>
0243                 </contexts>
0244                 <itemDatas>
0245                         <itemData name="Normal Text"  defStyleNum="dsNormal"/>
0246                         <itemData name="Binding"      defStyleNum="dsKeyword"/>
0247                         <itemData name="Keyword"      defStyleNum="dsKeyword"/>
0248                         <itemData name="Function"     defStyleNum="dsFunction" bold="0"/>
0249                         <itemData name="StdFunction"  defStyleNum="dsBuiltIn" bold="1"/>
0250                         <itemData name="Data Type"    defStyleNum="dsDataType"/>
0251                         <itemData name="Decimal"      defStyleNum="dsDecVal"/>
0252                         <itemData name="Float"        defStyleNum="dsFloat"/>
0253                         <itemData name="Half"         defStyleNum="dsFloat"/>
0254                         <itemData name="Fixed"        defStyleNum="dsFloat"/>
0255                         <itemData name="Symbol"       defStyleNum="dsOperator"/>
0256                         <itemData name="Swizzle"      defStyleNum="dsNormal" bold="1"/>
0257                         <itemData name="Comment"      defStyleNum="dsComment"/>
0258                         <itemData name="Alert"        defStyleNum="dsAlert" />
0259                 </itemDatas>
0260         </highlighting>
0261         <general>
0262                 <comments>
0263                         <comment name="singleLine" start="//" />
0264                         <comment name="multiLine" start="/*" end="*/" region="Comment" />
0265                 </comments>
0266                 <keywords casesensitive="1" />
0267         </general>
0268 </language>
0269 <!-- kate: replace-tabs off; -->