blog/syntax/maude.xml

126 lines
5.5 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd" [
<!ENTITY tok_start "(?&lt;=^|\s|[(\[{}\]),])">
<!ENTITY tok_end "(?=$|\s|[(\[{}\]),])">
]>
<language name="Maude" section="Sources" extensions="*.maude"
version="1" kateversion="5.53">
<highlighting>
<list name="modules">
<item>mod</item> <item>endm</item> <item>is</item>
<item>fmod</item> <item>endfm</item>
<item>smod</item> <item>endsm</item>
<item>th</item> <item>endth</item>
<item>fth</item> <item>endfth</item>
<item>sth</item> <item>endsth</item>
<item>view</item> <item>endv</item>
<item>from</item> <item>to</item>
</list>
<list name="import">
<item>protecting</item> <item>pr</item>
<item>including</item> <item>inc</item>
<item>extending</item> <item>ex</item>
</list>
<list name="sorts">
<item>sort</item> <item>sorts</item>
<item>subsort</item> <item>subsorts</item>
</list>
<list name="ops"> <item>op</item> <item>ops</item> </list>
<list name="vars"> <item>var</item> <item>vars</item> </list>
<list name="eqs"> <item>eq</item> <item>ceq</item> </list>
<list name="rules"> <item>rl</item> <item>crl</item> </list>
<list name="members"> <item>mb</item> <item>cmb</item> </list>
<list name="strats"> <item>strat</item> <item>strats</item> </list>
<list name="sds"> <item>sd</item> <item>csd</item> </list>
<list name="if"> <item>if</item> </list>
<contexts>
<context attribute="default" lineEndContext="#stay" name="Default">
<keyword attribute="modules" context="#stay" String="modules" />
<keyword attribute="import" context="#stay" String="import" />
<keyword attribute="sorts" context="#stay" String="sorts" />
<keyword attribute="ops" context="#stay" String="ops" />
<keyword attribute="vars" context="#stay" String="vars" />
<keyword attribute="eqs" context="#stay" String="eqs" />
<keyword attribute="rules" context="#stay" String="rules" />
<keyword attribute="members" context="#stay" String="members" />
<keyword attribute="strats" context="#stay" String="strats" />
<keyword attribute="sds" context="#stay" String="sds" />
<keyword attribute="if" context="#stay" String="if" />
<RegExpr attribute="if" context="#stay" String="/\\" />
<RegExpr attribute="punc" context="#stay"
String="&tok_start;(?::[:=]?|->|&lt;-|=>|=(?:=|/=)?|@)&tok_end;" />
<RegExpr attribute="delim" context="#stay"
String="[{}\[\](),]|(?&lt;=^|\s)\.(?=\s|$)" />
<DetectChar attribute="string" context="String" char="&quot;" />
<RegExpr attribute="rat" context="#stay"
String="&tok_start;-?\d+(?:/\d+)?&tok_end;" />
<RegExpr attribute="float" context="#stay"
String="&tok_start;-?\d*\.\d+(?:[eE][+-]?\d+)?&tok_end;" />
<RegExpr attribute="float" context="#stay"
String="&tok_start;-?Infinity&tok_end;" />
<RegExpr attribute="comment" context="comment s"
String="(?:---|\*\*\*)(?!\()" />
<RegExpr attribute="comment" context="comment m"
String="(?:---|\*\*\*)\(" />
<!-- todo make this more exact? -->
<RegExpr attribute="qid" context="#stay"
String="'(?:\S+|&quot;(?:[^\\&quot;]|\\.)*&quot;)" />
</context>
<context attribute="string" lineEndContext="#stay" name="String">
<RegExpr attribute="string esc" context="#stay" String="\\." />
<DetectChar attribute="string" context="#pop" char="&quot;" />
</context>
<context attribute="comment" lineEndContext="#pop" name="comment s" />
<context attribute="comment" lineEndContext="#stay" name="comment m">
<DetectChar attribute="comment" context="comment m" char="(" />
<DetectChar attribute="comment" context="#pop" char=")" />
</context>
</contexts>
<itemDatas>
<itemData name="default" defStyleNum="dsNormal" />
<itemData name="modules" defStyleNum="dsPreprocessor" />
<itemData name="import" defStyleNum="dsPreprocessor" />
<itemData name="sorts" defStyleNum="dsDataType" />
<itemData name="ops" defStyleNum="dsFunction" />
<itemData name="vars" defStyleNum="dsVariable" />
<itemData name="eqs" defStyleNum="dsFunction" />
<itemData name="rules" defStyleNum="dsControlFlow" />
<itemData name="members" defStyleNum="dsKeyword" />
<itemData name="strats" defStyleNum="dsControlFlow" />
<itemData name="sds" defStyleNum="dsControlFlow" />
<itemData name="if" defStyleNum="dsControlFlow" />
<itemData name="punc" defStyleNum="dsOperator" />
<itemData name="delim" defStyleNum="dsNormal" />
<itemData name="string" defStyleNum="dsString" />
<itemData name="string esc" defStyleNum="dsSpecialChar" />
<itemData name="float" defStyleNum="dsFloat" />
<itemData name="rat" defStyleNum="dsFloat" />
<itemData name="qid" defStyleNum="dsString" />
<itemData name="comment" defStyleNum="dsComment" />
</itemDatas>
</highlighting>
<general>
<keywords
casesensitive="true"
additionalDeliminators="[]{}(), &#9;"
wordWrapDeliminators=" " />
</general>
</language>