]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/xmode/modes/inform.xml
xmode.modes: updating with recent xmode files
[factor.git] / basis / xmode / modes / inform.xml
index fdd7153f6b2ec1b24d28af0d6fdfb999df660c6f..6ad35d388c8c0887a19a33f5c28a01629c6e6931 100644 (file)
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-      <!-- Syntax highlighting mode for the Inform language. You can find out more about inform at\r
-           http://www.gnelson.demon.co.uk/inform.html\r
-           And an inform language guide at\r
-           http://www.gnelson.demon.co.uk/dman/index.html\r
-        -->\r
-    <PROPS>\r
-        <!--\r
-        <PROPERTY NAME="commentStart" VALUE="/*" />\r
-        <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-        -->\r
-        <PROPERTY NAME="lineComment" VALUE="!" />\r
-        <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-\r
-        <!-- Auto indent -->\r
-        <PROPERTY NAME="indentOpenBrackets" VALUE="{[" />\r
-        <PROPERTY NAME="indentCloseBrackets" VALUE="}]" />\r
-        <PROPERTY NAME="indentNextLine"\r
-            VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
-        <!-- set this to 'true' if you want to use GNU coding style -->\r
-        <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
-\r
-        <PROPERTY NAME="filenameGlob" VALUE="*.(inf|h)" />\r
-    </PROPS>\r
-\r
-    <RULES\r
-            IGNORE_CASE="FALSE"\r
-            HIGHLIGHT_DIGITS="TRUE"\r
-            DIGIT_RE="(\$[\p{XDigit}]|[\p{Digit}])">\r
-        <EOL_SPAN TYPE="COMMENT1">!</EOL_SPAN>\r
-\r
-        <!-- strings can span lines -->\r
-        <SPAN TYPE="LITERAL1" DELEGATE="InformInnerText">\r
-            <BEGIN>"</BEGIN>\r
-            <END>"</END>\r
-        </SPAN>\r
-        <SPAN TYPE="LITERAL2">\r
-            <BEGIN>'</BEGIN>\r
-            <END>'</END>\r
-        </SPAN>\r
-\r
-        <!-- preprocessor statements -->\r
-        <EOL_SPAN TYPE="KEYWORD2">#</EOL_SPAN>\r
-        <EOL_SPAN TYPE="COMMENT1">!</EOL_SPAN>\r
-\r
-        <!-- special sequences that require special highlighting -->\r
-        <SEQ TYPE="OPERATOR">=</SEQ>\r
-        <SEQ TYPE="OPERATOR">==</SEQ>\r
-        <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-        <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-        <SEQ TYPE="OPERATOR">~=</SEQ>\r
-        <SEQ TYPE="OPERATOR">+</SEQ>\r
-        <SEQ TYPE="OPERATOR">-</SEQ>\r
-        <SEQ TYPE="OPERATOR">$</SEQ>\r
-        <SEQ TYPE="OPERATOR">/</SEQ>\r
-        <SEQ TYPE="OPERATOR">*</SEQ>\r
-        <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">%</SEQ>\r
-        <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-        <SEQ TYPE="OPERATOR">|</SEQ>\r
-        <SEQ TYPE="OPERATOR">^</SEQ>\r
-        <SEQ TYPE="OPERATOR">~</SEQ>\r
-        <SEQ TYPE="OPERATOR">}</SEQ>\r
-        <SEQ TYPE="OPERATOR">{</SEQ>\r
-        <SEQ TYPE="OPERATOR">]</SEQ>\r
-        <SEQ TYPE="OPERATOR">[</SEQ>\r
-\r
-        <SEQ TYPE="OPERATOR">.&amp;</SEQ>\r
-        <SEQ TYPE="OPERATOR">.#</SEQ>\r
-        <SEQ TYPE="OPERATOR">--></SEQ>\r
-\r
-        <!-- Function calls -->\r
-        <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-        <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">::</MARK_PREVIOUS>\r
-\r
-        <MARK_PREVIOUS AT_WHITESPACE_END="FALSE"\r
-            MATCH_TYPE="OPERATOR"\r
-            TYPE="LABEL">:</MARK_PREVIOUS>\r
-\r
-        <KEYWORDS>\r
-            <!-- operators -->\r
-            <KEYWORD1>has</KEYWORD1>\r
-            <KEYWORD1>hasnt</KEYWORD1>\r
-            <KEYWORD1>in</KEYWORD1>\r
-            <KEYWORD1>notin</KEYWORD1>\r
-            <KEYWORD1>ofclass</KEYWORD1>\r
-            <KEYWORD1>provides</KEYWORD1>\r
-            <KEYWORD1>or</KEYWORD1>\r
-\r
-            <!-- text-base conversion functions -->\r
-            <LITERAL2>char</LITERAL2>\r
-            <LITERAL2>string</LITERAL2>\r
-            <LITERAL2>address</LITERAL2>\r
-            <LITERAL2>name</LITERAL2>\r
-            <LITERAL2>a</LITERAL2>\r
-            <LITERAL2>an</LITERAL2>\r
-            <LITERAL2>the</LITERAL2>\r
-            <LITERAL2>The</LITERAL2>\r
-            <LITERAL2>property</LITERAL2>\r
-            <LITERAL2>object</LITERAL2>\r
-\r
-            <!-- language semantics -->\r
-            <KEYWORD1>break</KEYWORD1>\r
-            <KEYWORD1>continue</KEYWORD1>\r
-            <KEYWORD1>do</KEYWORD1>\r
-                <KEYWORD1>until</KEYWORD1>\r
-            <KEYWORD1>for</KEYWORD1>\r
-            <KEYWORD1>give</KEYWORD1>\r
-            <KEYWORD1>if</KEYWORD1>\r
-                <KEYWORD1>else</KEYWORD1>\r
-            <KEYWORD1>inversion</KEYWORD1>\r
-            <KEYWORD1>jump</KEYWORD1>\r
-            <KEYWORD1>move</KEYWORD1>\r
-                <KEYWORD2>to</KEYWORD2>\r
-            <KEYWORD1>objectloop</KEYWORD1>\r
-            <KEYWORD1>remove</KEYWORD1>\r
-            <KEYWORD1>return</KEYWORD1>\r
-            <KEYWORD1>rfalse</KEYWORD1>\r
-            <KEYWORD1>rtrue</KEYWORD1>\r
-            <KEYWORD1>string</KEYWORD1>\r
-            <KEYWORD1>switch</KEYWORD1>\r
-            <KEYWORD1>while</KEYWORD1>\r
-\r
-            <!-- class keyworks -->\r
-            <KEYWORD1>with</KEYWORD1>\r
-<!--                   <KEYWORD1>has</KEYWORD1> -->\r
-\r
-            <!-- built-in functions -->\r
-            <FUNCTION>new_line</FUNCTION>\r
-            <FUNCTION>print</FUNCTION>\r
-            <FUNCTION>print_ret</FUNCTION>\r
-            <FUNCTION>box</FUNCTION>\r
-            <FUNCTION>font</FUNCTION>\r
-                <KEYWORD2>on</KEYWORD2>\r
-                <KEYWORD2>off</KEYWORD2>\r
-            <FUNCTION>quit</FUNCTION>\r
-            <FUNCTION>read</FUNCTION>\r
-            <FUNCTION>restore</FUNCTION>\r
-            <FUNCTION>save</FUNCTION>\r
-            <FUNCTION>spaces</FUNCTION>\r
-            <FUNCTION>style</FUNCTION>\r
-                <KEYWORD2>roman</KEYWORD2>\r
-                <KEYWORD2>bold</KEYWORD2>\r
-                <KEYWORD2>underline</KEYWORD2>\r
-                <KEYWORD2>reverse</KEYWORD2>\r
-                <KEYWORD2>fixed</KEYWORD2>\r
-            <FUNCTION>score</FUNCTION>\r
-            <FUNCTION>time</FUNCTION>\r
-\r
-            <!-- Top-level keyworks -->\r
-            <KEYWORD3>Abbreviate</KEYWORD3>\r
-            <KEYWORD3>Array</KEYWORD3>\r
-            <KEYWORD3>Attribute</KEYWORD3>\r
-            <KEYWORD3>Class</KEYWORD3>\r
-            <KEYWORD3>Constant</KEYWORD3>\r
-            <KEYWORD3>Default</KEYWORD3>\r
-            <KEYWORD3>End</KEYWORD3>\r
-            <KEYWORD3>Endif</KEYWORD3>\r
-            <KEYWORD3>Extend</KEYWORD3>\r
-            <KEYWORD3>Global</KEYWORD3>\r
-            <KEYWORD3>Ifdef</KEYWORD3>\r
-            <KEYWORD3>Ifndef</KEYWORD3>\r
-            <KEYWORD3>Ifnot</KEYWORD3>\r
-            <KEYWORD3>Iftrue</KEYWORD3>\r
-            <KEYWORD3>Iffalse</KEYWORD3>\r
-            <KEYWORD3>Import</KEYWORD3>\r
-            <KEYWORD3>Include</KEYWORD3>\r
-            <KEYWORD3>Link</KEYWORD3>\r
-            <KEYWORD3>Lowstring</KEYWORD3>\r
-            <KEYWORD3>Message</KEYWORD3>\r
-            <KEYWORD3>Object</KEYWORD3>\r
-            <KEYWORD3>Property</KEYWORD3>\r
-            <KEYWORD3>Replace</KEYWORD3>\r
-            <KEYWORD3>Serial</KEYWORD3>\r
-            <KEYWORD3>Switches</KEYWORD3>\r
-            <KEYWORD3>Statusline</KEYWORD3>\r
-            <KEYWORD3>System_file</KEYWORD3>\r
-            <KEYWORD3>Verb</KEYWORD3>\r
-            <KEYWORD3>private</KEYWORD3>\r
-\r
-            <LITERAL2>false</LITERAL2>\r
-            <LITERAL2>true</LITERAL2>\r
-            <LITERAL2>null</LITERAL2>\r
-            <LITERAL2>super</LITERAL2>\r
-            <LITERAL2>self</LITERAL2>\r
-\r
-            <INVALID>this</INVALID>\r
-        </KEYWORDS>\r
-    </RULES>\r
-    <RULES SET="InformInnerText" IGNORE_CASE="FALSE" DEFAULT="LITERAL1">\r
-        <SEQ TYPE="OPERATOR">^</SEQ>\r
-        <SEQ TYPE="OPERATOR">~</SEQ>\r
-        <SEQ TYPE="OPERATOR">@</SEQ>\r
-        <SEQ TYPE="OPERATOR">\</SEQ>\r
-\r
-        <!-- escaping the @ symbol -->\r
-        <SEQ TYPE="LITERAL2">@@</SEQ>\r
-    </RULES>\r
-</MODE>\r
+<?xml version="1.0"?>
+
+<!DOCTYPE MODE SYSTEM "xmode.dtd">
+
+<MODE>
+      <!-- Syntax highlighting mode for the Inform language. You can find out more about inform at
+           http://www.gnelson.demon.co.uk/inform.html
+           And an inform language guide at
+           http://www.gnelson.demon.co.uk/dman/index.html
+        -->
+    <PROPS>
+        <!--
+        <PROPERTY NAME="commentStart" VALUE="/*" />
+        <PROPERTY NAME="commentEnd" VALUE="*/" />
+        -->
+        <PROPERTY NAME="lineComment" VALUE="!" />
+        <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />
+
+        <!-- Auto indent -->
+        <PROPERTY NAME="indentOpenBrackets" VALUE="{[" />
+        <PROPERTY NAME="indentCloseBrackets" VALUE="}]" />
+        <PROPERTY NAME="indentNextLine"
+            VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />
+        <!-- set this to 'true' if you want to use GNU coding style -->
+        <PROPERTY NAME="doubleBracketIndent" VALUE="false" />
+    </PROPS>
+
+    <RULES
+            IGNORE_CASE="FALSE"
+            HIGHLIGHT_DIGITS="TRUE"
+            DIGIT_RE="(\$[\p{XDigit}]|[\p{Digit}])">
+        <EOL_SPAN TYPE="COMMENT1">!</EOL_SPAN>
+
+        <!-- strings can span lines -->
+        <SPAN TYPE="LITERAL1" DELEGATE="InformInnerText">
+            <BEGIN>"</BEGIN>
+            <END>"</END>
+        </SPAN>
+        <SPAN TYPE="LITERAL2">
+            <BEGIN>'</BEGIN>
+            <END>'</END>
+        </SPAN>
+
+        <!-- preprocessor statements -->
+        <EOL_SPAN TYPE="KEYWORD2">#</EOL_SPAN>
+        <EOL_SPAN TYPE="COMMENT1">!</EOL_SPAN>
+
+        <!-- special sequences that require special highlighting -->
+        <SEQ TYPE="OPERATOR">=</SEQ>
+        <SEQ TYPE="OPERATOR">==</SEQ>
+        <SEQ TYPE="OPERATOR">&gt;=</SEQ>
+        <SEQ TYPE="OPERATOR">&lt;=</SEQ>
+        <SEQ TYPE="OPERATOR">~=</SEQ>
+        <SEQ TYPE="OPERATOR">+</SEQ>
+        <SEQ TYPE="OPERATOR">-</SEQ>
+        <SEQ TYPE="OPERATOR">$</SEQ>
+        <SEQ TYPE="OPERATOR">/</SEQ>
+        <SEQ TYPE="OPERATOR">*</SEQ>
+        <SEQ TYPE="OPERATOR">&gt;</SEQ>
+        <SEQ TYPE="OPERATOR">&lt;</SEQ>
+        <SEQ TYPE="OPERATOR">%</SEQ>
+        <SEQ TYPE="OPERATOR">&amp;</SEQ>
+        <SEQ TYPE="OPERATOR">|</SEQ>
+        <SEQ TYPE="OPERATOR">^</SEQ>
+        <SEQ TYPE="OPERATOR">~</SEQ>
+        <SEQ TYPE="OPERATOR">}</SEQ>
+        <SEQ TYPE="OPERATOR">{</SEQ>
+        <SEQ TYPE="OPERATOR">]</SEQ>
+        <SEQ TYPE="OPERATOR">[</SEQ>
+
+        <SEQ TYPE="OPERATOR">.&amp;</SEQ>
+        <SEQ TYPE="OPERATOR">.#</SEQ>
+        <SEQ TYPE="OPERATOR">--></SEQ>
+
+        <!-- Function calls -->
+        <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>
+               <SEQ TYPE="OPERATOR">)</SEQ>
+        <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">::</MARK_PREVIOUS>
+
+        <MARK_PREVIOUS AT_WHITESPACE_END="FALSE"
+            MATCH_TYPE="OPERATOR"
+            TYPE="LABEL">:</MARK_PREVIOUS>
+
+        <KEYWORDS>
+            <!-- operators -->
+            <KEYWORD1>has</KEYWORD1>
+            <KEYWORD1>hasnt</KEYWORD1>
+            <KEYWORD1>in</KEYWORD1>
+            <KEYWORD1>notin</KEYWORD1>
+            <KEYWORD1>ofclass</KEYWORD1>
+            <KEYWORD1>provides</KEYWORD1>
+            <KEYWORD1>or</KEYWORD1>
+
+            <!-- text-base conversion functions -->
+            <LITERAL2>char</LITERAL2>
+            <LITERAL2>string</LITERAL2>
+            <LITERAL2>address</LITERAL2>
+            <LITERAL2>name</LITERAL2>
+            <LITERAL2>a</LITERAL2>
+            <LITERAL2>an</LITERAL2>
+            <LITERAL2>the</LITERAL2>
+            <LITERAL2>The</LITERAL2>
+            <LITERAL2>property</LITERAL2>
+            <LITERAL2>object</LITERAL2>
+
+            <!-- language semantics -->
+            <KEYWORD1>break</KEYWORD1>
+            <KEYWORD1>continue</KEYWORD1>
+            <KEYWORD1>do</KEYWORD1>
+                <KEYWORD1>until</KEYWORD1>
+            <KEYWORD1>for</KEYWORD1>
+            <KEYWORD1>give</KEYWORD1>
+            <KEYWORD1>if</KEYWORD1>
+                <KEYWORD1>else</KEYWORD1>
+            <KEYWORD1>inversion</KEYWORD1>
+            <KEYWORD1>jump</KEYWORD1>
+            <KEYWORD1>move</KEYWORD1>
+                <KEYWORD2>to</KEYWORD2>
+            <KEYWORD1>objectloop</KEYWORD1>
+            <KEYWORD1>remove</KEYWORD1>
+            <KEYWORD1>return</KEYWORD1>
+            <KEYWORD1>rfalse</KEYWORD1>
+            <KEYWORD1>rtrue</KEYWORD1>
+            <KEYWORD1>string</KEYWORD1>
+            <KEYWORD1>switch</KEYWORD1>
+            <KEYWORD1>while</KEYWORD1>
+
+            <!-- class keyworks -->
+            <KEYWORD1>with</KEYWORD1>
+<!--                   <KEYWORD1>has</KEYWORD1> -->
+
+            <!-- built-in functions -->
+            <FUNCTION>new_line</FUNCTION>
+            <FUNCTION>print</FUNCTION>
+            <FUNCTION>print_ret</FUNCTION>
+            <FUNCTION>box</FUNCTION>
+            <FUNCTION>font</FUNCTION>
+                <KEYWORD2>on</KEYWORD2>
+                <KEYWORD2>off</KEYWORD2>
+            <FUNCTION>quit</FUNCTION>
+            <FUNCTION>read</FUNCTION>
+            <FUNCTION>restore</FUNCTION>
+            <FUNCTION>save</FUNCTION>
+            <FUNCTION>spaces</FUNCTION>
+            <FUNCTION>style</FUNCTION>
+                <KEYWORD2>roman</KEYWORD2>
+                <KEYWORD2>bold</KEYWORD2>
+                <KEYWORD2>underline</KEYWORD2>
+                <KEYWORD2>reverse</KEYWORD2>
+                <KEYWORD2>fixed</KEYWORD2>
+            <FUNCTION>score</FUNCTION>
+            <FUNCTION>time</FUNCTION>
+
+            <!-- Top-level keyworks -->
+            <KEYWORD3>Abbreviate</KEYWORD3>
+            <KEYWORD3>Array</KEYWORD3>
+            <KEYWORD3>Attribute</KEYWORD3>
+            <KEYWORD3>Class</KEYWORD3>
+            <KEYWORD3>Constant</KEYWORD3>
+            <KEYWORD3>Default</KEYWORD3>
+            <KEYWORD3>End</KEYWORD3>
+            <KEYWORD3>Endif</KEYWORD3>
+            <KEYWORD3>Extend</KEYWORD3>
+            <KEYWORD3>Global</KEYWORD3>
+            <KEYWORD3>Ifdef</KEYWORD3>
+            <KEYWORD3>Ifndef</KEYWORD3>
+            <KEYWORD3>Ifnot</KEYWORD3>
+            <KEYWORD3>Iftrue</KEYWORD3>
+            <KEYWORD3>Iffalse</KEYWORD3>
+            <KEYWORD3>Import</KEYWORD3>
+            <KEYWORD3>Include</KEYWORD3>
+            <KEYWORD3>Link</KEYWORD3>
+            <KEYWORD3>Lowstring</KEYWORD3>
+            <KEYWORD3>Message</KEYWORD3>
+            <KEYWORD3>Object</KEYWORD3>
+            <KEYWORD3>Property</KEYWORD3>
+            <KEYWORD3>Replace</KEYWORD3>
+            <KEYWORD3>Serial</KEYWORD3>
+            <KEYWORD3>Switches</KEYWORD3>
+            <KEYWORD3>Statusline</KEYWORD3>
+            <KEYWORD3>System_file</KEYWORD3>
+            <KEYWORD3>Verb</KEYWORD3>
+            <KEYWORD3>private</KEYWORD3>
+
+            <LITERAL2>false</LITERAL2>
+            <LITERAL2>true</LITERAL2>
+            <LITERAL2>null</LITERAL2>
+            <LITERAL2>super</LITERAL2>
+            <LITERAL2>self</LITERAL2>
+
+            <INVALID>this</INVALID>
+        </KEYWORDS>
+    </RULES>
+    <RULES SET="InformInnerText" IGNORE_CASE="FALSE" DEFAULT="LITERAL1">
+        <SEQ TYPE="OPERATOR">^</SEQ>
+        <SEQ TYPE="OPERATOR">~</SEQ>
+        <SEQ TYPE="OPERATOR">@</SEQ>
+        <SEQ TYPE="OPERATOR">\</SEQ>
+
+        <!-- escaping the @ symbol -->
+        <SEQ TYPE="LITERAL2">@@</SEQ>
+    </RULES>
+</MODE>