]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/smarty.xml
xmode.modes: updating with recent xmode files
[factor.git] / basis / xmode / modes / smarty.xml
1 <?xml version="1.0" ?>
2 <!--
3 /**
4 * @version              2.0.1 (2010-02-08)
5 * @author               Mads Lie Jensen
6 * @author               Rowan Collins
7 * Improved Smarty highlighting mode, based on http://www.palustris.dk/jedit/smarty.xml
8 *       and the built-in PHP mode from jEdit 4.3
9 * @link http://rwec.co.uk/jedit for documentation and updates
10 */
11
12 To install, add this to the "catalog" file:
13 <MODE NAME="smarty" FILE="smarty.xml" FILE_NAME_GLOB="*.tpl"></MODE>
14
15 You might want to execute these lines of BeanShell code (e.g. with the Utilities->BeanShell menu):
16
17 jEdit.setProperty("mode.smarty.sidekick.parser","html");
18 jEdit.setProperty("mode.smarty.xml.completion-info",
19 "jeditresource:/XML.jar!/xml/completion/html-complete.xml");
20
21 to get tag-completion/matching on html in the templates-files if you have the XML-plugin installed
22
23 -->
24 <!DOCTYPE MODE SYSTEM "xmode.dtd">
25 <MODE>
26         <PROPS>
27                 <PROPERTY NAME="commentStart" VALUE="{*" />
28                 <PROPERTY NAME="commentEnd" VALUE="*}" />
29         </PROPS>
30
31         <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">
32                 <SPAN TYPE="COMMENT1">
33                         <BEGIN>{*</BEGIN>
34                         <END>*}</END>
35                 </SPAN>
36                 
37                 <!-- Highlight markup other than Smarty inside a {literal} block -->
38                 <SPAN TYPE="LITERAL3" DELEGATE="NON_SMARTY">
39                         <BEGIN>{LITERAL}</BEGIN>
40                         <END>{/LITERAL}</END>
41                 </SPAN>
42                 
43                 <SPAN TYPE="MARKUP" DELEGATE="php::PHP" MATCH_TYPE="FUNCTION">
44                         <BEGIN>{PHP}</BEGIN>
45                         <END>{/PHP}</END>
46                 </SPAN>
47
48                 <SPAN TYPE="MARKUP" DELEGATE="SMARTY">
49                         <BEGIN>{</BEGIN>
50                         <END>}</END>
51                 </SPAN>
52                 
53                 <!-- SGML comment -->
54                 <SPAN TYPE="COMMENT1" DELEGATE="COMMENT1+SMARTY">
55                         <BEGIN>&lt;!--</BEGIN>
56                         <END>--&gt;</END>
57                 </SPAN>
58                 
59                 <!-- JavaScript -->
60                 <SPAN TYPE="MARKUP" DELEGATE="JAVASCRIPT_OPENTAG">
61                         <BEGIN>&lt;SCRIPT</BEGIN>
62                         <END>&lt;/SCRIPT&gt;</END>
63                 </SPAN>
64
65                 <!-- CSS -->
66                 <SPAN TYPE="MARKUP" DELEGATE="CSS_OPENTAG">
67                         <BEGIN>&lt;STYLE</BEGIN>
68                         <END>&lt;/STYLE&gt;</END>
69                 </SPAN>
70                 
71                 <!-- HTML tags -->
72                 <SEQ_REGEXP HASH_CHAR="&lt;" TYPE="MARKUP" DELEGATE="TAGS">&lt;/?\w+</SEQ_REGEXP>
73                 
74                 <IMPORT DELEGATE="NON_SMARTY" />
75         </RULES>
76         
77         <RULES SET="NON_SMARTY" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">
78
79                 <!-- SGML comment -->
80                 <SPAN TYPE="COMMENT1">
81                         <BEGIN>&lt;!--</BEGIN>
82                         <END>--&gt;</END>
83                 </SPAN>
84
85                 <!-- DTD instructions -->
86                 <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">
87                         <BEGIN>&lt;!</BEGIN>
88                         <END>&gt;</END>
89                 </SPAN>
90                 
91                 <!-- JavaScript -->
92                 <SPAN_REGEXP HASH_CHAR="&lt;SCRIPT" TYPE="MARKUP" DELEGATE="javascript::MAIN">
93                         <BEGIN>&lt;SCRIPT.*?&gt;</BEGIN>
94                         <END>&lt;/SCRIPT&gt;</END>
95                 </SPAN_REGEXP>
96
97                 <!-- CSS -->
98                 <SPAN_REGEXP HASH_CHAR="&lt;STYLE" TYPE="MARKUP" DELEGATE="css::MAIN">
99                         <BEGIN>&lt;STYLE.*?&gt;</BEGIN>
100                         <END>&lt;/STYLE&gt;</END>
101                 </SPAN_REGEXP>
102
103                 <!-- HTML tags -->
104                 <SEQ_REGEXP HASH_CHAR="&lt;" TYPE="MARKUP" DELEGATE="html::TAGS">&lt;/?\w+</SEQ_REGEXP>
105
106                 <!-- SGML entities -->
107                 <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">
108                         <BEGIN>&amp;</BEGIN>
109                         <END>;</END>
110                 </SPAN>
111
112         </RULES>
113         
114         <!-- HTML tags (from MAIN rule) -->
115         <RULES SET="TAGS" DEFAULT="MARKUP" ESCAPE="\">
116                 <SEQ TYPE="MARKUP" DELEGATE="MAIN">&gt;</SEQ><!-- from SEQ_REGEXP delegate -->
117
118                 <SPAN_REGEXP AT_WORD_START="TRUE" TYPE="MARKUP" DELEGATE="CSS_PROPERTIES+SMARTY" HASH_CHAR="style">
119                         <BEGIN>style\s*=\s*(["'])</BEGIN>
120                         <END>$1</END>
121                 </SPAN_REGEXP>
122                 
123                 <IMPORT DELEGATE="TO_LITERAL+SMARTY" />
124                 <IMPORT DELEGATE="TO_SMARTY" />
125                 <IMPORT DELEGATE="INVALID_LT" />
126                 <IMPORT DELEGATE="html::TAGS" />
127         </RULES>
128         
129         <!-- Handle literals, but allow switching to SMARTY therein, e.g. from html TAGS -->
130         <RULES SET="TO_LITERAL+SMARTY">
131                 <SPAN TYPE="LITERAL1" DELEGATE="LITERAL1+SMARTY">
132                         <BEGIN>'</BEGIN>
133                         <END>'</END>
134                 </SPAN>
135                 <SPAN TYPE="LITERAL2" DELEGATE="LITERAL2+SMARTY">
136                         <BEGIN>"</BEGIN>
137                         <END>"</END>
138                 </SPAN>
139                 <IMPORT DELEGATE="TO_SMARTY"/>
140         </RULES>
141         
142         <!-- Handle SMARTY tags in LITERAL1, e.g. in the "type" attribute of a <SCRIPT> tag -->
143         <RULES SET="LITERAL1+SMARTY" DEFAULT="LITERAL1" ESCAPE="\">
144                 <IMPORT DELEGATE="TO_SMARTY"/>
145         </RULES>
146
147         <!-- Handle SMARTY tags in LITERAL2, e.g. in the "type" attribute of a <SCRIPT> tag -->
148         <RULES SET="LITERAL2+SMARTY" DEFAULT="LITERAL2" ESCAPE="\">
149                 <IMPORT DELEGATE="TO_SMARTY"/>
150         </RULES>
151         
152         <!-- Handle Smarty tags in HTML comments -->
153         <RULES SET="COMMENT1+SMARTY" DEFAULT="COMMENT1">
154                 <IMPORT DELEGATE="TO_SMARTY"/>
155         </RULES>
156         
157         <!-- Go to SMARTY mode again -->
158         <RULES SET="TO_SMARTY" DEFAULT="MARKUP">
159                 <SPAN TYPE="MARKUP" DELEGATE="SMARTY">
160                         <BEGIN>{</BEGIN>
161                         <END>}</END>
162                 </SPAN>
163         </RULES>
164         
165         <RULES SET="INVALID_LT" DEFAULT="INVALID">
166                 <SEQ TYPE="INVALID">&lt;</SEQ>
167         </RULES>
168         
169         
170         
171         <!-- CSS where SMARTY code may be injected -->
172         <RULES SET="CSS_OPENTAG" DEFAULT="MARKUP">
173                 <SEQ TYPE="MARKUP" DELEGATE="CSS+SMARTY">&gt;</SEQ>
174
175                 <IMPORT DELEGATE="TO_LITERAL+SMARTY"/>
176         </RULES>
177
178         <RULES SET="CSS+SMARTY" DEFAULT="MARKUP">
179                 <!-- Hacky support for highlighting of CSS not inside a {literal} block -->
180                 <SPAN TYPE="FUNCTION" DELEGATE="CSS_PROPERTIES+SMARTY">
181                         <BEGIN>{ldelim}</BEGIN>
182                         <END>{rdelim}</END>
183                 </SPAN>
184                 <SPAN TYPE="KEYWORD3" DELEGATE="CSS_PROPERTIES+SMARTY">
185                         <BEGIN>{$smarty.ldelim}</BEGIN>
186                         <END>{$smarty.rdelim}</END>
187                 </SPAN>
188                 
189                 <SEQ TYPE="OPERATOR" DELEGATE="CSS_PSEUDO">:</SEQ>
190                 
191                 <IMPORT DELEGATE="TO_SMARTY"/>
192                 <IMPORT DELEGATE="css::MAIN"/>
193         </RULES>
194         <RULES SET="CSS_PROPERTIES+SMARTY" ESCAPE="\">
195                 <SEQ TYPE="OPERATOR" DELEGATE="CSS_PROP_VALUE+SMARTY">:</SEQ>
196                 
197                 <IMPORT DELEGATE="TO_SMARTY"/>
198                 <IMPORT DELEGATE="css::PROPERTIES"/>
199         </RULES>
200         <RULES SET="CSS_PROP_VALUE+SMARTY"
201                 HIGHLIGHT_DIGITS="TRUE"
202                 DIGIT_RE="-?\d+(\.\d+)?(pt|pc|in|mm|cm|em|ex|px|ms|s|%|)"
203                 NO_WORD_SEP="-_%">
204                 
205                 <SEQ TYPE="OPERATOR" DELEGATE="CSS_PROPERTIES+SMARTY">;</SEQ>
206                 <SEQ TYPE="INVALID" DELEGATE="CSS+SMARTY">}</SEQ> <!-- end properties block, but it's invalid -->
207                 
208                 <IMPORT DELEGATE="TO_SMARTY"/>
209                 <IMPORT DELEGATE="css::PROP_VALUE"/>
210         </RULES>
211         <!-- Pseudo-classes like ":active" are handled specially in the CSS mode -->
212         <RULES SET="CSS_PSEUDO">
213                 <SEQ TYPE="NULL" DELEGATE="CSS+SMARTY"> </SEQ>
214                 <SEQ TYPE="OPERATOR" DELEGATE="CSS+SMARTY">,</SEQ>
215                 
216                 <SPAN TYPE="FUNCTION" DELEGATE="CSS_PROPERTIES+SMARTY">
217                         <BEGIN>{ldelim}</BEGIN>
218                         <END>{rdelim}</END>
219                 </SPAN>
220                 <SPAN TYPE="KEYWORD3" DELEGATE="CSS_PROPERTIES+SMARTY">
221                         <BEGIN>{$smarty.ldelim}</BEGIN>
222                         <END>{$smarty.rdelim}</END>
223                 </SPAN>
224         
225                 <IMPORT DELEGATE="TO_SMARTY"/>
226                 <IMPORT DELEGATE="css::PSEUDO"/>
227         </RULES>
228         
229         <!-- Javascript -->
230         <RULES SET="JAVASCRIPT_OPENTAG" DEFAULT="MARKUP">
231                 <SEQ TYPE="MARKUP" DELEGATE="JAVASCRIPT">&gt;</SEQ>
232                 <IMPORT DELEGATE="TO_LITERAL+SMARTY"/> <!-- handle SMARTY in <script> tag -->
233                 <IMPORT DELEGATE="html::TAGS" /> <!-- handle e.g. 'style="width:1px"' -->
234         </RULES>
235         
236         <RULES SET="JAVASCRIPT" DEFAULT="MARKUP" ESCAPE="\">
237                 <IMPORT DELEGATE="TO_LITERAL+SMARTY"/>
238                 <IMPORT DELEGATE="TO_SMARTY"/>
239                 <IMPORT DELEGATE="javascript::MAIN"/>
240         </RULES>
241         
242         
243         
244         <RULES DEFAULT="LITERAL2" SET="DOUBLE_QUOTED" IGNORE_CASE="TRUE">
245                 <SPAN TYPE="LITERAL2" DELEGATE="BACK_TICKED">
246                         <BEGIN>`</BEGIN>
247                         <END>`</END>
248                 </SPAN>
249                 
250                 <IMPORT DELEGATE="VARIABLES" />
251         </RULES>
252         
253         <RULES DEFAULT="LITERAL2" SET="BACK_TICKED" IGNORE_CASE="TRUE">
254                 <IMPORT DELEGATE="VARIABLES" />
255                 <IMPORT DELEGATE="MATH_OPERATORS" />
256         </RULES>
257         
258         
259         <RULES SET="VARIABLES">
260                 <MARK_FOLLOWING TYPE="KEYWORD3">$</MARK_FOLLOWING>
261         </RULES>
262                 
263         <RULES SET="MATH_OPERATORS" IGNORE_CASE="TRUE">
264                 <SEQ TYPE="OPERATOR">.</SEQ>
265                 <SEQ TYPE="OPERATOR">-&gt;</SEQ>
266                 <SEQ TYPE="OPERATOR">*</SEQ>
267                 <SEQ TYPE="OPERATOR">/</SEQ>
268                 <SEQ TYPE="OPERATOR">+</SEQ>
269                 <SEQ TYPE="OPERATOR">-</SEQ>
270                 <SEQ TYPE="OPERATOR">%</SEQ>
271         </RULES>
272
273         <RULES SET="LOGIC_OPERATORS" IGNORE_CASE="TRUE">
274                 <SEQ TYPE="OPERATOR">|</SEQ>
275                 <SEQ TYPE="OPERATOR">:</SEQ>
276                 <SEQ TYPE="OPERATOR">=</SEQ>
277         
278                 <KEYWORDS>
279                         <OPERATOR>!=</OPERATOR>
280                         <OPERATOR>&gt;</OPERATOR>
281                         <OPERATOR>&gt;=</OPERATOR>
282                         <OPERATOR>&lt;</OPERATOR>
283                         <OPERATOR>&lt;=</OPERATOR>
284                         
285                         <OPERATOR>==</OPERATOR>
286                         
287                         <OPERATOR>div by </OPERATOR>
288                         <OPERATOR>even by </OPERATOR>
289                         <OPERATOR>is even </OPERATOR>
290                         <OPERATOR>is not even </OPERATOR>
291                         <OPERATOR>is not odd </OPERATOR>
292                         <OPERATOR>is odd </OPERATOR>
293                         <OPERATOR>odd by </OPERATOR>
294                         
295                         <OPERATOR>eq</OPERATOR>
296                         <OPERATOR>ge</OPERATOR>
297                         <OPERATOR>gt</OPERATOR>
298                         <OPERATOR>gte</OPERATOR>
299                         <OPERATOR>le</OPERATOR>
300                         <OPERATOR>lt</OPERATOR>
301                         <OPERATOR>lte</OPERATOR>
302                         <OPERATOR>mod</OPERATOR>
303                         <OPERATOR>ne</OPERATOR>
304                         <OPERATOR>neq</OPERATOR>
305                         <OPERATOR>not</OPERATOR>
306                 </KEYWORDS>
307         </RULES>
308         
309
310         <RULES SET="SMARTY" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE" DEFAULT="LITERAL1">
311                 <SPAN TYPE="LITERAL1">
312                         <BEGIN>'</BEGIN>
313                         <END>'</END>
314                 </SPAN>
315                 
316                 <SPAN TYPE="LITERAL2" DELEGATE="DOUBLE_QUOTED">
317                         <BEGIN>"</BEGIN>
318                         <END>"</END>
319                 </SPAN>
320                 
321                 <!-- Variables from config-files -->
322                 <SPAN TYPE="KEYWORD3">
323                         <BEGIN>#</BEGIN>
324                         <END>#</END>
325                 </SPAN>
326                 
327                 <IMPORT DELEGATE="VARIABLES" />
328                 <IMPORT DELEGATE="MATH_OPERATORS" />
329                 <IMPORT DELEGATE="LOGIC_OPERATORS" />
330                 
331                 <KEYWORDS>
332                 
333                         <!-- Built-in functions (in order of documentation) -->
334                         <FUNCTION>capture</FUNCTION>
335                         <FUNCTION>/capture</FUNCTION>
336                         <FUNCTION>config_load</FUNCTION>
337                         <FUNCTION>foreach</FUNCTION>
338                         <FUNCTION>foreachelse</FUNCTION>
339                         <FUNCTION>/foreach</FUNCTION>
340                         <FUNCTION>if</FUNCTION>
341                         <FUNCTION>else</FUNCTION>
342                         <FUNCTION>elseif</FUNCTION>
343                         <FUNCTION>/if</FUNCTION>
344                         <FUNCTION>include</FUNCTION>
345                         <FUNCTION>include_php</FUNCTION>
346                         <FUNCTION>insert</FUNCTION>
347                         <FUNCTION>ldelim</FUNCTION>
348                         <FUNCTION>rdelim</FUNCTION>
349                         <!-- {literal} is handled specially -->
350                         <!-- {php} is handled specially -->
351                         <FUNCTION>section</FUNCTION>
352                         <FUNCTION>sectionelse</FUNCTION>
353                         <FUNCTION>/section</FUNCTION>
354                         <FUNCTION>strip</FUNCTION>
355                         <FUNCTION>/strip</FUNCTION>
356                         
357                         <!-- Default custom functions -->
358                         <FUNCTION>assign</FUNCTION>
359                         <FUNCTION>counter</FUNCTION>
360                         <FUNCTION>cycle</FUNCTION>
361                         <FUNCTION>debug</FUNCTION>
362                         <FUNCTION>eval</FUNCTION>
363                         <FUNCTION>fetch</FUNCTION>
364                         <FUNCTION>html_checkboxes</FUNCTION>
365                         <FUNCTION>html_image</FUNCTION>
366                         <FUNCTION>html_options</FUNCTION>
367                         <FUNCTION>html_radios</FUNCTION>
368                         <FUNCTION>html_select_date</FUNCTION>
369                         <FUNCTION>html_select_time</FUNCTION>
370                         <FUNCTION>html_table</FUNCTION>
371                         <FUNCTION>mailto</FUNCTION>
372                         <FUNCTION>math</FUNCTION>
373                         <FUNCTION>popup</FUNCTION>
374                         <FUNCTION>popup_init</FUNCTION>
375                         <FUNCTION>textformat</FUNCTION>
376                         <FUNCTION>/textformat</FUNCTION>
377                         
378                         <!-- 
379                         Variable modifiers
380                         'strip' is used in Smarty as both a variable modifier and a function.
381                         I have them listed as both, but it will only be recognised as one of these possibilities.
382                         At time of writing this is the last entry, ie. a KEYWORD1
383                         -->
384                         <KEYWORD1>capitalize</KEYWORD1>
385                         <KEYWORD1>cat</KEYWORD1>
386                         <KEYWORD1>count_characters</KEYWORD1>
387                         <KEYWORD1>count_paragraphs</KEYWORD1>
388                         <KEYWORD1>count_sentences</KEYWORD1>
389                         <KEYWORD1>count_words</KEYWORD1>
390                         <KEYWORD1>date_format</KEYWORD1>
391                         <KEYWORD1>default</KEYWORD1>
392                         <KEYWORD1>escape</KEYWORD1>
393                         <KEYWORD1>indent</KEYWORD1>
394                         <KEYWORD1>lower</KEYWORD1>
395                         <KEYWORD1>nl2br</KEYWORD1>
396                         <KEYWORD1>regex_replace</KEYWORD1>
397                         <KEYWORD1>replace</KEYWORD1>
398                         <KEYWORD1>spacify</KEYWORD1>
399                         <KEYWORD1>string_format</KEYWORD1>
400                         <KEYWORD1>strip</KEYWORD1>
401                         <KEYWORD1>strip_tags</KEYWORD1>
402                         <KEYWORD1>truncate</KEYWORD1>
403                         <KEYWORD1>upper</KEYWORD1>
404                         <KEYWORD1>wordwrap</KEYWORD1>
405                         
406                         <!-- attributes for Smarty built-in and custom functions -->
407                         <KEYWORD3>above</KEYWORD3>
408                         <KEYWORD3>advance</KEYWORD3>
409                         <KEYWORD3>all_extra</KEYWORD3>
410                         <KEYWORD3>assign</KEYWORD3>
411                         <KEYWORD3>autostatus</KEYWORD3>
412                         <KEYWORD3>autostatuscap</KEYWORD3>
413                         <KEYWORD3>background</KEYWORD3>
414                         <KEYWORD3>below</KEYWORD3>
415                         <KEYWORD3>bgbackground</KEYWORD3>
416                         <KEYWORD3>bgcolor</KEYWORD3>
417                         <KEYWORD3>border</KEYWORD3>
418                         <KEYWORD3>caparray</KEYWORD3>
419                         <KEYWORD3>capcolor</KEYWORD3>
420                         <KEYWORD3>capicon</KEYWORD3>
421                         <KEYWORD3>caption</KEYWORD3>
422                         <KEYWORD3>captionfont</KEYWORD3>
423                         <KEYWORD3>captionsize</KEYWORD3>
424                         <KEYWORD3>center</KEYWORD3>
425                         <KEYWORD3>closecolor</KEYWORD3>
426                         <KEYWORD3>closefont</KEYWORD3>
427                         <KEYWORD3>closesize</KEYWORD3>
428                         <KEYWORD3>closetext</KEYWORD3>
429                         <KEYWORD3>day_extra</KEYWORD3>
430                         <KEYWORD3>day_format</KEYWORD3>
431                         <KEYWORD3>day_size</KEYWORD3>
432                         <KEYWORD3>delay</KEYWORD3>
433                         <KEYWORD3>delimiter</KEYWORD3>
434                         <KEYWORD3>direction</KEYWORD3>
435                         <KEYWORD3>display_days</KEYWORD3>
436                         <KEYWORD3>display_hours</KEYWORD3>
437                         <KEYWORD3>display_meridian</KEYWORD3>
438                         <KEYWORD3>display_minutes</KEYWORD3>
439                         <KEYWORD3>display_months</KEYWORD3>
440                         <KEYWORD3>display_seconds</KEYWORD3>
441                         <KEYWORD3>display_years</KEYWORD3>
442                         <KEYWORD3>end_year</KEYWORD3>
443                         <KEYWORD3>equation</KEYWORD3>
444                         <KEYWORD3>fgbackground</KEYWORD3>
445                         <KEYWORD3>fgcolor</KEYWORD3>
446                         <KEYWORD3>field_array</KEYWORD3>
447                         <KEYWORD3>field_order</KEYWORD3>
448                         <KEYWORD3>field_separator</KEYWORD3>
449                         <KEYWORD3>file</KEYWORD3>
450                         <KEYWORD3>fixx</KEYWORD3>
451                         <KEYWORD3>fixy</KEYWORD3>
452                         <KEYWORD3>format</KEYWORD3>
453                         <KEYWORD3>frame</KEYWORD3>
454                         <KEYWORD3>from</KEYWORD3>
455                         <KEYWORD3>fullhtml</KEYWORD3>
456                         <KEYWORD3>hauto</KEYWORD3>
457                         <KEYWORD3>height</KEYWORD3>
458                         <KEYWORD3>hour_extra</KEYWORD3>
459                         <KEYWORD3>inarray</KEYWORD3>
460                         <KEYWORD3>indent</KEYWORD3>
461                         <KEYWORD3>indent_char</KEYWORD3>
462                         <KEYWORD3>indent_first</KEYWORD3>
463                         <KEYWORD3>item</KEYWORD3>
464                         <KEYWORD3>key</KEYWORD3>
465                         <KEYWORD3>left</KEYWORD3>
466                         <KEYWORD3>loop</KEYWORD3>
467                         <KEYWORD3>max</KEYWORD3>
468                         <KEYWORD3>meridian_extra</KEYWORD3>
469                         <KEYWORD3>minute_extra</KEYWORD3>
470                         <KEYWORD3>minute_interval</KEYWORD3>
471                         <KEYWORD3>month_extra</KEYWORD3>
472                         <KEYWORD3>month_format</KEYWORD3>
473                         <KEYWORD3>month_size</KEYWORD3>
474                         <KEYWORD3>month_value_format</KEYWORD3>
475                         <KEYWORD3>name</KEYWORD3>
476                         <KEYWORD3>noclose</KEYWORD3>
477                         <KEYWORD3>offsetx</KEYWORD3>
478                         <KEYWORD3>offsety</KEYWORD3>
479                         <KEYWORD3>once</KEYWORD3>
480                         <KEYWORD3>options</KEYWORD3>
481                         <KEYWORD3>output</KEYWORD3>
482                         <KEYWORD3>padx</KEYWORD3>
483                         <KEYWORD3>pady</KEYWORD3>
484                         <KEYWORD3>prefix</KEYWORD3>
485                         <KEYWORD3>print</KEYWORD3>
486                         <KEYWORD3>reverse_years</KEYWORD3>
487                         <KEYWORD3>right</KEYWORD3>
488                         <KEYWORD3>scope</KEYWORD3>
489                         <KEYWORD3>script</KEYWORD3>
490                         <KEYWORD3>second_extra</KEYWORD3>
491                         <KEYWORD3>second_interval</KEYWORD3>
492                         <KEYWORD3>section</KEYWORD3>
493                         <KEYWORD3>selected</KEYWORD3>
494                         <KEYWORD3>show</KEYWORD3>
495                         <KEYWORD3>skip</KEYWORD3>
496                         <KEYWORD3>snapx</KEYWORD3>
497                         <KEYWORD3>snapy</KEYWORD3>
498                         <KEYWORD3>start</KEYWORD3>
499                         <KEYWORD3>start_year</KEYWORD3>
500                         <KEYWORD3>status</KEYWORD3>
501                         <KEYWORD3>step</KEYWORD3>
502                         <KEYWORD3>sticky</KEYWORD3>
503                         <KEYWORD3>stop</KEYWORD3>
504                         <KEYWORD3>style</KEYWORD3>
505                         <KEYWORD3>text</KEYWORD3>
506                         <KEYWORD3>textcolor</KEYWORD3>
507                         <KEYWORD3>textfont</KEYWORD3>
508                         <KEYWORD3>textsize</KEYWORD3>
509                         <KEYWORD3>time</KEYWORD3>
510                         <KEYWORD3>timeout</KEYWORD3>
511                         <KEYWORD3>trigger</KEYWORD3>
512                         <KEYWORD3>use_24_hours</KEYWORD3>
513                         <KEYWORD3>value</KEYWORD3>
514                         <KEYWORD3>values</KEYWORD3>
515                         <KEYWORD3>var</KEYWORD3>
516                         <KEYWORD3>vauto</KEYWORD3>
517                         <KEYWORD3>width</KEYWORD3>
518                         <KEYWORD3>wrap</KEYWORD3>
519                         <KEYWORD3>wrap_char</KEYWORD3>
520                         <KEYWORD3>wrap_cut</KEYWORD3>
521                         <KEYWORD3>year_as_text</KEYWORD3>
522                         <KEYWORD3>year_extra</KEYWORD3>
523                         <KEYWORD3>year_size</KEYWORD3>
524                         
525                 </KEYWORDS>
526                 
527         </RULES>
528
529 </MODE>
530
531