Warning, /frameworks/syntax-highlighting/data/syntax/solidity.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 <language name="Solidity" section="Sources" 0006 version="6" kateversion="5.0" 0007 indenter="cstyle" 0008 mimetype="" 0009 extensions="*.sol" 0010 priority="5" 0011 author="Robert Kaiser (kairo@kairo.at)" 0012 license="MIT"> 0013 <!-- 0014 Solidity 0.5+ support, based on Solidity docs, see https://solidity.readthedocs.io/en/latest/index.html 0015 --> 0016 <highlighting> 0017 <!-- Types, see https://solidity.readthedocs.io/en/latest/types.html --> 0018 <list name="types"> 0019 <item>bool</item> 0020 <item>uint</item> 0021 <item>uint8</item> 0022 <item>uint16</item> 0023 <item>uint24</item> 0024 <item>uint32</item> 0025 <item>uint40</item> 0026 <item>uint48</item> 0027 <item>uint56</item> 0028 <item>uint64</item> 0029 <item>uint72</item> 0030 <item>uint80</item> 0031 <item>uint88</item> 0032 <item>uint96</item> 0033 <item>uint104</item> 0034 <item>uint112</item> 0035 <item>uint120</item> 0036 <item>uint128</item> 0037 <item>uint136</item> 0038 <item>uint144</item> 0039 <item>uint152</item> 0040 <item>uint160</item> 0041 <item>uint168</item> 0042 <item>uint176</item> 0043 <item>uint184</item> 0044 <item>uint192</item> 0045 <item>uint200</item> 0046 <item>uint208</item> 0047 <item>uint216</item> 0048 <item>uint224</item> 0049 <item>uint232</item> 0050 <item>uint240</item> 0051 <item>uint248</item> 0052 <item>uint256</item> 0053 <item>int</item> 0054 <item>int8</item> 0055 <item>int16</item> 0056 <item>int24</item> 0057 <item>int32</item> 0058 <item>int40</item> 0059 <item>int48</item> 0060 <item>int56</item> 0061 <item>int64</item> 0062 <item>int72</item> 0063 <item>int80</item> 0064 <item>int88</item> 0065 <item>int96</item> 0066 <item>int104</item> 0067 <item>int112</item> 0068 <item>int120</item> 0069 <item>int128</item> 0070 <item>int136</item> 0071 <item>int144</item> 0072 <item>int152</item> 0073 <item>int160</item> 0074 <item>int168</item> 0075 <item>int176</item> 0076 <item>int184</item> 0077 <item>int192</item> 0078 <item>int200</item> 0079 <item>int208</item> 0080 <item>int216</item> 0081 <item>int224</item> 0082 <item>int232</item> 0083 <item>int240</item> 0084 <item>int248</item> 0085 <item>int256</item> 0086 <!-- the detailed fixed types are not listed for now, as the whole family is not fully supported --> 0087 <item>ufixed</item> 0088 <item>fixed</item> 0089 <item>address</item> 0090 <item>byte</item> 0091 <item>bytes</item> 0092 <item>bytes1</item> 0093 <item>bytes2</item> 0094 <item>bytes3</item> 0095 <item>bytes4</item> 0096 <item>bytes5</item> 0097 <item>bytes6</item> 0098 <item>bytes7</item> 0099 <item>bytes8</item> 0100 <item>bytes9</item> 0101 <item>bytes10</item> 0102 <item>bytes11</item> 0103 <item>bytes12</item> 0104 <item>bytes13</item> 0105 <item>bytes14</item> 0106 <item>bytes15</item> 0107 <item>bytes16</item> 0108 <item>bytes17</item> 0109 <item>bytes18</item> 0110 <item>bytes19</item> 0111 <item>bytes20</item> 0112 <item>bytes21</item> 0113 <item>bytes22</item> 0114 <item>bytes23</item> 0115 <item>bytes24</item> 0116 <item>bytes25</item> 0117 <item>bytes26</item> 0118 <item>bytes27</item> 0119 <item>bytes28</item> 0120 <item>bytes29</item> 0121 <item>bytes30</item> 0122 <item>bytes31</item> 0123 <item>bytes32</item> 0124 <item>string</item> 0125 <item>mapping</item> 0126 </list> 0127 0128 <!-- Units and global variables, see https://solidity.readthedocs.io/en/latest/units-and-global-variables.html --> 0129 <list name="units"> 0130 <item>wei</item> 0131 <item>finney</item> 0132 <item>szabo</item> 0133 <item>ether</item> 0134 <item>seconds</item> 0135 <item>minutes</item> 0136 <item>hours</item> 0137 <item>days</item> 0138 <item>weeks</item> 0139 </list> 0140 <list name="globals"> 0141 <item>block</item> 0142 <item>msg</item> 0143 <item>now</item> 0144 <item>tx</item> 0145 <item>this</item> 0146 <item>super</item> 0147 <!-- global functions, do they belong elswhere? --> 0148 <item>blockhash</item> 0149 <item>gasleft</item> 0150 <item>abi</item> 0151 <item>assert</item> 0152 <item>require</item> 0153 <item>revert</item> 0154 <item>addmod</item> 0155 <item>mulmod</item> 0156 <item>keccak256</item> 0157 <item>sha256</item> 0158 <item>ripemd160</item> 0159 <item>ecrecover</item> 0160 <item>selfdestruct</item> 0161 <item>type</item> 0162 <!-- Low-level log functions, see https://solidity.readthedocs.io/en/latest/contracts.html#low-level-interface-to-logs --> 0163 <item>log0</item> 0164 <item>log1</item> 0165 <item>log2</item> 0166 <item>log3</item> 0167 <item>log4</item> 0168 </list> 0169 0170 <!-- Keywords, see https://solidity.readthedocs.io/en/latest/miscellaneous.html#cheatsheet --> 0171 <!-- Some keywords that are about program flow were moved to control structures. --> 0172 <list name="keywords"> 0173 <item>as</item> 0174 <item>from</item> 0175 <item>is</item> 0176 <item>using</item> 0177 <!-- Type-related, see https://solidity.readthedocs.io/en/latest/types.html --> 0178 <item>enum</item> 0179 <item>true</item> 0180 <item>false</item> 0181 <item>new</item> 0182 <item>struct</item> 0183 <item>constant</item> 0184 <!-- Function-related, see https://solidity.readthedocs.io/en/latest/types.html#function-types --> 0185 <item>internal</item> 0186 <item>external</item> 0187 <item>public</item> 0188 <item>private</item> 0189 <item>pure</item> 0190 <item>view</item> 0191 <item>payable</item> 0192 <item>returns</item> 0193 <!-- Data location, see https://solidity.readthedocs.io/en/latest/types.html#data-location --> 0194 <item>memory</item> 0195 <item>storage</item> 0196 <item>calldata</item> 0197 <!-- Operator? Variable-related, see https://solidity.readthedocs.io/en/latest/types.html --> 0198 <item>delete</item> 0199 <!-- Events, see https://solidity.readthedocs.io/en/latest/contracts.html#events --> 0200 <item>event</item> 0201 <item>indexed</item> 0202 </list> 0203 0204 <!-- Control structures and expressions, see https://solidity.readthedocs.io/en/latest/control-structures.html --> 0205 <list name="controlstructures"> 0206 <item>if</item> 0207 <item>else</item> 0208 <item>while</item> 0209 <item>do</item> 0210 <item>for</item> 0211 <item>break</item> 0212 <item>continue</item> 0213 <item>return</item> 0214 <!-- moved from keywords --> 0215 <item>import</item> 0216 <item>contract</item> 0217 <item>library</item> 0218 <item>assembly</item> 0219 <item>function</item> 0220 <item>constructor</item> 0221 <item>modifier</item> 0222 <item>emit</item> 0223 </list> 0224 0225 <!-- Reserved keywords, see https://solidity.readthedocs.io/en/latest/miscellaneous.html#reserved-keywords --> 0226 <list name="reserved"> 0227 <item>abstract</item> 0228 <item>after</item> 0229 <item>alias</item> 0230 <item>apply</item> 0231 <item>auto</item> 0232 <item>case</item> 0233 <item>catch</item> 0234 <item>copyof</item> 0235 <item>default</item> 0236 <item>define</item> 0237 <item>final</item> 0238 <item>immutable</item> 0239 <item>implements</item> 0240 <item>in</item> 0241 <item>inline</item> 0242 <item>let</item> 0243 <item>macro</item> 0244 <item>match</item> 0245 <item>mutable</item> 0246 <item>null</item> 0247 <item>of</item> 0248 <item>override</item> 0249 <item>partial</item> 0250 <item>promise</item> 0251 <item>reference</item> 0252 <item>relocatable</item> 0253 <item>sealed</item> 0254 <item>sizeof</item> 0255 <item>static</item> 0256 <item>supports</item> 0257 <item>switch</item> 0258 <item>try</item> 0259 <item>typedef</item> 0260 <item>typeof</item> 0261 <item>unchecked</item> 0262 </list> 0263 0264 <contexts> 0265 <context name="Normal" attribute="Normal Text" lineEndContext="#stay"> 0266 <DetectSpaces /> 0267 <StringDetect attribute="Keyword" String="pragma" context="Pragma" firstNonSpace="true" insensitive="true" /> 0268 <keyword attribute="Control Structures" context="#stay" String="controlstructures" /> 0269 <keyword attribute="Keyword" context="#stay" String="keywords" /> 0270 <keyword attribute="Data Type" context="#stay" String="types" /> 0271 <keyword attribute="Unit" context="#stay" String="units" /> 0272 <keyword attribute="Built-in" context="#stay" String="globals" /> 0273 <keyword attribute="Error" context="#stay" String="reserved" /> 0274 <DetectIdentifier /> 0275 <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" /> 0276 <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" /> 0277 0278 <HlCHex attribute="Hex" context="#stay" /> 0279 <Float attribute="Decimal" context="#stay" /> 0280 <Int attribute="Decimal" context="#stay" /> 0281 0282 <HlCChar attribute="Char" context="#stay"/> 0283 <DetectChar attribute="String" context="String" char=""" /> 0284 0285 <Detect2Chars attribute="Built-in" context="#stay" char="+" char1="+" /> 0286 <Detect2Chars attribute="Built-in" context="#stay" char="-" char1="-" /> 0287 0288 <Detect2Chars attribute="Comment" context="MatchComment" char="/" char1="/" lookAhead="true"/> 0289 <Detect2Chars attribute="Comment" context="MatchComment" char="/" char1="*" lookAhead="true" /> 0290 <AnyChar attribute="Symbol" context="#stay" String=":!%&()+,-/.*<=>?[]|~^;" /> 0291 </context> 0292 0293 <context name="MatchComment" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop"> 0294 <IncludeRules context="##Doxygen" /> 0295 <Detect2Chars attribute="Comment" context="#pop!Comment Single" char="/" char1="/" /> 0296 <Detect2Chars attribute="Comment" context="#pop!Comment Multi" char="/" char1="*" beginRegion="Comment" /> 0297 </context> 0298 0299 <context name="Pragma" attribute="Normal Text" lineEndContext="#pop"> 0300 <WordDetect attribute="Built-in" String="solidity" context="Pragma Solidity" insensitive="true" /> 0301 <WordDetect attribute="Built-in" String="experimental" context="Pragma Experimental" insensitive="true" /> 0302 <RegExpr attribute="Error" context="#pop" String="[^\s;]+" /> 0303 </context> 0304 0305 <context name="Pragma Solidity" attribute="Normal Text" lineEndContext="#pop"> 0306 <RegExpr attribute="Normal Text" context="#pop" String="[\^\. \-<>=\|\d\w]+" /> 0307 <RegExpr attribute="Error" context="#pop" String="[^\s;]+" /> 0308 </context> 0309 0310 <context name="Pragma Experimental" attribute="Normal Text" lineEndContext="#pop"> 0311 <WordDetect attribute="Built-in" context="#pop" String="ABIEncoderV2" /> 0312 <WordDetect attribute="Built-in" context="#pop" String="SMTChecker" /> 0313 <RegExpr attribute="Error" context="#pop" String="[^\s;]+" /> 0314 </context> 0315 0316 <context name="String" attribute="String" lineEndContext="#pop"> 0317 <LineContinue attribute="String" context="#stay" /> 0318 <HlCStringChar attribute="String Char" context="#stay" /> 0319 <DetectChar attribute="String" context="#pop" char="""/> 0320 </context> 0321 0322 <context name="Comment Single" attribute="Comment" lineEndContext="#pop"> 0323 <LineContinue attribute="Comment" context="#stay" /> 0324 <DetectSpaces /> 0325 <IncludeRules context="##Comments" /> 0326 <DetectIdentifier /> 0327 </context> 0328 0329 <context name="Comment Multi" attribute="Comment" lineEndContext="#stay"> 0330 <DetectSpaces /> 0331 <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment" /> 0332 <IncludeRules context="##Comments" /> 0333 <DetectIdentifier /> 0334 </context> 0335 </contexts> 0336 0337 <itemDatas> 0338 <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false" /> 0339 <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false" /> 0340 <!-- itemData name="Function" defStyleNum="dsFunction" spellChecking="false" / --> 0341 <itemData name="Control Structures" defStyleNum="dsControlFlow" spellChecking="false" /> 0342 <!-- itemData name="Operator" defStyleNum="dsOperator" spellChecking="false" / --> 0343 <itemData name="Symbol" defStyleNum="dsOperator" spellChecking="false" /> 0344 <itemData name="Built-in" defStyleNum="dsBuiltIn" spellChecking="false" /> 0345 <itemData name="Unit" defStyleNum="dsConstant" bold="0" spellChecking="false" /> 0346 <itemData name="Data Type" defStyleNum="dsDataType" spellChecking="false" /> 0347 <itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false" /> 0348 <itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false" /> 0349 <itemData name="String" defStyleNum="dsString" /> 0350 <itemData name="Char" defStyleNum="dsChar" /> 0351 <itemData name="String Char" defStyleNum="dsSpecialChar" /> 0352 <itemData name="Comment" defStyleNum="dsComment" /> 0353 <itemData name="Error" defStyleNum="dsError" spellChecking="false" /> 0354 </itemDatas> 0355 </highlighting> 0356 0357 <general> 0358 <comments> 0359 <comment name="singleLine" start="//" /> 0360 <comment name="multiLine" start="/*" end="*/" region="Comment" /> 0361 </comments> 0362 <keywords casesensitive="1" /> 0363 </general> 0364 0365 </language> 0366 <!-- kate: replace-tabs on; indent-width 2; tab-width 2; -->