]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/zpt.xml
xmode.modes: updating with recent xmode files
[factor.git] / basis / xmode / modes / zpt.xml
1 <?xml version="1.0"?>
2
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">
4
5 <!--
6 <MODE NAME="zpt"                        FILE="zpt.xml"
7                                 FILE_NAME_GLOB="*.{pt,zpt}"/>
8 -->
9
10 <MODE>
11         <PROPS>
12                 <PROPERTY NAME="commentStart" VALUE="&lt;!--" />
13                 <PROPERTY NAME="commentEnd" VALUE="--&gt;" />
14         </PROPS>
15         <RULES IGNORE_CASE="TRUE">
16                 <!-- SGML comment -->
17                 <SPAN TYPE="COMMENT1">
18                         <BEGIN>&lt;!--</BEGIN>
19                         <END>--&gt;</END>
20                 </SPAN>
21
22                 <!-- JavaScript -->
23                 <SPAN TYPE="MARKUP" DELEGATE="JAVASCRIPT">
24                         <BEGIN>&lt;SCRIPT</BEGIN>
25                         <END>&lt;/SCRIPT&gt;</END>
26                 </SPAN>
27
28                 <!-- stylesheet -->
29                 <SPAN TYPE="MARKUP" DELEGATE="CSS">
30                         <BEGIN>&lt;STYLE</BEGIN>
31                         <END>&lt;/STYLE&gt;</END>
32                 </SPAN>
33
34                 <!-- DTD instructions -->
35                 <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">
36                         <BEGIN>&lt;!</BEGIN>
37                         <END>&gt;</END>
38                 </SPAN>
39
40                 <!-- markup tags -->
41                 <SPAN TYPE="MARKUP" DELEGATE="TAGS">
42                         <BEGIN>&lt;</BEGIN>
43                         <END>&gt;</END>
44                 </SPAN>
45
46                 <!-- SGML entities -->
47                 <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">
48                         <BEGIN>&amp;</BEGIN>
49                         <END>;</END>
50                 </SPAN>
51         </RULES>
52
53         <RULES SET="TAGS" DEFAULT="MARKUP">
54                 <SPAN TYPE="LITERAL1" DELEGATE="ATTRIBUTE">
55                         <BEGIN>"</BEGIN>
56                         <END>"</END>
57                 </SPAN>
58
59                 <SPAN TYPE="LITERAL1" DELEGATE="ATTRIBUTE">
60                         <BEGIN>'</BEGIN>
61                         <END>'</END>
62                 </SPAN>
63
64                 <SEQ TYPE="OPERATOR">=</SEQ>
65
66                 <KEYWORDS>
67                         <!-- TAL -->
68                         <KEYWORD1>tal</KEYWORD1>
69                         <KEYWORD3>attributes</KEYWORD3>
70                         <KEYWORD3>define</KEYWORD3>
71                         <KEYWORD3>condition</KEYWORD3>
72                         <KEYWORD3>content</KEYWORD3>
73                         <KEYWORD3>omit-tag</KEYWORD3>
74                         <KEYWORD3>on-error</KEYWORD3>
75                         <KEYWORD3>repeat</KEYWORD3>
76                         <KEYWORD3>replace</KEYWORD3>
77
78                         <!-- METAL -->
79                         <KEYWORD1>metal</KEYWORD1>
80                         <KEYWORD3>define-macro</KEYWORD3>
81                         <KEYWORD3>define-slot</KEYWORD3>
82                         <KEYWORD3>fill-slot</KEYWORD3>
83                         <KEYWORD3>use-macro</KEYWORD3>
84                 </KEYWORDS>
85         </RULES>
86
87         <RULES SET="ATTRIBUTE" DEFAULT="LITERAL1" ESCAPE="\">
88                 <SEQ TYPE="OPERATOR">:</SEQ>
89                 <SEQ TYPE="OPERATOR">;</SEQ>
90                 <SEQ TYPE="OPERATOR">?</SEQ>
91                 <SEQ TYPE="OPERATOR">|</SEQ>
92                 <SEQ TYPE="LITERAL2">$$</SEQ>
93
94                 <SPAN TYPE="LITERAL4">
95                         <BEGIN>"</BEGIN>
96                         <END>"</END>
97                 </SPAN>
98
99                 <SPAN TYPE="LITERAL4">
100                         <BEGIN>'</BEGIN>
101                         <END>'</END>
102                 </SPAN>
103
104                 <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">
105                         <BEGIN>${</BEGIN>
106                         <END>}</END>
107                 </SPAN>
108                 <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>
109                 <!-- highligh python expressions -->
110                 <!--
111                 <SEQ TYPE="LITERAL2" DELEGATE="python::MAIN"
112                         AT_LINE_START="FALSE">python:</SEQ>
113                 -->
114                 <KEYWORDS>
115                         <!-- TALES expression types -->
116                         <KEYWORD4>exists</KEYWORD4>
117                         <KEYWORD4>nocall</KEYWORD4>
118                         <KEYWORD4>not</KEYWORD4>
119                         <KEYWORD4>path</KEYWORD4>
120                         <KEYWORD4>python</KEYWORD4>
121                         <KEYWORD4>string</KEYWORD4>
122                         <KEYWORD4>structure</KEYWORD4>
123
124                         <!-- built-in TALES variables -->
125                         <!-- NOTE: root, here, container, template,
126                              request, user, and modules are optional -->
127                         <LITERAL3>CONTEXTS</LITERAL3>
128                         <LITERAL3>attrs</LITERAL3>
129                         <LITERAL3>container</LITERAL3>
130                         <LITERAL3>default</LITERAL3>
131                         <LITERAL3>here</LITERAL3>
132                         <LITERAL3>modules</LITERAL3>
133                         <LITERAL3>nothing</LITERAL3>
134                         <LITERAL3>options</LITERAL3>
135                         <LITERAL3>repeat</LITERAL3>
136                         <LITERAL3>request</LITERAL3>
137                         <LITERAL3>root</LITERAL3>
138                         <LITERAL3>template</LITERAL3>
139                         <LITERAL3>user</LITERAL3>
140
141                         <!-- repeat variable attributes -->
142                         <LITERAL3>index</LITERAL3>
143                         <LITERAL3>number</LITERAL3>
144                         <LITERAL3>even</LITERAL3>
145                         <LITERAL3>odd</LITERAL3>
146                         <LITERAL3>start</LITERAL3>
147                         <LITERAL3>end</LITERAL3>
148                         <LITERAL3>first</LITERAL3>
149                         <LITERAL3>last</LITERAL3>
150                         <LITERAL3>length</LITERAL3>
151                         <LITERAL3>letter</LITERAL3>
152                         <LITERAL3>Letter</LITERAL3>
153                         <LITERAL3>roman</LITERAL3>
154                         <LITERAL3>Roman</LITERAL3>
155                 </KEYWORDS>
156         </RULES>
157
158         <RULES SET="JAVASCRIPT" DEFAULT="MARKUP" IGNORE_CASE="TRUE">
159                 <SEQ TYPE="MARKUP" DELEGATE="javascript::MAIN">&gt;</SEQ>
160                 <SEQ TYPE="MARKUP" DELEGATE="BACK_TO_HTML">SRC=</SEQ>
161         </RULES>
162
163         <RULES SET="BACK_TO_HTML" DEFAULT="MARKUP">
164                 <SEQ TYPE="MARKUP" DELEGATE="zpt::MAIN">&gt;</SEQ>
165         </RULES>
166
167         <RULES SET="CSS" DEFAULT="MARKUP">
168                 <SEQ TYPE="MARKUP" DELEGATE="css::MAIN">&gt;</SEQ>
169         </RULES>
170 </MODE>
171