blob: 666253bd50f8c027f840f87f059743de69a45c0f (
plain)
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
|
<?xml version="1.0" encoding="UTF-8"?>
<!-- Kate syntax highlighting for the Objective Caml 'Ocamlllex' -->
<!DOCTYPE language SYSTEM "language.dtd"
[
<!-- Regular expresion constants: -->
<!ENTITY LETTER "A-Za-z\300-\326\330-\366\370-\377"> <!-- Latin-1 letters. -->
<!ENTITY IDENT "`?[&LETTER;_][&LETTER;0-9_']*"> <!-- OCaml identifiers. -->
<!ENTITY ESC "(\\[ntbr'"\\]|\\[0-9]{3}|\\x[0-9A-Fa-f]{2})"> <!-- OCaml character code escapes. -->
]>
<language name="Objective Caml Ocamllex"
section="Sources"
extensions="*.mll"
mimetype=""
version="3"
kateversion="2.4"
priority="10"
author="Glyn Webster ([email protected]) and Vincent Hugot ([email protected])"
license="LGPL" >
<highlighting>
<list name="keywords">
<item>and</item>
<item>as</item>
<item>eof</item>
<item>let</item>
<item>parse</item>
<item>rule</item>
<item>shortest</item>
</list>
<contexts>
<context name="Rules" lineEndContext="#stay" attribute="Normal">
<Detect2Chars char="(" char1="*" context="Comment" attribute="Comment" beginRegion="comment" />
<DetectChar char="{" context="Ocaml" attribute="Normal" beginRegion="code" />
<DetectChar char=""" context="String" attribute="String" />
<RegExpr String="'(&ESC;|[^'])'" context="#stay" attribute="Character" />
<keyword String="keywords" context="#stay" attribute="Keyword" />
<RegExpr String="&IDENT;" context="#stay" attribute="Identifier" />
<DetectChar char="}" context="#stay" attribute="Mismatched Brackets" />
<Detect2Chars char="*" char1=")" context="#stay" attribute="Mismatched Brackets" />
</context>
<context name="Comment" lineEndContext="#stay" attribute="Comment">
<Detect2Chars char="*" char1=")" context="#pop" attribute="Comment" endRegion="comment" />
<Detect2Chars char="(" char1="*" context="Comment" attribute="Comment" beginRegion="comment" />
<DetectChar char=""" context="String" attribute="String" />
</context>
<context name="Ocaml" lineEndContext="#stay" attribute="Normal">
<DetectChar char="}" context="#pop" attribute="Normal" endRegion="code" />
<IncludeRules context="##Objective Caml" includeAttrib="true" />
</context>
<context name="String" lineEndContext="#stay" attribute="String">
<DetectChar char=""" context="#pop" attribute="String" />
<RegExpr String="&ESC;" context="#stay" attribute="Escaped Characters" />
<RegExpr String="\\$" context="#stay" attribute="Escaped Characters" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal" defStyleNum="dsOthers" />
<itemData name="Identifier" defStyleNum="dsNormal" />
<itemData name="Keyword" defStyleNum="dsOthers" bold="true" />
<itemData name="Character" defStyleNum="dsChar" />
<itemData name="String" defStyleNum="dsString" />
<itemData name="Escaped Characters" defStyleNum="dsChar" />
<itemData name="Comment" defStyleNum="dsComment" />
<itemData name="Mismatched Brackets" defStyleNum="dsError" />
</itemDatas>
</highlighting>
<general>
<keywords casesensitive="true" />
<comments>
<comment name="multiLine" start="(*" end="*)" />
</comments>
</general>
</language>
|