]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/n3.xml
xmode.modes: updating with recent xmode files
[factor.git] / basis / xmode / modes / n3.xml
1 <?xml version="1.0"?>
2 <!--
3 Basic N3 mode by Jakub Roztočil <jakub@roztocil.name>
4
5         N3 (Notation3) is a shorthand non-XML serialization of RDF
6         <http://www.w3.org/DesignIssues/Notation3.html>
7
8 Catalog entry:
9
10         <MODE NAME="n3" FILE="n3.xml" FILE_NAME_GLOB="*.n3" />
11
12 TODO:
13         * different highlighting for subject, predicate and object
14         * higlight qnames, not only prefixes (prefix:qname)
15
16 -->
17 <!DOCTYPE MODE SYSTEM "xmode.dtd">
18 <MODE>
19         <PROPS>
20                 <!-- Indent when writting more statements about the same subject -->
21                 <PROPERTY NAME="indentNextLines" VALUE="\S+\s+\S+\s+\S+\s*;$" />
22                 <PROPERTY NAME="indentOpenBrackets" VALUE="[{(" />
23                 <PROPERTY NAME="indentCloseBrackets" VALUE="}])" />
24                 <PROPERTY NAME="ignoreWhitespace" VALUE="false" />
25                 <PROPERTY NAME="lineComment" VALUE="#" />
26         </PROPS>
27
28         <RULES HIGHLIGHT_DIGITS="TRUE">
29
30
31                 <!-- @foo -->
32                 <MARK_FOLLOWING TYPE="KEYWORD1">@</MARK_FOLLOWING>
33
34                 <!-- Prefixes -->
35                 <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>
36
37                 <!-- Resource URI -->
38                 <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE">
39                         <BEGIN>&lt;</BEGIN>
40                         <END>&gt;</END>
41                 </SPAN>
42
43                 <!-- Strings -->
44                 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE" ESCAPE="\">
45                         <BEGIN>"""</BEGIN>
46                         <END>"""</END>
47                 </SPAN>
48                 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE" ESCAPE="\">
49                         <BEGIN>"</BEGIN>
50                         <END>"</END>
51                 </SPAN>
52
53                 <!-- Operators -->
54                 <SEQ TYPE="OPERATOR">.</SEQ>
55                 <SEQ TYPE="OPERATOR">?</SEQ>
56                 <SEQ TYPE="OPERATOR">(</SEQ>
57                 <SEQ TYPE="OPERATOR">)</SEQ>
58                 <SEQ TYPE="OPERATOR">^^</SEQ>
59                 <SEQ TYPE="OPERATOR">}</SEQ>
60                 <SEQ TYPE="OPERATOR">{</SEQ>
61                 <SEQ TYPE="OPERATOR">,</SEQ>
62                 <SEQ TYPE="OPERATOR">;</SEQ>
63                 <SEQ TYPE="OPERATOR">]</SEQ>
64                 <SEQ TYPE="OPERATOR">[</SEQ>
65                 <SEQ TYPE="OPERATOR">:</SEQ>
66                 <SEQ TYPE="OPERATOR">=></SEQ>
67                 <SEQ TYPE="OPERATOR">=</SEQ>
68
69                 <!-- COMMENTS -->
70                 <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="FALSE">#</EOL_SPAN>
71
72                 <!-- KEYWORDS -->
73                 <KEYWORDS>
74                         <KEYWORD2>a</KEYWORD2>
75                         <KEYWORD2>is</KEYWORD2>
76                         <KEYWORD2>has</KEYWORD2>
77                         <KEYWORD2>of</KEYWORD2>
78                         <KEYWORD3>true</KEYWORD3>
79                         <KEYWORD3>false</KEYWORD3>
80                 </KEYWORDS>
81         </RULES>
82
83
84 </MODE>
85
86