PageRenderTime 38ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/jEdit/tags/jedit-4-2-pre14/modes/lua.xml

#
XML | 234 lines | 213 code | 2 blank | 19 comment | 0 complexity | 3ff418afc41e7d75a14901147419e656 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. <!-- Lua 5.0 Mode, written by Philipp Janda -->
  4. <!-- TODO:
  5. * Autoindent screws up, if { or ( gets typed after the indentNextLines trigger
  6. -> This is very annoying, so I disabled the automatic indenting in this case!
  7. -> It should be fixed if you set doubleBracketIndent to "true", but I keep it
  8. disabled anyway since it is not that useful if you don't have an unindent!
  9. * Should I use FUNCTION and OPERATOR tags inside of <KEYWORDS>??!!
  10. -->
  11. <MODE>
  12. <PROPS>
  13. <!-- Comments -->
  14. <PROPERTY NAME="lineComment" VALUE="--"/>
  15. <PROPERTY NAME="commentStart" VALUE="--[["/>
  16. <PROPERTY NAME="commentEnd" VALUE="]]"/>
  17. <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*"/>
  18. <!-- Auto indent -->
  19. <PROPERTY NAME="indentOpenBrackets" VALUE="{"/>
  20. <PROPERTY NAME="indentCloseBrackets" VALUE="}"/>
  21. <!--
  22. <PROPERTY NAME="indentNextLines" VALUE=".*((then|else|do|function)).*"/>
  23. -->
  24. <PROPERTY NAME="doubleBracketIndent" VALUE="true"/>
  25. <PROPERTY NAME="lineUpClosingBracket" VALUE="true"/>
  26. </PROPS>
  27. <RULES IGNORE_CASE="FALSE" NO_WORD_SEP="_:." HIGHLIGHT_DIGITS="TRUE"
  28. DIGIT_RE="[[:digit:]]*(\.[[:digit:]]*)?([eE][+-]?[[:digit:]]*)?">
  29. <!-- Multiline comments -->
  30. <SPAN TYPE="COMMENT1">
  31. <BEGIN>--[[</BEGIN>
  32. <END>]]</END>
  33. </SPAN>
  34. <!-- Single line comments -->
  35. <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>
  36. <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT2">#!</EOL_SPAN>
  37. <!-- Simple string literals -->
  38. <SPAN TYPE="LITERAL1">
  39. <BEGIN>"</BEGIN>
  40. <END>"</END>
  41. </SPAN>
  42. <SPAN TYPE="LITERAL1">
  43. <BEGIN>'</BEGIN>
  44. <END>'</END>
  45. </SPAN>
  46. <!-- Multiline string literals -->
  47. <SPAN TYPE="LITERAL1">
  48. <BEGIN>[[</BEGIN>
  49. <END>]]</END>
  50. </SPAN>
  51. <!-- Operators -->
  52. <SEQ TYPE="OPERATOR">+</SEQ>
  53. <SEQ TYPE="OPERATOR">-</SEQ>
  54. <SEQ TYPE="OPERATOR">*</SEQ>
  55. <SEQ TYPE="OPERATOR">/</SEQ>
  56. <SEQ TYPE="OPERATOR">^</SEQ>
  57. <SEQ TYPE="OPERATOR">..</SEQ>
  58. <SEQ TYPE="OPERATOR">&lt;=</SEQ>
  59. <SEQ TYPE="OPERATOR">&lt;</SEQ>
  60. <SEQ TYPE="OPERATOR">&gt;=</SEQ>
  61. <SEQ TYPE="OPERATOR">&gt;</SEQ>
  62. <SEQ TYPE="OPERATOR">==</SEQ>
  63. <SEQ TYPE="OPERATOR">~=</SEQ>
  64. <SEQ TYPE="OPERATOR">=</SEQ>
  65. <!-- Function calls and definitions -->
  66. <MARK_PREVIOUS TYPE="FUNCTION" EXCLUDE_MATCH="TRUE">(</MARK_PREVIOUS>
  67. <MARK_PREVIOUS TYPE="FUNCTION" EXCLUDE_MATCH="TRUE">{</MARK_PREVIOUS>
  68. <MARK_PREVIOUS TYPE="FUNCTION" EXCLUDE_MATCH="TRUE">"</MARK_PREVIOUS>
  69. <MARK_PREVIOUS TYPE="FUNCTION" EXCLUDE_MATCH="TRUE">'</MARK_PREVIOUS>
  70. <KEYWORDS>
  71. <!-- Keywords -->
  72. <KEYWORD1>do</KEYWORD1>
  73. <KEYWORD1>end</KEYWORD1>
  74. <KEYWORD1>while</KEYWORD1>
  75. <KEYWORD1>repeat</KEYWORD1>
  76. <KEYWORD1>until</KEYWORD1>
  77. <KEYWORD1>if</KEYWORD1>
  78. <KEYWORD1>then</KEYWORD1>
  79. <KEYWORD1>elseif</KEYWORD1>
  80. <KEYWORD1>else</KEYWORD1>
  81. <KEYWORD1>return</KEYWORD1>
  82. <KEYWORD1>break</KEYWORD1>
  83. <KEYWORD1>for</KEYWORD1>
  84. <KEYWORD1>in</KEYWORD1>
  85. <KEYWORD1>function</KEYWORD1>
  86. <KEYWORD1>local</KEYWORD1>
  87. <KEYWORD3>nil</KEYWORD3>
  88. <KEYWORD3>true</KEYWORD3>
  89. <KEYWORD3>false</KEYWORD3>
  90. <KEYWORD1>and</KEYWORD1>
  91. <KEYWORD1>or</KEYWORD1>
  92. <KEYWORD1>not</KEYWORD1>
  93. <!-- Builtin functions or special names -->
  94. <KEYWORD2>assert</KEYWORD2>
  95. <KEYWORD2>collectgarbage</KEYWORD2>
  96. <KEYWORD2>dofile</KEYWORD2>
  97. <KEYWORD2>error</KEYWORD2>
  98. <KEYWORD2>_G</KEYWORD2>
  99. <KEYWORD2>getfenv</KEYWORD2>
  100. <KEYWORD2>getmetatable</KEYWORD2>
  101. <KEYWORD2>gcinfo</KEYWORD2>
  102. <KEYWORD2>ipairs</KEYWORD2>
  103. <KEYWORD2>loadfile</KEYWORD2>
  104. <KEYWORD2>loadlib</KEYWORD2>
  105. <KEYWORD2>loadstring</KEYWORD2>
  106. <KEYWORD2>next</KEYWORD2>
  107. <KEYWORD2>pairs</KEYWORD2>
  108. <KEYWORD2>pcall</KEYWORD2>
  109. <KEYWORD2>print</KEYWORD2>
  110. <KEYWORD2>rawequal</KEYWORD2>
  111. <KEYWORD2>rawget</KEYWORD2>
  112. <KEYWORD2>rawset</KEYWORD2>
  113. <KEYWORD2>require</KEYWORD2>
  114. <KEYWORD2>setfenv</KEYWORD2>
  115. <KEYWORD2>setmetatable</KEYWORD2>
  116. <KEYWORD2>tonumber</KEYWORD2>
  117. <KEYWORD2>tostring</KEYWORD2>
  118. <KEYWORD2>type</KEYWORD2>
  119. <KEYWORD2>unpack</KEYWORD2>
  120. <KEYWORD2>xpcall</KEYWORD2>
  121. <KEYWORD2>_VERSION</KEYWORD2>
  122. <KEYWORD2>LUA_PATH</KEYWORD2>
  123. <KEYWORD2>_LOADED</KEYWORD2>
  124. <KEYWORD2>_REQUIREDNAME</KEYWORD2>
  125. <KEYWORD2>_ALERT</KEYWORD2>
  126. <KEYWORD2>_ERRORMESSAGE</KEYWORD2>
  127. <KEYWORD2>_PROMPT</KEYWORD2>
  128. <KEYWORD2>__add</KEYWORD2>
  129. <KEYWORD2>__sub</KEYWORD2>
  130. <KEYWORD2>__mul</KEYWORD2>
  131. <KEYWORD2>__div</KEYWORD2>
  132. <KEYWORD2>__pow</KEYWORD2>
  133. <KEYWORD2>__unm</KEYWORD2>
  134. <KEYWORD2>__concat</KEYWORD2>
  135. <KEYWORD2>__eq</KEYWORD2>
  136. <KEYWORD2>__lt</KEYWORD2>
  137. <KEYWORD2>__le</KEYWORD2>
  138. <KEYWORD2>__index</KEYWORD2>
  139. <KEYWORD2>__newindex</KEYWORD2>
  140. <KEYWORD2>__call</KEYWORD2>
  141. <KEYWORD2>__metatable</KEYWORD2>
  142. <KEYWORD2>__mode</KEYWORD2>
  143. <KEYWORD2>__tostring</KEYWORD2>
  144. <KEYWORD2>__fenv</KEYWORD2>
  145. <KEYWORD2>...</KEYWORD2>
  146. <KEYWORD2>arg</KEYWORD2>
  147. <KEYWORD2>coroutine.create</KEYWORD2>
  148. <KEYWORD2>coroutine.resume</KEYWORD2>
  149. <KEYWORD2>coroutine.status</KEYWORD2>
  150. <KEYWORD2>coroutine.wrap</KEYWORD2>
  151. <KEYWORD2>coroutine.yield</KEYWORD2>
  152. <KEYWORD2>string.byte</KEYWORD2>
  153. <KEYWORD2>string.char</KEYWORD2>
  154. <KEYWORD2>string.dump</KEYWORD2>
  155. <KEYWORD2>string.find</KEYWORD2>
  156. <KEYWORD2>string.len</KEYWORD2>
  157. <KEYWORD2>string.lower</KEYWORD2>
  158. <KEYWORD2>string.rep</KEYWORD2>
  159. <KEYWORD2>string.sub</KEYWORD2>
  160. <KEYWORD2>string.upper</KEYWORD2>
  161. <KEYWORD2>string.format</KEYWORD2>
  162. <KEYWORD2>string.gfind</KEYWORD2>
  163. <KEYWORD2>string.gsub</KEYWORD2>
  164. <KEYWORD2>table.concat</KEYWORD2>
  165. <KEYWORD2>table.foreach</KEYWORD2>
  166. <KEYWORD2>table.foreachi</KEYWORD2>
  167. <KEYWORD2>table.getn</KEYWORD2>
  168. <KEYWORD2>table.sort</KEYWORD2>
  169. <KEYWORD2>table.insert</KEYWORD2>
  170. <KEYWORD2>table.remove</KEYWORD2>
  171. <KEYWORD2>table.setn</KEYWORD2>
  172. <KEYWORD2>math.abs</KEYWORD2>
  173. <KEYWORD2>math.acos</KEYWORD2>
  174. <KEYWORD2>math.asin</KEYWORD2>
  175. <KEYWORD2>math.atan</KEYWORD2>
  176. <KEYWORD2>math.atan2</KEYWORD2>
  177. <KEYWORD2>math.ceil</KEYWORD2>
  178. <KEYWORD2>math.cos</KEYWORD2>
  179. <KEYWORD2>math.deg</KEYWORD2>
  180. <KEYWORD2>math.exp</KEYWORD2>
  181. <KEYWORD2>math.floor</KEYWORD2>
  182. <KEYWORD2>math.log</KEYWORD2>
  183. <KEYWORD2>math.log10</KEYWORD2>
  184. <KEYWORD2>math.max</KEYWORD2>
  185. <KEYWORD2>math.min</KEYWORD2>
  186. <KEYWORD2>math.mod</KEYWORD2>
  187. <KEYWORD2>math.pow</KEYWORD2>
  188. <KEYWORD2>math.rad</KEYWORD2>
  189. <KEYWORD2>math.sin</KEYWORD2>
  190. <KEYWORD2>math.sqrt</KEYWORD2>
  191. <KEYWORD2>math.tan</KEYWORD2>
  192. <KEYWORD2>math.frexp</KEYWORD2>
  193. <KEYWORD2>math.ldexp</KEYWORD2>
  194. <KEYWORD2>math.random</KEYWORD2>
  195. <KEYWORD2>math.randomseed</KEYWORD2>
  196. <KEYWORD2>math.pi</KEYWORD2>
  197. <KEYWORD2>io.close</KEYWORD2>
  198. <KEYWORD2>io.flush</KEYWORD2>
  199. <KEYWORD2>io.input</KEYWORD2>
  200. <KEYWORD2>io.lines</KEYWORD2>
  201. <KEYWORD2>io.open</KEYWORD2>
  202. <KEYWORD2>io.read</KEYWORD2>
  203. <KEYWORD2>io.tmpfile</KEYWORD2>
  204. <KEYWORD2>io.type</KEYWORD2>
  205. <KEYWORD2>io.write</KEYWORD2>
  206. <KEYWORD2>io.stdin</KEYWORD2>
  207. <KEYWORD2>io.stdout</KEYWORD2>
  208. <KEYWORD2>io.stderr</KEYWORD2>
  209. <KEYWORD2>os.clock</KEYWORD2>
  210. <KEYWORD2>os.date</KEYWORD2>
  211. <KEYWORD2>os.difftime</KEYWORD2>
  212. <KEYWORD2>os.execute</KEYWORD2>
  213. <KEYWORD2>os.exit</KEYWORD2>
  214. <KEYWORD2>os.getenv</KEYWORD2>
  215. <KEYWORD2>os.remove</KEYWORD2>
  216. <KEYWORD2>os.rename</KEYWORD2>
  217. <KEYWORD2>os.setlocale</KEYWORD2>
  218. <KEYWORD2>os.time</KEYWORD2>
  219. <KEYWORD2>os.tmpname</KEYWORD2>
  220. <KEYWORD2>debug.debug</KEYWORD2>
  221. <KEYWORD2>debug.gethook</KEYWORD2>
  222. <KEYWORD2>debug.getinfo</KEYWORD2>
  223. <KEYWORD2>debug.getlocal</KEYWORD2>
  224. <KEYWORD2>debug.getupvalue</KEYWORD2>
  225. <KEYWORD2>debug.setlocal</KEYWORD2>
  226. <KEYWORD2>debug.setupvalue</KEYWORD2>
  227. <KEYWORD2>debug.sethook</KEYWORD2>
  228. <KEYWORD2>debug.traceback</KEYWORD2>
  229. </KEYWORDS>
  230. </RULES>
  231. </MODE>