122 lines
5.6 KiB
XML
122 lines
5.6 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE language[
|
|
<!ENTITY charsdelim "_;."(){}@">
|
|
<!ENTITY wordsep "(?=[&charsdelim;]|\s|$)">
|
|
]>
|
|
<language name="Agda" version="9" kateversion="5.0" section="Sources" extensions="*.agda" mimetype="text/x-agda" author="Matthias C. M. Troffaes" license="LGPL">
|
|
<highlighting>
|
|
<list name="reserved keywords">
|
|
<item>abstract</item>
|
|
<item>codata</item>
|
|
<item>coinductive</item>
|
|
<item>constructor</item>
|
|
<item>data</item>
|
|
<item>do</item>
|
|
<item>eta-equality</item>
|
|
<item>field</item>
|
|
<item>forall</item>
|
|
<item>hiding</item>
|
|
<item>import</item>
|
|
<item>in</item>
|
|
<item>inductive</item>
|
|
<item>infix</item>
|
|
<item>infixl</item>
|
|
<item>infixr</item>
|
|
<item>instance</item>
|
|
<item>interleaved</item>
|
|
<item>let</item>
|
|
<item>macro</item>
|
|
<item>module</item>
|
|
<item>mutual</item>
|
|
<item>no-eta-equality</item>
|
|
<item>open</item>
|
|
<item>overlap</item>
|
|
<item>pattern</item>
|
|
<item>postulate</item>
|
|
<item>primitive</item>
|
|
<item>private</item>
|
|
<item>public</item>
|
|
<item>quote</item>
|
|
<item>quoteTerm</item>
|
|
<item>record</item>
|
|
<item>renaming</item>
|
|
<item>rewrite</item>
|
|
<item>syntax</item>
|
|
<item>tactic</item>
|
|
<item>to</item>
|
|
<item>unquote</item>
|
|
<item>unquoteDecl</item>
|
|
<item>unquoteDef</item>
|
|
<item>using</item>
|
|
<item>variable</item>
|
|
<item>where</item>
|
|
<item>with</item>
|
|
</list>
|
|
<contexts>
|
|
<context attribute="Normal" lineEndContext="#stay" name="code">
|
|
<RegExpr attribute="Pragma" context="#stay" String="\{-#.*#-\}" />
|
|
<keyword attribute="Keyword" context="#stay" String="reserved keywords" />
|
|
<RegExpr attribute="Type" context="#stay" String="(?:Prop[₀-₉]+|Prop[0-9]*|Set[₀-₉]+|Set[0-9]*)&wordsep;" />
|
|
<RegExpr attribute="Special" context="#stay" String="(?:\->|→|∀|λ|:|=|\|)&wordsep;" />
|
|
<RegExpr attribute="Float" context="#stay" String="\d+(?:(?:\.\d+)?[eE][+-]?\d+|\.\d+)&wordsep;" />
|
|
<RegExpr attribute="Decimal" context="#stay" String="[0-9]+&wordsep;" />
|
|
<DetectChar attribute="Char" context="char" char="'" />
|
|
<DetectChar attribute="String" context="string" char=""" />
|
|
<Detect2Chars attribute="Comment" context="comment" char="-" char1="-" />
|
|
<Detect2Chars attribute="Comment" context="comments" char="{" char1="-" beginRegion="CommentBlock" />
|
|
<Detect2Chars attribute="Hole" context="hole" char="{" char1="!" />
|
|
<!-- delimiters which cannot be part of an identifier, or
|
|
backslash which starts a lambda expression -->
|
|
<AnyChar attribute="Special" context="#stay" String="&charsdelim;\\" />
|
|
<!-- any other identifier (can contain backslash and single
|
|
quote anywhere except at start, but these two special
|
|
cases are already taken care off above) -->
|
|
<RegExpr attribute="Normal" context="#stay" String="[^&charsdelim;\s]+" />
|
|
</context>
|
|
<context attribute="Comment" lineEndContext="#pop" name="comment">
|
|
<IncludeRules context="##Comments" />
|
|
</context>
|
|
<context attribute="Comment" lineEndContext="#stay" name="comments" noIndentationBasedFolding="1">
|
|
<Detect2Chars attribute="Comment" context="comments" char="{" char1="-" beginRegion="CommentBlock" /> <!-- for nested comments -->
|
|
<Detect2Chars attribute="Comment" context="#pop" char="-" char1="}" endRegion="CommentBlock" />
|
|
<IncludeRules context="##Comments" />
|
|
</context>
|
|
<context attribute="Hole" lineEndContext="#stay" name="hole">
|
|
<Detect2Chars attribute="Hole" context="#pop" char="!" char1="}" />
|
|
</context>
|
|
<context attribute="Char" lineEndContext="#pop" name="char">
|
|
<Detect2Chars attribute="Char" context="#stay" char="\" char1="'" />
|
|
<DetectChar attribute="Char" context="#pop" char="'" />
|
|
</context>
|
|
<context attribute="String" lineEndContext="#stay" name="string">
|
|
<Detect2Chars attribute="String" context="#stay" char="\" char1=""" />
|
|
<DetectChar attribute="String" context="#pop" char=""" />
|
|
</context>
|
|
</contexts>
|
|
<itemDatas>
|
|
<itemData name="Normal" defStyleNum="dsNormal" spellChecking="false" />
|
|
<itemData name="Comment" defStyleNum="dsComment" />
|
|
<itemData name="Pragma" defStyleNum="dsPreprocessor" spellChecking="false" />
|
|
<itemData name="Hole" defStyleNum="dsOthers" spellChecking="false" />
|
|
<itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false" />
|
|
<itemData name="Type" defStyleNum="dsDataType" spellChecking="false" />
|
|
<itemData name="Special" defStyleNum="dsOthers" spellChecking="false" />
|
|
<itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false" />
|
|
<itemData name="Float" defStyleNum="dsFloat" spellChecking="false" />
|
|
<itemData name="Char" defStyleNum="dsChar" spellChecking="false" />
|
|
<itemData name="String" defStyleNum="dsString" />
|
|
</itemDatas>
|
|
</highlighting>
|
|
<general>
|
|
<folding indentationsensitive="1"/>
|
|
<comments>
|
|
<comment name="singleLine" start="--" position="afterwhitespace" />
|
|
<comment name="multiLine" start="{-" end="-}" region="CommentBlock" />
|
|
</comments>
|
|
<keywords casesensitive="1"
|
|
weakDeliminator=":!+,-<=>%&*/?[]^|~\\"
|
|
additionalDeliminator="&charsdelim;" />
|
|
</general>
|
|
</language>
|
|
<!-- kate: replace-tabs on; tab-width 2; indent-width 2; -->
|