<?xml version="1.0"?>
<!DOCTYPE MODE SYSTEM "xmode.dtd">
<!-- Version 0.4 !-->
<MODE>
	<PROPS>
	     <PROPERTY NAME="commentStart" VALUE="[!--" />
	    <PROPERTY NAME="commentEnd" VALUE="--]" />
	    <PROPERTY NAME="wordBreakChars" VALUE="|" />
	    <PROPERTY NAME="lineUpClosingBracket" VALUE="false" />
            <PROPERTY NAME="indentNextLine" VALUE="\[\[[^\]]*$" />
	</PROPS>
    <RULES NO_WORD_SEP="-_%" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="([0-9]*\.?[0-9]+(px|em|%|ex))?">
            <!-- [[module css]] uses css highlighting -->
	    <SPAN_REGEXP MATCH_TYPE="FUNCTION" DELEGATE="css::MAIN" HASH_CHAR="[[">
		<BEGIN>\[\[module\s+css\]\]</BEGIN>
		<END>[[/module]]</END>
	    </SPAN_REGEXP>
	    
            <!-- [[module blah x=y...]] -->
            <!-- [[button blah x=y...]] -->
	    <SPAN_REGEXP MATCH_TYPE="FUNCTION" DELEGATE="NAMED" AT_WHITESPACE_END="TRUE" HASH_CHAR="[[">
		<BEGIN>\[\[(module|button)</BEGIN>
		<END>]]</END>
	    </SPAN_REGEXP>
	    
	    <SPAN_REGEXP MATCH_TYPE="RULE" TYPE="INVALID" HASH_CHAR="[[">
		<BEGIN>\[\[(module|button)</BEGIN>
		<END>]]</END>
	    </SPAN_REGEXP>
	    
            <!-- [[/module]] -->
	    <SEQ TYPE="FUNCTION" AT_WHITESPACE_END="TRUE">[[/module]]</SEQ>
	    <SEQ TYPE="INVALID">[[/module]]</SEQ>
            <!-- [[/collapsible]] -->
	    <SEQ TYPE="FUNCTION" AT_WHITESPACE_END="TRUE">[[/collapsible]]</SEQ>
	    <SEQ TYPE="INVALID">[[/collapsible]]</SEQ>

	    <SPAN_REGEXP MATCH_TYPE="FUNCTION" DELEGATE="SOCIAL" HASH_CHAR="[[social">
		<BEGIN>\[\[social\s+</BEGIN>
		<END>]]</END>
	    </SPAN_REGEXP>
	    <SEQ TYPE="FUNCTION">[[social]]</SEQ>
	    
	    <SPAN_REGEXP MATCH_TYPE="FUNCTION" DELEGATE="NAMED" HASH_CHAR="[[">
		<BEGIN>\[\[f?[=&lt;&gt;]?image</BEGIN>
		<END>]]</END>
	    </SPAN_REGEXP>
	    
	    <SPAN_REGEXP MATCH_TYPE="FUNCTION" DELEGATE="NAMED" HASH_CHAR="[[date">
		<BEGIN>\[\[date</BEGIN>
		<END>]]</END>
	    </SPAN_REGEXP>
	    
	    <SPAN_REGEXP MATCH_TYPE="FUNCTION" DELEGATE="MODULE" AT_WHITESPACE_END="TRUE" HASH_CHAR="[[">
		<BEGIN>\[\[(div|span|cell|row|iframe|collapsible|gallery)</BEGIN>
		<END>]]</END>
	    </SPAN_REGEXP>
	    
	    <SPAN_REGEXP MATCH_TYPE="RULE" TYPE="INVALID" HASH_CHAR="[[">
		<BEGIN>\[\[(div|span|cell|row|iframe|collapsible|gallery)</BEGIN>
		<END>]]</END>
	    </SPAN_REGEXP>
	    
	    <SPAN_REGEXP MATCH_TYPE="FUNCTION" DELEGATE="html::MAIN" AT_WHITESPACE_END="TRUE" HASH_CHAR="[[">
		<BEGIN>\[\[(html|embed(|audio|video))\]\]\s*$</BEGIN>
		<END>[[/$1]]</END>
	    </SPAN_REGEXP>
	    
	    <SPAN_REGEXP MATCH_TYPE="RULE" TYPE="INVALID" HASH_CHAR="[[">
		<BEGIN>\[\[(html|embed(|audio|video))\]\]</BEGIN>
		<END>[[/$1]]</END>
	    </SPAN_REGEXP>
	    
	    <SEQ_REGEXP TYPE="FUNCTION" HASH_CHAR="[[tab">\[\[tab(\s[^\]]+)?\]\]</SEQ_REGEXP>
	    <SEQ TYPE="FUNCTION">[[/tab]]</SEQ>

	    <SPAN_REGEXP TYPE="LITERAL1" HASH_CHAR="[[iftags" MATCH_TYPE="FUNCTION"><BEGIN>\[\[iftags\s</BEGIN><END>]]</END></SPAN_REGEXP>
	    <SEQ TYPE="FUNCTION">[[/iftags]]</SEQ>

	    <SEQ_REGEXP TYPE="FUNCTION" HASH_CHAR="[[">\[\[\*?user\s[^\]]+\]\]</SEQ_REGEXP>

	    <SPAN TYPE="COMMENT1" MATCH_TYPE="RULE"> <BEGIN>[!--</BEGIN><END>--]</END></SPAN>
	    <SEQ_REGEXP TYPE="COMMENT2">@@.*@@</SEQ_REGEXP>
	    <SPAN TYPE="COMMENT2" MATCH_TYPE="RULE" DELEGATE="html::MAIN"> <BEGIN>@&lt;</BEGIN><END>&gt;@</END></SPAN>
	    <SPAN DELEGATE="MAIN" MATCH_TYPE="OPERATOR"> <BEGIN>^^</BEGIN><END>^^</END></SPAN>
	    <SPAN_REGEXP DELEGATE="MAIN" MATCH_TYPE="OPERATOR"> <BEGIN>[^:]//</BEGIN><END>//</END></SPAN_REGEXP>
	    <SPAN_REGEXP DELEGATE="MAIN" MATCH_TYPE="OPERATOR"> <BEGIN>^//</BEGIN><END>//</END></SPAN_REGEXP>
	    <SPAN MATCH_TYPE="OPERATOR"> <BEGIN>**</BEGIN><END>**</END></SPAN>
	    <SPAN DELEGATE="MAIN" MATCH_TYPE="OPERATOR"> <BEGIN>{{</BEGIN><END>}}</END></SPAN>
	    <SEQ_REGEXP TYPE="LITERAL2" AT_WHITESPACE_END="TRUE">: [^:]* : </SEQ_REGEXP>
	    <SPAN TYPE="LITERAL2" MATCH_TYPE="OPERATOR"> <BEGIN>__</BEGIN><END>__</END></SPAN>
	    <SEQ_REGEXP  TYPE="LITERAL1">\s--\s</SEQ_REGEXP>
	    <SEQ  TYPE="OPERATOR" AT_WHITESPACE_END="TRUE">*</SEQ>
	    <SEQ_REGEXP  TYPE="OPERATOR" AT_WHITESPACE_END="TRUE">\+{1,6}\*?\s</SEQ_REGEXP>
	    <SPAN MATCH_TYPE="FUNCTION" TYPE="LITERAL1"><BEGIN>[[#</BEGIN><END>]]</END></SPAN>
	    <SPAN TYPE="LITERAL2" MATCH_TYPE="OPERATOR"> <BEGIN>--</BEGIN><END>--</END></SPAN>
	    <SEQ_REGEXP HASH_CHAR="{$" TYPE="LITERAL3">\{\$[^\}]+\}</SEQ_REGEXP>
	    <SEQ_REGEXP HASH_CHAR="%%" TYPE="LITERAL3">%%[^%]+%%</SEQ_REGEXP>
	    <SPAN MATCH_TYPE="FUNCTION" DELEGATE="SIZES"><BEGIN>[[size</BEGIN><END>]]</END></SPAN>
 	    <SEQ TYPE="FUNCTION">[[/size]]</SEQ>
	    
	    <SPAN_REGEXP AT_WHITESPACE_END="TRUE" DELEGATE="tex::MAIN" HASH_CHAR="[[math" MATCH_TYPE="MARKUP">
	    	<BEGIN>\[\[math[^\]]*\]\]</BEGIN>
		<END>[[/math]]</END>
	    </SPAN_REGEXP>

	    <SPAN_REGEXP DELEGATE="INCLUDE" HASH_CHAR="[[include" MATCH_TYPE="FUNCTION" AT_LINE_START="TRUE">
	    	<BEGIN>\[\[include\s+[^\[\]\s|]+</BEGIN>
		<END>]]</END>
	    </SPAN_REGEXP>
	    <SEQ_REGEXP TYPE="INVALID" HASH_CHAR="[[include">\[\[include\s+[^\]]+\]\]</SEQ_REGEXP>

 	    <SPAN DELEGATE="tex::MAIN" MATCH_TYPE="MARKUP">
	    	<BEGIN>[[$</BEGIN>
		<END>$]]</END>
	    </SPAN>

 	    <SPAN TYPE="MARKUP" MATCH_TYPE="RULE" DELEGATE="css::MAIN"><BEGIN>[[code type="css"]]</BEGIN><END>[[/code]]</END></SPAN>
 	    <SPAN TYPE="MARKUP" MATCH_TYPE="RULE" DELEGATE="php::MAIN"><BEGIN>[[code type="php"]]</BEGIN><END>[[/code]]</END></SPAN>
 	    <SPAN TYPE="MARKUP" MATCH_TYPE="RULE" DELEGATE="html::MAIN"><BEGIN>[[code type="html"]]</BEGIN><END>[[/code]]</END></SPAN>
 	    <SPAN TYPE="MARKUP" MATCH_TYPE="RULE" DELEGATE="c++::MAIN"><BEGIN>[[code type="cpp"]]</BEGIN><END>[[/code]]</END></SPAN>
 	    <!--<SPAN TYPE="MARKUP" MATCH_TYPE="RULE" DELEGATE="diff::MAIN"><BEGIN>[[code type="diff"]]</BEGIN><END>[[/code]]</END></SPAN>!-->
 	    <SPAN TYPE="MARKUP" MATCH_TYPE="RULE" DELEGATE="xml::DTD-TAGS"><BEGIN>[[code type="dtd"]]</BEGIN><END>[[/code]]</END></SPAN>
	    <SPAN TYPE="MARKUP" MATCH_TYPE="RULE" DELEGATE="java::MAIN"><BEGIN>[[code type="java"]]</BEGIN><END>[[/code]]</END></SPAN>
	    <SPAN TYPE="MARKUP" MATCH_TYPE="RULE" DELEGATE="javascript::MAIN"><BEGIN>[[code type="javascript"]]</BEGIN><END>[[/code]]</END></SPAN>
	    <SPAN TYPE="MARKUP" MATCH_TYPE="RULE" DELEGATE="perl::MAIN"><BEGIN>[[code type="perl"]]</BEGIN><END>[[/code]]</END></SPAN>
	    <SPAN TYPE="MARKUP" MATCH_TYPE="RULE" DELEGATE="python::MAIN"><BEGIN>[[code type="python"]]</BEGIN><END>[[/code]]</END></SPAN>
	    <SPAN TYPE="MARKUP" MATCH_TYPE="RULE" DELEGATE="xml::MAIN"><BEGIN>[[code type="xml"]]</BEGIN><END>[[/code]]</END></SPAN>

 	    <SPAN TYPE="MARKUP" MATCH_TYPE="RULE" DELEGATE="CODES"><BEGIN>[[code type="</BEGIN><END>"]]</END></SPAN>

 	    <SEQ TYPE="KEYWORD1">||~</SEQ>
 	    <SEQ TYPE="KEYWORD1">||</SEQ>
 	    <SPAN_REGEXP MATCH_TYPE="KEYWORD3" TYPE="LITERAL3" HASH_CHAR="[[["><BEGIN>\[\[\[\s*[^|\]]+\|?</BEGIN><END>]]]</END></SPAN_REGEXP>
 	    <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="[[">\[\[/?[A-Za-z]+\]\]</SEQ_REGEXP>
 	    <SPAN_REGEXP MATCH_TYPE="KEYWORD4" TYPE="LITERAL4" HASH_CHAR="["><BEGIN>\[\s*[^\s\]\[]+</BEGIN><END>]</END></SPAN_REGEXP>
 	    <SEQ_REGEXP TYPE="LITERAL4" HASH_CHAR="[[">\[\[/?[^\[\]\s]*\]\]</SEQ_REGEXP>
 	    <SEQ_REGEXP TYPE="LITERAL4" HASH_CHAR="[">\[[^\[\]\s]*\]</SEQ_REGEXP>
    </RULES>
    <RULES SET="SIZES">
    		<SEQ TYPE="LITERAL1">xx-small</SEQ>
    		<SEQ TYPE="LITERAL1">x-small</SEQ>
    		<SEQ TYPE="LITERAL1">small</SEQ>
    		<SEQ TYPE="LITERAL1">large</SEQ>
    		<SEQ TYPE="LITERAL1">x-large</SEQ>
    		<SEQ TYPE="LITERAL1">xx-large</SEQ>
    		<SEQ TYPE="LITERAL1">large</SEQ>
		<SEQ_REGEXP TYPE="LITERAL1">^([0-9]*\.?[0-9]+(px|em|%|ex))</SEQ_REGEXP>
    </RULES>
    <RULES SET="CODES">
    		<SEQ TYPE="LITERAL1">php</SEQ>
   		<SEQ TYPE="LITERAL1">html</SEQ>
   		<SEQ TYPE="LITERAL1">cpp</SEQ>
   		<SEQ TYPE="LITERAL1">css</SEQ>
   		<SEQ TYPE="LITERAL1">diff</SEQ>
   		<SEQ TYPE="LITERAL1">dtd</SEQ>
   		<SEQ TYPE="LITERAL1">java</SEQ>
   		<SEQ TYPE="LITERAL1">javascript</SEQ>
   		<SEQ TYPE="LITERAL1">perl</SEQ>
   		<SEQ TYPE="LITERAL1">python</SEQ>
   		<SEQ TYPE="LITERAL1">ruby</SEQ>
  		<SEQ TYPE="LITERAL1">xml</SEQ>
   </RULES>  
    <RULES SET="NAMED">
        <SEQ_REGEXP TYPE="LITERAL1">\A[^\[\]\s]+</SEQ_REGEXP>
    	<IMPORT DELEGATE="MODULE"/>
    </RULES>
    <RULES SET="MODULE">
    		<SPAN_REGEXP DELEGATE="css::PROPERTIES" HASH_CHAR="style" MATCH_TYPE="KEYWORD1"><BEGIN>style\s*=\s*"</BEGIN><END>"</END></SPAN_REGEXP>
    		<SPAN_REGEXP TYPE="LITERAL1" HASH_CHARS="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzstyle" MATCH_TYPE="KEYWORD1"><BEGIN>[A-Za-z]*\s*=\s*"</BEGIN><END>"</END></SPAN_REGEXP>
    		<MARK_PREVIOUS TYPE="KEYWORD2" MATCH_TYPE="KEYWORD1">=</MARK_PREVIOUS>
    </RULES>
    <RULES SET="INCLUDE">
    		<SEQ TYPE="OPERATOR">|</SEQ>
    		<MARK_PREVIOUS TYPE="KEYWORD1" MATCH_TYPE="RULE">=</MARK_PREVIOUS>
		<IMPORT DELEGATE="MAIN"/>
    </RULES>
   <RULES SET="SOCIAL">
    		<SEQ TYPE="LITERAL1">blinklist</SEQ>
   		<SEQ TYPE="LITERAL1">blogmarks</SEQ>
   		<SEQ TYPE="LITERAL1">connotea</SEQ>
   		<SEQ TYPE="LITERAL1">del.icio.us</SEQ>
   		<SEQ TYPE="LITERAL1">digg</SEQ>
   		<SEQ TYPE="LITERAL1">fark</SEQ>
   		<SEQ TYPE="LITERAL1">feedmelinks</SEQ>
   		<SEQ TYPE="LITERAL1">furl</SEQ>
   		<SEQ TYPE="LITERAL1">linkagogo</SEQ>
   		<SEQ TYPE="LITERAL1">newsvine</SEQ>
   		<SEQ TYPE="LITERAL1">netvouz</SEQ>
   		<SEQ TYPE="LITERAL1">reddit</SEQ>
   		<SEQ TYPE="LITERAL1">simpy</SEQ>
   		<SEQ TYPE="LITERAL1">spurl</SEQ>
   		<SEQ TYPE="LITERAL1">wists</SEQ>
  		<SEQ TYPE="LITERAL1">yahoomyweb</SEQ>
  		<SEQ TYPE="LITERAL1">facebook</SEQ>
  		<SEQ TYPE="OPERATOR">,</SEQ>
    </RULES>
</MODE>


