]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/avro.xml
xmode.modes: updating with recent xmode files
[factor.git] / basis / xmode / modes / avro.xml
1 <?xml version="1.0"?>
2 <!-- http://avro.apache.org/ -->
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">
4 <MODE>
5         <PROPS>
6                 <PROPERTY NAME="commentStart" VALUE="/*" />
7                 <PROPERTY NAME="commentEnd" VALUE="*/" />
8                 <PROPERTY NAME="lineComment" VALUE="//" />
9                 <PROPERTY NAME="wordBreakChars" VALUE=",=;*" />
10
11                 <!-- Auto indent -->
12                 <PROPERTY NAME="indentOpenBrackets" VALUE="{" />
13                 <PROPERTY NAME="indentCloseBrackets" VALUE="}" />
14                 <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />
15                 <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />
16         </PROPS>
17
18         <RULES IGNORE_CASE="FALSE"
19                HIGHLIGHT_DIGITS="TRUE"
20                DIGIT_RE="(0[lL]?|[1-9]\d{0,9}(\d{0,9}[lL])?|0[xX]\p{XDigit}{1,8}(\p{XDigit}{0,8}[lL])?|0[0-7]{1,11}([0-7]{0,11}[lL])?|([0-9]+\.[0-9]*|\.[0-9]+)([eE][+-]?[0-9]+)?[fFdD]?|[0-9]+([eE][+-]?[0-9]+[fFdD]?|([eE][+-]?[0-9]+)?[fFdD]))">
21
22                 <!-- Silly comment -->
23                 <SEQ TYPE="COMMENT1">/**/</SEQ>
24
25                 <!-- C/C++ style comment -->
26                 <SPAN TYPE="COMMENT1">
27                         <BEGIN>/*</BEGIN>
28                         <END>*/</END>
29                 </SPAN>
30
31                 <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>
32
33                 <!-- Strings -->
34                 <SPAN TYPE="LITERAL1" ESCAPE="\" NO_LINE_BREAK="TRUE">
35                         <BEGIN>&quot;</BEGIN>
36                         <END>&quot;</END>
37                 </SPAN>
38
39                 <!-- Annotations -->
40                 <MARK_FOLLOWING TYPE="KEYWORD4">@</MARK_FOLLOWING>
41
42                 <!-- Functions -->
43                 <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>
44                 <SEQ TYPE="OPERATOR">)</SEQ>
45
46                 <!-- Operators / others. -->
47                 <SEQ TYPE="OPERATOR">)</SEQ>
48                 <SEQ TYPE="OPERATOR">(</SEQ>
49                 <SEQ TYPE="OPERATOR">}</SEQ>
50                 <SEQ TYPE="OPERATOR">{</SEQ>
51                 <SEQ TYPE="OPERATOR">[</SEQ>
52                 <SEQ TYPE="OPERATOR">]</SEQ>
53                 <SEQ TYPE="OPERATOR">&lt;</SEQ>
54                 <SEQ TYPE="OPERATOR">&gt;</SEQ>
55
56                 <!-- Reserved word escaping. -->
57                 <SPAN TYPE="NULL" NO_LINE_BREAK="TRUE">
58                         <BEGIN>`</BEGIN>
59                         <END>`</END>
60                 </SPAN>
61
62                 <!-- Import statements. -->
63                 <SEQ TYPE="KEYWORD2">import idl</SEQ>
64                 <SEQ TYPE="KEYWORD2">import protocol</SEQ>
65                 <SEQ TYPE="KEYWORD2">import schema</SEQ>
66
67                 <KEYWORDS>
68                         <KEYWORD2>throws</KEYWORD2>
69                         <KEYWORD2>oneway</KEYWORD2>
70
71                         <!-- Types. -->
72                         <KEYWORD3>array</KEYWORD3>
73                         <KEYWORD3>boolean</KEYWORD3>
74                         <KEYWORD3>bytes</KEYWORD3>
75                         <KEYWORD3>double</KEYWORD3>
76                         <KEYWORD3>enum</KEYWORD3>
77                         <KEYWORD3>error</KEYWORD3>
78                         <KEYWORD3>fixed</KEYWORD3>
79                         <KEYWORD3>float</KEYWORD3>
80                         <KEYWORD3>int</KEYWORD3>
81                         <KEYWORD3>long</KEYWORD3>
82                         <KEYWORD2>map</KEYWORD2>
83                         <KEYWORD3>protocol</KEYWORD3>
84                         <KEYWORD3>record</KEYWORD3>
85                         <KEYWORD3>string</KEYWORD3>
86                         <KEYWORD3>union</KEYWORD3>
87                         <KEYWORD3>void</KEYWORD3>
88
89                         <!-- Constants. -->
90                         <KEYWORD4>null</KEYWORD4>
91                         <KEYWORD4>true</KEYWORD4>
92                         <KEYWORD4>false</KEYWORD4>
93                 </KEYWORDS>
94         </RULES>
95
96 </MODE>
97