Files
RedBear-OS/local/recipes/kde/kf6-syntaxhighlighting/source/data/syntax/cil.xml
T

194 lines
7.4 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language>
<!-- Highlighting for Common Intermediate Language (CIL) files
https://en.wikipedia.org/wiki/Common_Intermediate_Language
-->
<language name="Common Intermediate Language (CIL)" version="3" kateversion="5.0" section="Assembler" extensions="*.il" author="Volker Krause (vkrause@kde.org)" license="MIT">
<highlighting>
<list name="keyword-list">
<item>cil</item>
<item>class</item>
<item>catch</item>
<item>default</item>
<item>extends</item>
<item>extern</item>
<item>finally</item>
<item>instance</item>
<item>managed</item>
<item>method</item>
<item>private</item>
<item>public</item>
<item>static</item>
<item>try</item>
<item>virtual</item>
</list>
<list name="type-list">
<item>bool</item>
<item>float32</item>
<item>float64</item>
<item>int8</item>
<item>int32</item>
<item>int64</item>
<item>object</item>
<item>string</item>
<item>unsigned</item>
<item>void</item>
</list>
<list name="meta-list">
<item>assembly</item>
<item>custom</item>
<item>entrypoint</item>
<item>field</item>
<item>locals</item>
<item>namespace</item>
<item>maxstack</item>
<item>module</item>
<item>property</item>
</list>
<!-- see https://en.wikipedia.org/wiki/List_of_CIL_instructions -->
<list name="op-list">
<item>add</item>
<item>and</item>
<item>arglist</item>
<item>beq</item>
<item>bge</item>
<item>bgt</item>
<item>ble</item>
<item>blt</item>
<item>bne</item>
<item>box</item>
<item>br</item>
<item>break</item>
<item>brfalse</item>
<item>brinst</item>
<item>brnull</item>
<item>brtrue</item>
<item>brzero</item>
<item>call</item>
<item>calli</item>
<item>callvirt</item>
<item>castclass</item>
<item>ceq</item>
<item>cgt</item>
<item>ckfinite</item>
<item>clt</item>
<item>constrained</item>
<item>conv</item>
<item>cpblk</item>
<item>cpobj</item>
<item>div</item>
<item>dup</item>
<item>endfault</item>
<item>endfilter</item>
<item>endfinally</item>
<item>initblk</item>
<item>initobj</item>
<item>isinst</item>
<item>jmp</item>
<item>ldarg</item>
<item>ldarga</item>
<item>ldc</item>
<item>ldelem</item>
<item>ldelema</item>
<item>ldfld</item>
<item>ldflda</item>
<item>ldftn</item>
<item>ldind</item>
<item>ldlen</item>
<item>ldloc</item>
<item>ldloca</item>
<item>ldnull</item>
<item>ldobj</item>
<item>ldsfld</item>
<item>ldsflda</item>
<item>ldstr</item>
<item>ldtoken</item>
<item>ldvirtftn</item>
<item>leave</item>
<item>localloc</item>
<item>mkrefany</item>
<item>mul</item>
<item>neg</item>
<item>newarr</item>
<item>newobj</item>
<item>nop</item>
<item>not</item>
<item>or</item>
<item>pop</item>
<item>readonly</item>
<item>refanytype</item>
<item>refanyval</item>
<item>rem</item>
<item>ret</item>
<item>rethrow</item>
<item>shl</item>
<item>shr</item>
<item>sizeof</item>
<item>starg</item>
<item>stelem</item>
<item>stfld</item>
<item>stind</item>
<item>stloc</item>
<item>stobj</item>
<item>stsfld</item>
<item>sub</item>
<item>switch</item>
<item>tail</item>
<item>throw</item>
<item>unaligned</item>
<item>unbox</item>
<item>volatile</item>
<item>xor</item>
</list>
<contexts>
<context name="normal-context" attribute="Normal Text" lineEndContext="#stay">
<Detect2Chars attribute="Comment" char="/" char1="/" context="comment-context"/>
<Detect2Chars attribute="Comment" context="multiline-comment-context" char="/" char1="*" beginRegion="CommentRegion"/>
<keyword attribute="Keyword" context="#stay" String="keyword-list"/>
<keyword attribute="Data Type" context="#stay" String="type-list"/>
<keyword attribute="Meta Data" context="#stay" String="meta-list"/>
<keyword attribute="Instructions" context="#stay" String="op-list"/>
<DetectChar context="#stay" char="{" beginRegion="BlockRegion"/>
<DetectChar context="#stay" char="}" endRegion="BlockRegion"/>
<DetectChar attribute="String" context="string-context" char="&quot;"/>
<RegExpr attribute="Label" context="#stay" String="IL_[\da-f]+:"/>
</context>
<context name="string-context" attribute="String" lineEndContext="#pop">
<HlCStringChar attribute="Special Character" context="#stay"/>
<DetectChar attribute="String" context="#pop" char="&quot;"/>
</context>
<context name="comment-context" lineEndContext="#pop" attribute="Comment">
<IncludeRules context="##Comments"/>
</context>
<context name="multiline-comment-context" lineEndContext="#stay" attribute="Comment">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="CommentRegion"/>
<IncludeRules context="##Comments"/>
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Data Type" defStyleNum="dsDataType" spellChecking="false"/>
<itemData name="String" defStyleNum="dsString" spellChecking="false"/>
<itemData name="Special Character" defStyleNum="dsChar" spellChecking="false"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Label" defStyleNum="dsPreprocessor" spellChecking="false"/>
<itemData name="Meta Data" defStyleNum="dsAttribute" spellChecking="false"/>
<itemData name="Instructions" defStyleNum="dsFunction" spellChecking="false"/>
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="multiLine" start="/*" end="*/" region="CommentRegion"/>
<comment name="singleLine" start="//"/>
</comments>
<keywords casesensitive="1"/>
</general>
</language>
<!-- kate: replace-tabs on; tab-width 4; indent-width 4; -->