PageRenderTime 42ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/jEdit/tags/jedit-4-3-pre5/modes/inform.xml

#
XML | 204 lines | 161 code | 20 blank | 23 comment | 0 complexity | f8b234ab851e7c37ae1de2b36b288ff8 MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
  1. <?xml version="1.0"?>
  2. <!DOCTYPE MODE SYSTEM "xmode.dtd">
  3. <MODE>
  4. <!-- Syntax highlighting mode for the Inform language. You can find out more about inform at
  5. http://www.gnelson.demon.co.uk/inform.html
  6. And an inform language guide at
  7. http://www.gnelson.demon.co.uk/dman/index.html
  8. -->
  9. <PROPS>
  10. <!--
  11. <PROPERTY NAME="commentStart" VALUE="/*" />
  12. <PROPERTY NAME="commentEnd" VALUE="*/" />
  13. -->
  14. <PROPERTY NAME="lineComment" VALUE="!" />
  15. <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />
  16. <!-- Auto indent -->
  17. <PROPERTY NAME="indentOpenBrackets" VALUE="{[" />
  18. <PROPERTY NAME="indentCloseBrackets" VALUE="}]" />
  19. <PROPERTY NAME="indentNextLine"
  20. VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />
  21. <!-- set this to 'true' if you want to use GNU coding style -->
  22. <PROPERTY NAME="doubleBracketIndent" VALUE="false" />
  23. <PROPERTY NAME="filenameGlob" VALUE="*.(inf|h)" />
  24. </PROPS>
  25. <RULES
  26. IGNORE_CASE="FALSE"
  27. HIGHLIGHT_DIGITS="TRUE"
  28. DIGIT_RE="(\$[\p{XDigit}]|[\p{Digit}])">
  29. <EOL_SPAN TYPE="COMMENT1">!</EOL_SPAN>
  30. <!-- strings can span lines -->
  31. <SPAN TYPE="LITERAL1" DELEGATE="InformInnerText">
  32. <BEGIN>"</BEGIN>
  33. <END>"</END>
  34. </SPAN>
  35. <SPAN TYPE="LITERAL2">
  36. <BEGIN>'</BEGIN>
  37. <END>'</END>
  38. </SPAN>
  39. <!-- preprocessor statements -->
  40. <EOL_SPAN TYPE="KEYWORD2">#</EOL_SPAN>
  41. <EOL_SPAN TYPE="COMMENT1">!</EOL_SPAN>
  42. <!-- special sequences that require special highlighting -->
  43. <SEQ TYPE="OPERATOR">=</SEQ>
  44. <SEQ TYPE="OPERATOR">==</SEQ>
  45. <SEQ TYPE="OPERATOR">&gt;=</SEQ>
  46. <SEQ TYPE="OPERATOR">&lt;=</SEQ>
  47. <SEQ TYPE="OPERATOR">~=</SEQ>
  48. <SEQ TYPE="OPERATOR">+</SEQ>
  49. <SEQ TYPE="OPERATOR">-</SEQ>
  50. <SEQ TYPE="OPERATOR">$</SEQ>
  51. <SEQ TYPE="OPERATOR">/</SEQ>
  52. <SEQ TYPE="OPERATOR">*</SEQ>
  53. <SEQ TYPE="OPERATOR">&gt;</SEQ>
  54. <SEQ TYPE="OPERATOR">&lt;</SEQ>
  55. <SEQ TYPE="OPERATOR">%</SEQ>
  56. <SEQ TYPE="OPERATOR">&amp;</SEQ>
  57. <SEQ TYPE="OPERATOR">|</SEQ>
  58. <SEQ TYPE="OPERATOR">^</SEQ>
  59. <SEQ TYPE="OPERATOR">~</SEQ>
  60. <SEQ TYPE="OPERATOR">}</SEQ>
  61. <SEQ TYPE="OPERATOR">{</SEQ>
  62. <SEQ TYPE="OPERATOR">]</SEQ>
  63. <SEQ TYPE="OPERATOR">[</SEQ>
  64. <SEQ TYPE="OPERATOR">.&amp;</SEQ>
  65. <SEQ TYPE="OPERATOR">.#</SEQ>
  66. <SEQ TYPE="OPERATOR">--></SEQ>
  67. <!-- Function calls -->
  68. <MARK_PREVIOUS TYPE="FUNCTION" EXCLUDE_MATCH="TRUE">(</MARK_PREVIOUS>
  69. <MARK_PREVIOUS TYPE="FUNCTION" EXCLUDE_MATCH="TRUE">::</MARK_PREVIOUS>
  70. <MARK_PREVIOUS AT_WHITESPACE_END="FALSE"
  71. EXCLUDE_MATCH="TRUE"
  72. TYPE="LABEL">:</MARK_PREVIOUS>
  73. <KEYWORDS>
  74. <!-- operators -->
  75. <KEYWORD1>has</KEYWORD1>
  76. <KEYWORD1>hasnt</KEYWORD1>
  77. <KEYWORD1>in</KEYWORD1>
  78. <KEYWORD1>notin</KEYWORD1>
  79. <KEYWORD1>ofclass</KEYWORD1>
  80. <KEYWORD1>provides</KEYWORD1>
  81. <KEYWORD1>or</KEYWORD1>
  82. <!-- text-base conversion functions -->
  83. <LITERAL2>char</LITERAL2>
  84. <LITERAL2>string</LITERAL2>
  85. <LITERAL2>address</LITERAL2>
  86. <LITERAL2>name</LITERAL2>
  87. <LITERAL2>a</LITERAL2>
  88. <LITERAL2>an</LITERAL2>
  89. <LITERAL2>the</LITERAL2>
  90. <LITERAL2>The</LITERAL2>
  91. <LITERAL2>property</LITERAL2>
  92. <LITERAL2>object</LITERAL2>
  93. <!-- language semantics -->
  94. <KEYWORD1>break</KEYWORD1>
  95. <KEYWORD1>continue</KEYWORD1>
  96. <KEYWORD1>do</KEYWORD1>
  97. <KEYWORD1>until</KEYWORD1>
  98. <KEYWORD1>for</KEYWORD1>
  99. <KEYWORD1>give</KEYWORD1>
  100. <KEYWORD1>if</KEYWORD1>
  101. <KEYWORD1>else</KEYWORD1>
  102. <KEYWORD1>inversion</KEYWORD1>
  103. <KEYWORD1>jump</KEYWORD1>
  104. <KEYWORD1>move</KEYWORD1>
  105. <KEYWORD2>to</KEYWORD2>
  106. <KEYWORD1>objectloop</KEYWORD1>
  107. <KEYWORD1>remove</KEYWORD1>
  108. <KEYWORD1>return</KEYWORD1>
  109. <KEYWORD1>rfalse</KEYWORD1>
  110. <KEYWORD1>rtrue</KEYWORD1>
  111. <KEYWORD1>string</KEYWORD1>
  112. <KEYWORD1>switch</KEYWORD1>
  113. <KEYWORD1>while</KEYWORD1>
  114. <!-- class keyworks -->
  115. <KEYWORD1>with</KEYWORD1>
  116. <!-- <KEYWORD1>has</KEYWORD1> -->
  117. <!-- built-in functions -->
  118. <FUNCTION>new_line</FUNCTION>
  119. <FUNCTION>print</FUNCTION>
  120. <FUNCTION>print_ret</FUNCTION>
  121. <FUNCTION>box</FUNCTION>
  122. <FUNCTION>font</FUNCTION>
  123. <KEYWORD2>on</KEYWORD2>
  124. <KEYWORD2>off</KEYWORD2>
  125. <FUNCTION>quit</FUNCTION>
  126. <FUNCTION>read</FUNCTION>
  127. <FUNCTION>restore</FUNCTION>
  128. <FUNCTION>save</FUNCTION>
  129. <FUNCTION>spaces</FUNCTION>
  130. <FUNCTION>style</FUNCTION>
  131. <KEYWORD2>roman</KEYWORD2>
  132. <KEYWORD2>bold</KEYWORD2>
  133. <KEYWORD2>underline</KEYWORD2>
  134. <KEYWORD2>reverse</KEYWORD2>
  135. <KEYWORD2>fixed</KEYWORD2>
  136. <FUNCTION>score</FUNCTION>
  137. <FUNCTION>time</FUNCTION>
  138. <!-- Top-level keyworks -->
  139. <KEYWORD3>Abbreviate</KEYWORD3>
  140. <KEYWORD3>Array</KEYWORD3>
  141. <KEYWORD3>Attribute</KEYWORD3>
  142. <KEYWORD3>Class</KEYWORD3>
  143. <KEYWORD3>Constant</KEYWORD3>
  144. <KEYWORD3>Default</KEYWORD3>
  145. <KEYWORD3>End</KEYWORD3>
  146. <KEYWORD3>Endif</KEYWORD3>
  147. <KEYWORD3>Extend</KEYWORD3>
  148. <KEYWORD3>Global</KEYWORD3>
  149. <KEYWORD3>Ifdef</KEYWORD3>
  150. <KEYWORD3>Ifndef</KEYWORD3>
  151. <KEYWORD3>Ifnot</KEYWORD3>
  152. <KEYWORD3>Iftrue</KEYWORD3>
  153. <KEYWORD3>Iffalse</KEYWORD3>
  154. <KEYWORD3>Import</KEYWORD3>
  155. <KEYWORD3>Include</KEYWORD3>
  156. <KEYWORD3>Link</KEYWORD3>
  157. <KEYWORD3>Lowstring</KEYWORD3>
  158. <KEYWORD3>Message</KEYWORD3>
  159. <KEYWORD3>Object</KEYWORD3>
  160. <KEYWORD3>Property</KEYWORD3>
  161. <KEYWORD3>Replace</KEYWORD3>
  162. <KEYWORD3>Serial</KEYWORD3>
  163. <KEYWORD3>Switches</KEYWORD3>
  164. <KEYWORD3>Statusline</KEYWORD3>
  165. <KEYWORD3>System_file</KEYWORD3>
  166. <KEYWORD3>Verb</KEYWORD3>
  167. <KEYWORD3>private</KEYWORD3>
  168. <LITERAL2>false</LITERAL2>
  169. <LITERAL2>true</LITERAL2>
  170. <LITERAL2>null</LITERAL2>
  171. <LITERAL2>super</LITERAL2>
  172. <LITERAL2>self</LITERAL2>
  173. <INVALID>this</INVALID>
  174. </KEYWORDS>
  175. </RULES>
  176. <RULES SET="InformInnerText" IGNORE_CASE="FALSE" DEFAULT="LITERAL1">
  177. <SEQ TYPE="OPERATOR">^</SEQ>
  178. <SEQ TYPE="OPERATOR">~</SEQ>
  179. <SEQ TYPE="OPERATOR">@</SEQ>
  180. <SEQ TYPE="OPERATOR">\</SEQ>
  181. <!-- escaping the @ symbol -->
  182. <SEQ TYPE="LITERAL2">@@</SEQ>
  183. </RULES>
  184. </MODE>