1
<?xml version="1.0" encoding="UTF-8"?>
2
<!DOCTYPE language SYSTEM "language.dtd"[
3
<!ENTITY charsdelim "_;."(){}@">
4
<!ENTITY wordsep "(?=([&charsdelim;]|\s|$))">
6
<language name="Agda" version="1.0" kateversion="3.12" section="Sources" extensions="*.agda" mimetype="text/x-agda" author="Matthias C. M. Troffaes" license="LGPL">
8
<list name="reserved keywords">
9
<item> abstract </item>
11
<item> coinductive </item>
12
<item> constructor </item>
19
<item> inductive </item>
25
<item> pattern </item>
26
<item> postulate </item>
27
<item> primitive </item>
28
<item> private </item>
33
<item> quoteGoal </item>
34
<item> quoteTerm </item>
36
<item> renaming </item>
37
<item> rewrite </item>
40
<item> unquote </item>
46
<context attribute="Normal" lineEndContext="#stay" name="code">
47
<RegExpr attribute="Pragma" context="#stay" String="\{-#.*#-\}" />
48
<keyword attribute="Keyword" context="#stay" String="reserved keywords" />
49
<RegExpr attribute="Type" context="#stay" String="(Prop|Set[₀-₉]+|Set[0-9]*)&wordsep;" />
50
<RegExpr attribute="Special" context="#stay" String="(->|→|∀|λ|:|=|\|)&wordsep;" />
51
<RegExpr attribute="Float" context="#stay" String="\d+\.\d+&wordsep;" />
52
<RegExpr attribute="Decimal" context="#stay" String="[0-9]+&wordsep;" />
53
<DetectChar attribute="Char" context="char" char="'" />
54
<DetectChar attribute="String" context="string" char=""" />
55
<Detect2Chars attribute="Comment" context="comment" char="-" char1="-" />
56
<Detect2Chars attribute="Comment" context="comments" char="{" char1="-" />
57
<Detect2Chars attribute="Hole" context="hole" char="{" char1="!" />
58
<!-- delimiters which cannot be part of an identifier, or
59
backslash which starts a lambda expression -->
60
<AnyChar attribute="Special" context="#stay" String="&charsdelim;\\" />
61
<!-- any other identifier (can contain backslash and single
62
quote anywhere except at start, but these two special
63
cases are already taken care off above) -->
64
<RegExpr attribute="Normal" context="#stay" String="[^&charsdelim;\s]+" />
66
<context attribute="Comment" lineEndContext="#pop" name="comment" />
67
<context attribute="Comment" lineEndContext="#stay" name="comments">
68
<Detect2Chars attribute="Comment" context="comments" char="{" char1="-" /> <!-- for nested comments -->
69
<Detect2Chars attribute="Comment" context="#pop" char="-" char1="}" />
71
<context attribute="Hole" lineEndContext="#stay" name="hole">
72
<Detect2Chars attribute="Hole" context="#pop" char="!" char1="}" />
74
<context attribute="Char" lineEndContext="#pop" name="char">
75
<Detect2Chars attribute="Char" context="#stay" char="\\" char1="'" />
76
<DetectChar attribute="Char" context="#pop" char="'" />
78
<context attribute="String" lineEndContext="#stay" name="string">
79
<Detect2Chars attribute="String" context="#stay" char="\\" char1=""" />
80
<DetectChar attribute="String" context="#pop" char=""" />
84
<itemData name="Normal" defStyleNum="dsNormal" spellChecking="false" />
85
<itemData name="Comment" defStyleNum="dsComment" />
86
<itemData name="Pragma" defStyleNum="dsOthers" spellChecking="false" />
87
<itemData name="Hole" defStyleNum="dsOthers" spellChecking="false" />
88
<itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false" />
89
<itemData name="Type" defStyleNum="dsDataType" spellChecking="false" />
90
<itemData name="Special" defStyleNum="dsOthers" spellChecking="false" />
91
<itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false" />
92
<itemData name="Float" defStyleNum="dsFloat" spellChecking="false" />
93
<itemData name="Char" defStyleNum="dsChar" spellChecking="false" />
94
<itemData name="String" defStyleNum="dsString" />
98
<folding indentationsensitive="1"/>
100
<comment name="singleLine" start="--" />
101
<comment name="multiLine" start="{-" end="-}" />
103
<keywords casesensitive="1"
104
weakDeliminator=":!+,-<=>%&*/?[]^|~\\"
105
additionalDeliminator="&charsdelim;" />