131 lines
3.3 KiB
XML
131 lines
3.3 KiB
XML
<?xml version="1.0"?>
|
|
|
|
<!DOCTYPE MODE SYSTEM "xmode.dtd">
|
|
|
|
<!--
|
|
<MODE NAME="myghty" FILE="myghty.xml"
|
|
FILE_NAME_GLOB="*.myt"/>
|
|
-->
|
|
|
|
<MODE>
|
|
<PROPS>
|
|
<PROPERTY NAME="commentStart" VALUE="<!--" />
|
|
<PROPERTY NAME="commentEnd" VALUE="-->" />
|
|
</PROPS>
|
|
<RULES IGNORE_CASE="TRUE">
|
|
|
|
<EOL_SPAN TYPE="COMMENT2" AT_LINE_START="TRUE">#</EOL_SPAN>
|
|
<!-- <SEQ TYPE="LITERAL4" AT_LINE_END="TRUE">\</SEQ> -->
|
|
|
|
<!-- attr block (python) -->
|
|
<SPAN DELEGATE="MYGHTY" TYPE="LITERAL4">
|
|
<BEGIN><%attr></BEGIN>
|
|
<END></%attr></END>
|
|
</SPAN>
|
|
|
|
<!-- def, closure, method -->
|
|
<SPAN_REGEXP HASH_CHAR="<%" TYPE="LITERAL4" DELEGATE="DEF">
|
|
<BEGIN><%(def|closure|method)</BEGIN>
|
|
<END>></END>
|
|
</SPAN_REGEXP>
|
|
<SEQ_REGEXP HASH_CHAR="</%" TYPE="LITERAL4"></%(def|closure|method)></SEQ_REGEXP>
|
|
|
|
<!-- doc block -->
|
|
<SPAN TYPE="COMMENT4">
|
|
<BEGIN><%doc></BEGIN>
|
|
<END></%doc></END>
|
|
</SPAN>
|
|
|
|
<!-- flags block (python) -->
|
|
<SPAN DELEGATE="MYGHTY" TYPE="LITERAL4">
|
|
<BEGIN><%flags></BEGIN>
|
|
<END></%flags></END>
|
|
</SPAN>
|
|
|
|
<!-- python block -->
|
|
<SPAN_REGEXP HASH_CHAR="<%python" DELEGATE="MYGHTY" TYPE="LITERAL4">
|
|
<BEGIN><%python[^>]*></BEGIN>
|
|
<END></%python></END>
|
|
</SPAN_REGEXP>
|
|
|
|
<!-- python block aliases - don't take args -->
|
|
<SPAN_REGEXP HASH_CHAR="<%" DELEGATE="MYGHTY" TYPE="LITERAL4">
|
|
<BEGIN><%(args|cleanup|filter|global|init|once|requestlocal|requestonce|shared|threadlocal|threadonce)></BEGIN>
|
|
<END></%$1></END>
|
|
</SPAN_REGEXP>
|
|
|
|
<!-- text block -->
|
|
<SPAN TYPE="LITERAL3">
|
|
<BEGIN><%text></BEGIN>
|
|
<END></%text></END>
|
|
</SPAN>
|
|
|
|
<!-- calling component -->
|
|
<SEQ TYPE="LITERAL4"></&></SEQ>
|
|
<SPAN_REGEXP HASH_CHAR="<&" TYPE="LITERAL4" DELEGATE="MYGHTY">
|
|
<BEGIN><&[|]?</BEGIN>
|
|
<END>&></END>
|
|
</SPAN_REGEXP>
|
|
|
|
<!-- substitutions -->
|
|
<SPAN TYPE="LITERAL3" DELEGATE="MYGHTY">
|
|
<BEGIN><%</BEGIN>
|
|
<END>%></END>
|
|
</SPAN>
|
|
|
|
<EOL_SPAN
|
|
AT_LINE_START="TRUE"
|
|
DELEGATE="MYGHTY"
|
|
TYPE="LITERAL4">%</EOL_SPAN>
|
|
|
|
<IMPORT DELEGATE="html::MAIN"/>
|
|
|
|
<KEYWORDS>
|
|
<!-- only here for complete-word -->
|
|
<NULL>args</NULL>
|
|
<NULL>attr</NULL>
|
|
<NULL>cleanup</NULL>
|
|
<NULL>closure</NULL>
|
|
<NULL>def</NULL>
|
|
<NULL>doc</NULL>
|
|
<NULL>filter</NULL>
|
|
<NULL>flags</NULL>
|
|
<NULL>global</NULL>
|
|
<NULL>init</NULL>
|
|
<NULL>method</NULL>
|
|
<NULL>once</NULL>
|
|
<NULL>python</NULL>
|
|
<NULL>requestlocal</NULL>
|
|
<NULL>requestonce</NULL>
|
|
<NULL>shared</NULL>
|
|
<NULL>threadlocal</NULL>
|
|
<NULL>threadonce</NULL>
|
|
</KEYWORDS>
|
|
|
|
</RULES>
|
|
|
|
<RULES IGNORE_CASE="FALSE" SET="MYGHTY">
|
|
<!-- alias for MODULE -->
|
|
<SEQ TYPE="KEYWORD4">@</SEQ>
|
|
<IMPORT DELEGATE="python::MAIN"/>
|
|
<KEYWORDS>
|
|
<KEYWORD4>ARGS</KEYWORD4>
|
|
<KEYWORD4>MODULE</KEYWORD4>
|
|
<KEYWORD4>SELF</KEYWORD4>
|
|
<KEYWORD4>m</KEYWORD4>
|
|
<!-- request -->
|
|
<KEYWORD4>r</KEYWORD4>
|
|
<!-- session -->
|
|
<KEYWORD4>s</KEYWORD4>
|
|
<!-- URL encode -->
|
|
<KEYWORD4>u</KEYWORD4>
|
|
<!-- HTML encode -->
|
|
<KEYWORD4>h</KEYWORD4>
|
|
</KEYWORDS>
|
|
</RULES>
|
|
|
|
<!-- only exists to color component name like a function -->
|
|
<RULES IGNORE_CASE="TRUE" SET="DEF" DEFAULT="FUNCTION">
|
|
</RULES>
|
|
</MODE>
|