123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 | <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd"
[
<!ENTITY HEX "[0-9A-Fa-f]">
]>
<language
name="tomo"
version="1"
kateversion="2.4"
section="Sources"
extensions="*.tm"
casesensitive="1"
identifier="python"
author="Bruce Hill (bruce@bruce-hill.com)"
license="MIT">
<highlighting>
<list name="keywords">
<item>func</item>
<item>struct</item>
<item>enum</item>
<item>lang</item>
<item>convert</item>
<item>assert</item>
</list>
<list name="types">
<item>Int</item>
<item>Int64</item>
<item>Int32</item>
<item>Int16</item>
<item>Int8</item>
<item>Num</item>
<item>Num32</item>
<item>Byte</item>
<item>Bool</item>
<item>Text</item>
<item>Void</item>
</list>
<list name="control">
<item>skip</item>
<item>stop</item>
<item>break</item>
<item>continue</item>
<item>when</item>
<item>is</item>
<item>if</item>
<item>then</item>
<item>else</item>
<item>while</item>
<item>repeat</item>
<item>for</item>
<item>in</item>
<item>return</item>
<item>pass</item>
</list>
<list name="specialvars">
<item>yes</item>
<item>no</item>
</list>
<list name="operators">
<item>mod</item>
<item>mod1</item>
<item>_min_</item>
<item>_max_</item>
<item>and</item>
<item>or</item>
<item>xor</item>
</list>
<list name="builtins">
<item>print</item>
<item>say</item>
<item>fail</item>
<item>exit</item>
</list>
<contexts>
<context name="Normal" attribute="Normal Text" lineEndContext="#pop">
<DetectChar attribute="Comment" context="Comment" char="#" />
<keyword attribute="Keyword" context="#stay" String="keywords" />
<keyword attribute="Type" context="#stay" String="types" />
<keyword attribute="Control" context="#stay" String="control" />
<keyword attribute="Operator" context="#stay" String="operators" />
<AnyChar attribute="Operator" context="#stay" String=":[]().,=~+-*/%@&|^><;" />
<keyword attribute="Builtin" context="#stay" String="builtins" />
<keyword attribute="Special Variable" context="#stay" String="specialvars" />
<DetectChar attribute="String" context="SingleQuoteText" char="'" />
<DetectChar attribute="String" context="DoubleQuoteText" char=""" />
<DetectChar attribute="String" context="BacktickText" char="`" />
<DetectChar attribute="Operator" context="Normal" char="(" />
<DetectChar attribute="Operator" context="#pop" char=")" />
<RegExpr attribute="Number" context="#stay" String="(?:0[xX](?:\.&HEX;+|&HEX;+\.?&HEX;*)(?:[pP][-+]?\d*)?|(?:\.\d+|\d+\.?\d*)(?:[eE][-+]?\d*)?)"/>
</context>
<context name="Comment" attribute="Comment" lineEndContext="#pop">
</context>
<context name="DoubleQuoteText" attribute="String" lineEndContext="#stay">
<DetectChar attribute="String" context="#pop" char=""" />
<DetectChar attribute="Operator" char="$" context="Interpolation"/>
</context>
<context name="SingleQuoteText" attribute="String" lineEndContext="#stay">
<DetectChar attribute="String" context="#pop" char="'" />
<DetectChar attribute="Operator" char="$" context="Interpolation"/>
</context>
<context name="BacktickText" attribute="String" lineEndContext="#stay">
<DetectChar attribute="String" context="#pop" char="'" />
</context>
<context name="Interpolation" attribute="Normal Text" lineEndContext="#stay">
<DetectIdentifier attribute="Variable" context="#pop" />
<DetectChar attribute="Operator" char="(" context="#pop!Normal" />
<AnyChar lookAhead="true" context="#pop" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" />
<itemData name="Comment" defStyleNum="dsComment" />
<itemData name="Variable" defStyleNum="dsVariable" />
<itemData name="Keyword" defStyleNum="dsKeyword" />
<itemData name="String" defStyleNum="dsString" />
<itemData name="Type" defStyleNum="dsDataType" />
<itemData name="Control" defStyleNum="dsControlFlow" />
<itemData name="Operator" defStyleNum="dsOperator" />
<itemData name="Builtin" defStyleNum="dsBuiltIn" />
<itemData name="Special Variable" defStyleNum="dsString" />
<itemData name="Number" defStyleNum="dsDecVal" />
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="#" />
</comments>
<keywords casesensitive="1"/>
<folding indentationsensitive="1"/>
<emptyLines>
<emptyLine regexpr="\s+"/>
<emptyLine regexpr="\s*#.*"/>
</emptyLines>
</general>
</language>
|