1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
|
<?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; -->
|