]> gitweb.factorcode.org Git - factor.git/blob - extra/xmode/modes/factor.xml
Merge branch 'master' of git://factorcode.org/git/factor
[factor.git] / extra / xmode / modes / factor.xml
1 <?xml version="1.0"?>\r
2 <!DOCTYPE MODE SYSTEM "xmode.dtd">\r
3 \r
4 <MODE>\r
5         <PROPS>\r
6                 <PROPERTY NAME="indentOpenBrackets" VALUE="[{"/>\r
7                 <PROPERTY NAME="indentCloseBrackets" VALUE="]}"/>\r
8                 <PROPERTY NAME="indentNextLines" VALUE="^(:|M:|C:|PREDICATE:)[^;]*"/>\r
9                 <PROPERTY NAME="unindentNextLines" VALUE="^.*;.*$"/>\r
10                 <PROPERTY NAME="doubleBracketIndent" VALUE="true"/>\r
11                 <PROPERTY NAME="commentStart" VALUE="("/>\r
12                 <PROPERTY NAME="commentEnd" VALUE=")"/>\r
13                 <PROPERTY NAME="lineComment" VALUE="!"/>\r
14                 <PROPERTY NAME="noWordSep" VALUE="+-*=&gt;&lt;;.?/'()%,_|"/>\r
15         </PROPS>\r
16         <RULES IGNORE_CASE="FALSE" ESCAPE="\" NO_WORD_SEP="+-*=&gt;&lt;;.?/'()%,_"\r
17                 HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="-?\d+([./]\d+)?">\r
18                 <EOL_SPAN TYPE="COMMENT2" AT_WORD_START="TRUE"\r
19                         DELEGATE="COMMENT">#! </EOL_SPAN>\r
20                 <EOL_SPAN TYPE="COMMENT1" AT_WORD_START="TRUE"\r
21                         DELEGATE="COMMENT">! </EOL_SPAN>\r
22 \r
23                 <!-- parsing words -->\r
24                 <SEQ_REGEXP TYPE="MARKUP"\r
25                         HASH_CHAR="\"\r
26                         AT_WORD_START="TRUE">\\\s+(\S+)</SEQ_REGEXP>\r
27                 <SEQ_REGEXP TYPE="MARKUP"\r
28                         HASH_CHAR=":"\r
29                         AT_WORD_START="TRUE">:\s+(\S+)</SEQ_REGEXP>\r
30                 <SEQ_REGEXP TYPE="MARKUP"\r
31                         HASH_CHAR="IN:"\r
32                         AT_WORD_START="TRUE">IN:\s+(\S+)</SEQ_REGEXP>\r
33                 <SEQ_REGEXP TYPE="MARKUP"\r
34                         HASH_CHAR="USE:"\r
35                         AT_WORD_START="TRUE">USE:\s+(\S+)</SEQ_REGEXP>\r
36                 <SEQ_REGEXP TYPE="LITERAL2"\r
37                         HASH_CHAR="CHAR:"\r
38                         AT_WORD_START="TRUE">CHAR:\s+(\S+)</SEQ_REGEXP>\r
39                 <SEQ_REGEXP TYPE="LITERAL2"\r
40                         HASH_CHAR="BIN:"\r
41                         AT_WORD_START="TRUE">BIN:\s+(\S+)</SEQ_REGEXP>\r
42                 <SEQ_REGEXP TYPE="LITERAL2"\r
43                         HASH_CHAR="OCT:"\r
44                         AT_WORD_START="TRUE">OCT:\s+(\S+)</SEQ_REGEXP>\r
45                 <SEQ_REGEXP TYPE="LITERAL2"\r
46                         HASH_CHAR="HEX:"\r
47                         AT_WORD_START="TRUE">HEX:\s+(\S+)</SEQ_REGEXP>\r
48 \r
49                 <SPAN TYPE="COMMENT3" DELEGATE="STACK_EFFECT" NO_LINE_BREAK="TRUE">\r
50                         <BEGIN>( </BEGIN>\r
51                         <END>)</END>\r
52                 </SPAN>\r
53                 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE"\r
54                         DELEGATE="LITERAL">\r
55                         <BEGIN>SBUF" </BEGIN>\r
56                         <END>"</END>\r
57                 </SPAN>\r
58                 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE"\r
59                         DELEGATE="LITERAL">\r
60                         <BEGIN>"</BEGIN>\r
61                         <END>"</END>\r
62                 </SPAN>\r
63                 <SPAN TYPE="MARKUP" DELEGATE="USING">\r
64                         <BEGIN>USING: </BEGIN>\r
65                         <END>;</END>\r
66                 </SPAN>\r
67 \r
68                 <SEQ TYPE="OPERATOR">[</SEQ>\r
69                 <SEQ TYPE="OPERATOR">]</SEQ>\r
70                 <SEQ TYPE="OPERATOR">{</SEQ>\r
71                 <SEQ TYPE="OPERATOR">}</SEQ>\r
72 \r
73                 <KEYWORDS>\r
74                         <KEYWORD1>&gt;r</KEYWORD1>\r
75                         <KEYWORD1>r&gt;</KEYWORD1>\r
76 \r
77                         <MARKUP>;</MARKUP>\r
78 \r
79                         <LITERAL3>t</LITERAL3>\r
80                         <LITERAL4>f</LITERAL4>\r
81                         \r
82                         <COMMENT2>#!</COMMENT2>\r
83                         <COMMENT1>!</COMMENT1>\r
84                 </KEYWORDS>\r
85         </RULES>\r
86 \r
87         <RULES SET="STACK_EFFECT" DEFAULT="COMMENT4">\r
88                 <SEQ TYPE="COMMENT3">--</SEQ>\r
89         </RULES>\r
90 \r
91         <RULES SET="LITERAL" DEFAULT="LITERAL1">\r
92         </RULES>\r
93 \r
94         <RULES SET="COMMENT" DEFAULT="COMMENT1">\r
95         </RULES>\r
96 \r
97         <RULES SET="USING" DEFAULT="LITERAL2">\r
98         </RULES>\r
99 </MODE>\r