aced_rails 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. data/.gitignore +17 -0
  2. data/CHANGELOG.md +4 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE +22 -0
  5. data/README.md +49 -0
  6. data/Rakefile +2 -0
  7. data/aced_rails.gemspec +19 -0
  8. data/lib/aced_rails.rb +7 -0
  9. data/lib/aced_rails/engine.rb +4 -0
  10. data/lib/aced_rails/version.rb +3 -0
  11. data/vendor/assets/javascripts/ace/ace-compat-noconflict.js +1 -0
  12. data/vendor/assets/javascripts/ace/ace-compat-uncompressed-noconflict.js +480 -0
  13. data/vendor/assets/javascripts/ace/ace-compat-uncompressed.js +480 -0
  14. data/vendor/assets/javascripts/ace/ace-compat.js +1 -0
  15. data/vendor/assets/javascripts/ace/ace-noconflict.js +10 -0
  16. data/vendor/assets/javascripts/ace/ace-uncompressed-noconflict.js +14649 -0
  17. data/vendor/assets/javascripts/ace/ace-uncompressed.js +14649 -0
  18. data/vendor/assets/javascripts/ace/ace.js +10 -0
  19. data/vendor/assets/javascripts/ace/keybinding-emacs-noconflict.js +1 -0
  20. data/vendor/assets/javascripts/ace/keybinding-emacs-uncompressed-noconflict.js +405 -0
  21. data/vendor/assets/javascripts/ace/keybinding-emacs-uncompressed.js +405 -0
  22. data/vendor/assets/javascripts/ace/keybinding-emacs.js +1 -0
  23. data/vendor/assets/javascripts/ace/keybinding-vim-noconflict.js +1 -0
  24. data/vendor/assets/javascripts/ace/keybinding-vim-uncompressed-noconflict.js +393 -0
  25. data/vendor/assets/javascripts/ace/keybinding-vim-uncompressed.js +393 -0
  26. data/vendor/assets/javascripts/ace/keybinding-vim.js +1 -0
  27. data/vendor/assets/javascripts/ace/mode-c_cpp-noconflict.js +1 -0
  28. data/vendor/assets/javascripts/ace/mode-c_cpp-uncompressed-noconflict.js +918 -0
  29. data/vendor/assets/javascripts/ace/mode-c_cpp-uncompressed.js +918 -0
  30. data/vendor/assets/javascripts/ace/mode-c_cpp.js +1 -0
  31. data/vendor/assets/javascripts/ace/mode-clojure-noconflict.js +1 -0
  32. data/vendor/assets/javascripts/ace/mode-clojure-uncompressed-noconflict.js +422 -0
  33. data/vendor/assets/javascripts/ace/mode-clojure-uncompressed.js +422 -0
  34. data/vendor/assets/javascripts/ace/mode-clojure.js +1 -0
  35. data/vendor/assets/javascripts/ace/mode-coffee-noconflict.js +1 -0
  36. data/vendor/assets/javascripts/ace/mode-coffee-uncompressed-noconflict.js +605 -0
  37. data/vendor/assets/javascripts/ace/mode-coffee-uncompressed.js +605 -0
  38. data/vendor/assets/javascripts/ace/mode-coffee.js +1 -0
  39. data/vendor/assets/javascripts/ace/mode-coldfusion-noconflict.js +1 -0
  40. data/vendor/assets/javascripts/ace/mode-coldfusion-uncompressed-noconflict.js +2361 -0
  41. data/vendor/assets/javascripts/ace/mode-coldfusion-uncompressed.js +2361 -0
  42. data/vendor/assets/javascripts/ace/mode-coldfusion.js +1 -0
  43. data/vendor/assets/javascripts/ace/mode-csharp-noconflict.js +1 -0
  44. data/vendor/assets/javascripts/ace/mode-csharp-uncompressed-noconflict.js +768 -0
  45. data/vendor/assets/javascripts/ace/mode-csharp-uncompressed.js +768 -0
  46. data/vendor/assets/javascripts/ace/mode-csharp.js +1 -0
  47. data/vendor/assets/javascripts/ace/mode-css-noconflict.js +1 -0
  48. data/vendor/assets/javascripts/ace/mode-css-uncompressed-noconflict.js +664 -0
  49. data/vendor/assets/javascripts/ace/mode-css-uncompressed.js +664 -0
  50. data/vendor/assets/javascripts/ace/mode-css.js +1 -0
  51. data/vendor/assets/javascripts/ace/mode-groovy-noconflict.js +1 -0
  52. data/vendor/assets/javascripts/ace/mode-groovy-uncompressed-noconflict.js +1280 -0
  53. data/vendor/assets/javascripts/ace/mode-groovy-uncompressed.js +1280 -0
  54. data/vendor/assets/javascripts/ace/mode-groovy.js +1 -0
  55. data/vendor/assets/javascripts/ace/mode-haxe-noconflict.js +1 -0
  56. data/vendor/assets/javascripts/ace/mode-haxe-uncompressed-noconflict.js +768 -0
  57. data/vendor/assets/javascripts/ace/mode-haxe-uncompressed.js +768 -0
  58. data/vendor/assets/javascripts/ace/mode-haxe.js +1 -0
  59. data/vendor/assets/javascripts/ace/mode-html-noconflict.js +1 -0
  60. data/vendor/assets/javascripts/ace/mode-html-uncompressed-noconflict.js +2377 -0
  61. data/vendor/assets/javascripts/ace/mode-html-uncompressed.js +2377 -0
  62. data/vendor/assets/javascripts/ace/mode-html.js +1 -0
  63. data/vendor/assets/javascripts/ace/mode-java-noconflict.js +1 -0
  64. data/vendor/assets/javascripts/ace/mode-java-uncompressed-noconflict.js +1282 -0
  65. data/vendor/assets/javascripts/ace/mode-java-uncompressed.js +1282 -0
  66. data/vendor/assets/javascripts/ace/mode-java.js +1 -0
  67. data/vendor/assets/javascripts/ace/mode-javascript-noconflict.js +1 -0
  68. data/vendor/assets/javascripts/ace/mode-javascript-uncompressed-noconflict.js +1113 -0
  69. data/vendor/assets/javascripts/ace/mode-javascript-uncompressed.js +1113 -0
  70. data/vendor/assets/javascripts/ace/mode-javascript.js +1 -0
  71. data/vendor/assets/javascripts/ace/mode-json-noconflict.js +1 -0
  72. data/vendor/assets/javascripts/ace/mode-json-uncompressed-noconflict.js +696 -0
  73. data/vendor/assets/javascripts/ace/mode-json-uncompressed.js +696 -0
  74. data/vendor/assets/javascripts/ace/mode-json.js +1 -0
  75. data/vendor/assets/javascripts/ace/mode-latex-noconflict.js +1 -0
  76. data/vendor/assets/javascripts/ace/mode-latex-uncompressed-noconflict.js +95 -0
  77. data/vendor/assets/javascripts/ace/mode-latex-uncompressed.js +95 -0
  78. data/vendor/assets/javascripts/ace/mode-latex.js +1 -0
  79. data/vendor/assets/javascripts/ace/mode-lua-noconflict.js +1 -0
  80. data/vendor/assets/javascripts/ace/mode-lua-uncompressed-noconflict.js +523 -0
  81. data/vendor/assets/javascripts/ace/mode-lua-uncompressed.js +523 -0
  82. data/vendor/assets/javascripts/ace/mode-lua.js +1 -0
  83. data/vendor/assets/javascripts/ace/mode-markdown-noconflict.js +1 -0
  84. data/vendor/assets/javascripts/ace/mode-markdown-uncompressed-noconflict.js +2819 -0
  85. data/vendor/assets/javascripts/ace/mode-markdown-uncompressed.js +2819 -0
  86. data/vendor/assets/javascripts/ace/mode-markdown.js +1 -0
  87. data/vendor/assets/javascripts/ace/mode-ocaml-noconflict.js +1 -0
  88. data/vendor/assets/javascripts/ace/mode-ocaml-uncompressed-noconflict.js +539 -0
  89. data/vendor/assets/javascripts/ace/mode-ocaml-uncompressed.js +539 -0
  90. data/vendor/assets/javascripts/ace/mode-ocaml.js +1 -0
  91. data/vendor/assets/javascripts/ace/mode-perl-noconflict.js +1 -0
  92. data/vendor/assets/javascripts/ace/mode-perl-uncompressed-noconflict.js +573 -0
  93. data/vendor/assets/javascripts/ace/mode-perl-uncompressed.js +573 -0
  94. data/vendor/assets/javascripts/ace/mode-perl.js +1 -0
  95. data/vendor/assets/javascripts/ace/mode-pgsql-noconflict.js +1 -0
  96. data/vendor/assets/javascripts/ace/mode-pgsql-uncompressed-noconflict.js +1107 -0
  97. data/vendor/assets/javascripts/ace/mode-pgsql-uncompressed.js +1107 -0
  98. data/vendor/assets/javascripts/ace/mode-pgsql.js +1 -0
  99. data/vendor/assets/javascripts/ace/mode-php-noconflict.js +1 -0
  100. data/vendor/assets/javascripts/ace/mode-php-uncompressed-noconflict.js +1884 -0
  101. data/vendor/assets/javascripts/ace/mode-php-uncompressed.js +1884 -0
  102. data/vendor/assets/javascripts/ace/mode-php.js +1 -0
  103. data/vendor/assets/javascripts/ace/mode-powershell-noconflict.js +1 -0
  104. data/vendor/assets/javascripts/ace/mode-powershell-uncompressed-noconflict.js +706 -0
  105. data/vendor/assets/javascripts/ace/mode-powershell-uncompressed.js +706 -0
  106. data/vendor/assets/javascripts/ace/mode-powershell.js +1 -0
  107. data/vendor/assets/javascripts/ace/mode-python-noconflict.js +1 -0
  108. data/vendor/assets/javascripts/ace/mode-python-uncompressed-noconflict.js +506 -0
  109. data/vendor/assets/javascripts/ace/mode-python-uncompressed.js +506 -0
  110. data/vendor/assets/javascripts/ace/mode-python.js +1 -0
  111. data/vendor/assets/javascripts/ace/mode-ruby-noconflict.js +1 -0
  112. data/vendor/assets/javascripts/ace/mode-ruby-uncompressed-noconflict.js +391 -0
  113. data/vendor/assets/javascripts/ace/mode-ruby-uncompressed.js +391 -0
  114. data/vendor/assets/javascripts/ace/mode-ruby.js +1 -0
  115. data/vendor/assets/javascripts/ace/mode-scad-noconflict.js +1 -0
  116. data/vendor/assets/javascripts/ace/mode-scad-uncompressed-noconflict.js +906 -0
  117. data/vendor/assets/javascripts/ace/mode-scad-uncompressed.js +906 -0
  118. data/vendor/assets/javascripts/ace/mode-scad.js +1 -0
  119. data/vendor/assets/javascripts/ace/mode-scala-noconflict.js +1 -0
  120. data/vendor/assets/javascripts/ace/mode-scala-uncompressed-noconflict.js +1282 -0
  121. data/vendor/assets/javascripts/ace/mode-scala-uncompressed.js +1282 -0
  122. data/vendor/assets/javascripts/ace/mode-scala.js +1 -0
  123. data/vendor/assets/javascripts/ace/mode-scss-noconflict.js +1 -0
  124. data/vendor/assets/javascripts/ace/mode-scss-uncompressed-noconflict.js +678 -0
  125. data/vendor/assets/javascripts/ace/mode-scss-uncompressed.js +678 -0
  126. data/vendor/assets/javascripts/ace/mode-scss.js +1 -0
  127. data/vendor/assets/javascripts/ace/mode-sh-noconflict.js +1 -0
  128. data/vendor/assets/javascripts/ace/mode-sh-uncompressed-noconflict.js +268 -0
  129. data/vendor/assets/javascripts/ace/mode-sh-uncompressed.js +268 -0
  130. data/vendor/assets/javascripts/ace/mode-sh.js +1 -0
  131. data/vendor/assets/javascripts/ace/mode-sql-noconflict.js +1 -0
  132. data/vendor/assets/javascripts/ace/mode-sql-uncompressed-noconflict.js +159 -0
  133. data/vendor/assets/javascripts/ace/mode-sql-uncompressed.js +159 -0
  134. data/vendor/assets/javascripts/ace/mode-sql.js +1 -0
  135. data/vendor/assets/javascripts/ace/mode-svg-noconflict.js +1 -0
  136. data/vendor/assets/javascripts/ace/mode-svg-uncompressed-noconflict.js +2016 -0
  137. data/vendor/assets/javascripts/ace/mode-svg-uncompressed.js +2016 -0
  138. data/vendor/assets/javascripts/ace/mode-svg.js +1 -0
  139. data/vendor/assets/javascripts/ace/mode-text-noconflict.js +0 -0
  140. data/vendor/assets/javascripts/ace/mode-text-uncompressed-noconflict.js +0 -0
  141. data/vendor/assets/javascripts/ace/mode-text-uncompressed.js +0 -0
  142. data/vendor/assets/javascripts/ace/mode-text.js +0 -0
  143. data/vendor/assets/javascripts/ace/mode-textile-noconflict.js +1 -0
  144. data/vendor/assets/javascripts/ace/mode-textile-uncompressed-noconflict.js +254 -0
  145. data/vendor/assets/javascripts/ace/mode-textile-uncompressed.js +254 -0
  146. data/vendor/assets/javascripts/ace/mode-textile.js +1 -0
  147. data/vendor/assets/javascripts/ace/mode-xml-noconflict.js +1 -0
  148. data/vendor/assets/javascripts/ace/mode-xml-uncompressed-noconflict.js +1001 -0
  149. data/vendor/assets/javascripts/ace/mode-xml-uncompressed.js +1001 -0
  150. data/vendor/assets/javascripts/ace/mode-xml.js +1 -0
  151. data/vendor/assets/javascripts/ace/theme-chrome-noconflict.js +1 -0
  152. data/vendor/assets/javascripts/ace/theme-chrome-uncompressed-noconflict.js +212 -0
  153. data/vendor/assets/javascripts/ace/theme-chrome-uncompressed.js +212 -0
  154. data/vendor/assets/javascripts/ace/theme-chrome.js +1 -0
  155. data/vendor/assets/javascripts/ace/theme-clouds-noconflict.js +1 -0
  156. data/vendor/assets/javascripts/ace/theme-clouds-uncompressed-noconflict.js +155 -0
  157. data/vendor/assets/javascripts/ace/theme-clouds-uncompressed.js +155 -0
  158. data/vendor/assets/javascripts/ace/theme-clouds.js +1 -0
  159. data/vendor/assets/javascripts/ace/theme-clouds_midnight-noconflict.js +1 -0
  160. data/vendor/assets/javascripts/ace/theme-clouds_midnight-uncompressed-noconflict.js +156 -0
  161. data/vendor/assets/javascripts/ace/theme-clouds_midnight-uncompressed.js +156 -0
  162. data/vendor/assets/javascripts/ace/theme-clouds_midnight.js +1 -0
  163. data/vendor/assets/javascripts/ace/theme-cobalt-noconflict.js +1 -0
  164. data/vendor/assets/javascripts/ace/theme-cobalt-uncompressed-noconflict.js +170 -0
  165. data/vendor/assets/javascripts/ace/theme-cobalt-uncompressed.js +170 -0
  166. data/vendor/assets/javascripts/ace/theme-cobalt.js +1 -0
  167. data/vendor/assets/javascripts/ace/theme-crimson_editor-noconflict.js +1 -0
  168. data/vendor/assets/javascripts/ace/theme-crimson_editor-uncompressed-noconflict.js +198 -0
  169. data/vendor/assets/javascripts/ace/theme-crimson_editor-uncompressed.js +198 -0
  170. data/vendor/assets/javascripts/ace/theme-crimson_editor.js +1 -0
  171. data/vendor/assets/javascripts/ace/theme-dawn-noconflict.js +1 -0
  172. data/vendor/assets/javascripts/ace/theme-dawn-uncompressed-noconflict.js +174 -0
  173. data/vendor/assets/javascripts/ace/theme-dawn-uncompressed.js +174 -0
  174. data/vendor/assets/javascripts/ace/theme-dawn.js +1 -0
  175. data/vendor/assets/javascripts/ace/theme-dreamweaver-noconflict.js +1 -0
  176. data/vendor/assets/javascripts/ace/theme-dreamweaver-uncompressed-noconflict.js +227 -0
  177. data/vendor/assets/javascripts/ace/theme-dreamweaver-uncompressed.js +227 -0
  178. data/vendor/assets/javascripts/ace/theme-dreamweaver.js +1 -0
  179. data/vendor/assets/javascripts/ace/theme-eclipse-noconflict.js +1 -0
  180. data/vendor/assets/javascripts/ace/theme-eclipse-uncompressed-noconflict.js +147 -0
  181. data/vendor/assets/javascripts/ace/theme-eclipse-uncompressed.js +147 -0
  182. data/vendor/assets/javascripts/ace/theme-eclipse.js +1 -0
  183. data/vendor/assets/javascripts/ace/theme-idle_fingers-noconflict.js +1 -0
  184. data/vendor/assets/javascripts/ace/theme-idle_fingers-uncompressed-noconflict.js +162 -0
  185. data/vendor/assets/javascripts/ace/theme-idle_fingers-uncompressed.js +162 -0
  186. data/vendor/assets/javascripts/ace/theme-idle_fingers.js +1 -0
  187. data/vendor/assets/javascripts/ace/theme-kr_theme-noconflict.js +1 -0
  188. data/vendor/assets/javascripts/ace/theme-kr_theme-uncompressed-noconflict.js +165 -0
  189. data/vendor/assets/javascripts/ace/theme-kr_theme-uncompressed.js +165 -0
  190. data/vendor/assets/javascripts/ace/theme-kr_theme.js +1 -0
  191. data/vendor/assets/javascripts/ace/theme-merbivore-noconflict.js +1 -0
  192. data/vendor/assets/javascripts/ace/theme-merbivore-uncompressed-noconflict.js +165 -0
  193. data/vendor/assets/javascripts/ace/theme-merbivore-uncompressed.js +165 -0
  194. data/vendor/assets/javascripts/ace/theme-merbivore.js +1 -0
  195. data/vendor/assets/javascripts/ace/theme-merbivore_soft-noconflict.js +1 -0
  196. data/vendor/assets/javascripts/ace/theme-merbivore_soft-uncompressed-noconflict.js +171 -0
  197. data/vendor/assets/javascripts/ace/theme-merbivore_soft-uncompressed.js +171 -0
  198. data/vendor/assets/javascripts/ace/theme-merbivore_soft.js +1 -0
  199. data/vendor/assets/javascripts/ace/theme-mono_industrial-noconflict.js +1 -0
  200. data/vendor/assets/javascripts/ace/theme-mono_industrial-uncompressed-noconflict.js +169 -0
  201. data/vendor/assets/javascripts/ace/theme-mono_industrial-uncompressed.js +169 -0
  202. data/vendor/assets/javascripts/ace/theme-mono_industrial.js +1 -0
  203. data/vendor/assets/javascripts/ace/theme-monokai-noconflict.js +1 -0
  204. data/vendor/assets/javascripts/ace/theme-monokai-uncompressed-noconflict.js +171 -0
  205. data/vendor/assets/javascripts/ace/theme-monokai-uncompressed.js +171 -0
  206. data/vendor/assets/javascripts/ace/theme-monokai.js +1 -0
  207. data/vendor/assets/javascripts/ace/theme-pastel_on_dark-noconflict.js +1 -0
  208. data/vendor/assets/javascripts/ace/theme-pastel_on_dark-uncompressed-noconflict.js +179 -0
  209. data/vendor/assets/javascripts/ace/theme-pastel_on_dark-uncompressed.js +179 -0
  210. data/vendor/assets/javascripts/ace/theme-pastel_on_dark.js +1 -0
  211. data/vendor/assets/javascripts/ace/theme-solarized_dark-noconflict.js +1 -0
  212. data/vendor/assets/javascripts/ace/theme-solarized_dark-uncompressed-noconflict.js +160 -0
  213. data/vendor/assets/javascripts/ace/theme-solarized_dark-uncompressed.js +160 -0
  214. data/vendor/assets/javascripts/ace/theme-solarized_dark.js +1 -0
  215. data/vendor/assets/javascripts/ace/theme-solarized_light-noconflict.js +1 -0
  216. data/vendor/assets/javascripts/ace/theme-solarized_light-uncompressed-noconflict.js +159 -0
  217. data/vendor/assets/javascripts/ace/theme-solarized_light-uncompressed.js +159 -0
  218. data/vendor/assets/javascripts/ace/theme-solarized_light.js +1 -0
  219. data/vendor/assets/javascripts/ace/theme-textmate-noconflict.js +0 -0
  220. data/vendor/assets/javascripts/ace/theme-textmate-uncompressed-noconflict.js +0 -0
  221. data/vendor/assets/javascripts/ace/theme-textmate-uncompressed.js +0 -0
  222. data/vendor/assets/javascripts/ace/theme-textmate.js +0 -0
  223. data/vendor/assets/javascripts/ace/theme-tomorrow-noconflict.js +1 -0
  224. data/vendor/assets/javascripts/ace/theme-tomorrow-uncompressed-noconflict.js +189 -0
  225. data/vendor/assets/javascripts/ace/theme-tomorrow-uncompressed.js +189 -0
  226. data/vendor/assets/javascripts/ace/theme-tomorrow.js +1 -0
  227. data/vendor/assets/javascripts/ace/theme-tomorrow_night-noconflict.js +1 -0
  228. data/vendor/assets/javascripts/ace/theme-tomorrow_night-uncompressed-noconflict.js +189 -0
  229. data/vendor/assets/javascripts/ace/theme-tomorrow_night-uncompressed.js +189 -0
  230. data/vendor/assets/javascripts/ace/theme-tomorrow_night.js +1 -0
  231. data/vendor/assets/javascripts/ace/theme-tomorrow_night_blue-noconflict.js +1 -0
  232. data/vendor/assets/javascripts/ace/theme-tomorrow_night_blue-uncompressed-noconflict.js +189 -0
  233. data/vendor/assets/javascripts/ace/theme-tomorrow_night_blue-uncompressed.js +189 -0
  234. data/vendor/assets/javascripts/ace/theme-tomorrow_night_blue.js +1 -0
  235. data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright-noconflict.js +1 -0
  236. data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright-uncompressed-noconflict.js +189 -0
  237. data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright-uncompressed.js +189 -0
  238. data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright.js +1 -0
  239. data/vendor/assets/javascripts/ace/theme-tomorrow_night_eighties-noconflict.js +1 -0
  240. data/vendor/assets/javascripts/ace/theme-tomorrow_night_eighties-uncompressed-noconflict.js +185 -0
  241. data/vendor/assets/javascripts/ace/theme-tomorrow_night_eighties-uncompressed.js +185 -0
  242. data/vendor/assets/javascripts/ace/theme-tomorrow_night_eighties.js +1 -0
  243. data/vendor/assets/javascripts/ace/theme-twilight-noconflict.js +1 -0
  244. data/vendor/assets/javascripts/ace/theme-twilight-uncompressed-noconflict.js +183 -0
  245. data/vendor/assets/javascripts/ace/theme-twilight-uncompressed.js +183 -0
  246. data/vendor/assets/javascripts/ace/theme-twilight.js +1 -0
  247. data/vendor/assets/javascripts/ace/theme-vibrant_ink-noconflict.js +1 -0
  248. data/vendor/assets/javascripts/ace/theme-vibrant_ink-uncompressed-noconflict.js +166 -0
  249. data/vendor/assets/javascripts/ace/theme-vibrant_ink-uncompressed.js +166 -0
  250. data/vendor/assets/javascripts/ace/theme-vibrant_ink.js +1 -0
  251. data/vendor/assets/javascripts/ace/worker-coffee.js +7456 -0
  252. data/vendor/assets/javascripts/ace/worker-css.js +11693 -0
  253. data/vendor/assets/javascripts/ace/worker-javascript.js +10305 -0
  254. data/vendor/assets/javascripts/ace/worker-json.js +3062 -0
  255. metadata +310 -0
@@ -0,0 +1,539 @@
1
+ /* ***** BEGIN LICENSE BLOCK *****
2
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
3
+ *
4
+ * The contents of this file are subject to the Mozilla Public License Version
5
+ * 1.1 (the "License"); you may not use this file except in compliance with
6
+ * the License. You may obtain a copy of the License at
7
+ * http://www.mozilla.org/MPL/
8
+ *
9
+ * Software distributed under the License is distributed on an "AS IS" basis,
10
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11
+ * for the specific language governing rights and limitations under the
12
+ * License.
13
+ *
14
+ * The Original Code is Ajax.org Code Editor (ACE).
15
+ *
16
+ * The Initial Developer of the Original Code is
17
+ * Ajax.org B.V.
18
+ * Portions created by the Initial Developer are Copyright (C) 2010
19
+ * the Initial Developer. All Rights Reserved.
20
+ *
21
+ * Contributor(s):
22
+ * Sergi Mansilla <sergi AT ajax DOT org>
23
+ *
24
+ * Alternatively, the contents of this file may be used under the terms of
25
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
26
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27
+ * in which case the provisions of the GPL or the LGPL are applicable instead
28
+ * of those above. If you wish to allow use of your version of this file only
29
+ * under the terms of either the GPL or the LGPL, and not to allow others to
30
+ * use your version of this file under the terms of the MPL, indicate your
31
+ * decision by deleting the provisions above and replace them with the notice
32
+ * and other provisions required by the GPL or the LGPL. If you do not delete
33
+ * the provisions above, a recipient may use your version of this file under
34
+ * the terms of any one of the MPL, the GPL or the LGPL.
35
+ *
36
+ * ***** END LICENSE BLOCK ***** */
37
+
38
+ define('ace/mode/ocaml', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/ocaml_highlight_rules', 'ace/mode/matching_brace_outdent', 'ace/range'], function(require, exports, module) {
39
+ "use strict";
40
+
41
+ var oop = require("../lib/oop");
42
+ var TextMode = require("./text").Mode;
43
+ var Tokenizer = require("../tokenizer").Tokenizer;
44
+ var OcamlHighlightRules = require("./ocaml_highlight_rules").OcamlHighlightRules;
45
+ var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
46
+ var Range = require("../range").Range;
47
+
48
+ var Mode = function() {
49
+ this.$tokenizer = new Tokenizer(new OcamlHighlightRules().getRules());
50
+ this.$outdent = new MatchingBraceOutdent();
51
+ };
52
+ oop.inherits(Mode, TextMode);
53
+
54
+ var indenter = /(?:[({[=:]|[-=]>|\b(?:else|try|with))\s*$/;
55
+
56
+ (function() {
57
+
58
+ this.toggleCommentLines = function(state, doc, startRow, endRow) {
59
+ var i, line;
60
+ var outdent = true;
61
+ var re = /^\s*\(\*(.*)\*\)/;
62
+
63
+ for (i=startRow; i<= endRow; i++) {
64
+ if (!re.test(doc.getLine(i))) {
65
+ outdent = false;
66
+ break;
67
+ }
68
+ }
69
+
70
+ var range = new Range(0, 0, 0, 0);
71
+ for (i=startRow; i<= endRow; i++) {
72
+ line = doc.getLine(i);
73
+ range.start.row = i;
74
+ range.end.row = i;
75
+ range.end.column = line.length;
76
+
77
+ doc.replace(range, outdent ? line.match(re)[1] : "(*" + line + "*)");
78
+ }
79
+ };
80
+
81
+ this.getNextLineIndent = function(state, line, tab) {
82
+ var indent = this.$getIndent(line);
83
+ var tokens = this.$tokenizer.getLineTokens(line, state).tokens;
84
+
85
+ if (!(tokens.length && tokens[tokens.length - 1].type === 'comment') &&
86
+ state === 'start' && indenter.test(line))
87
+ indent += tab;
88
+ return indent;
89
+ };
90
+
91
+ this.checkOutdent = function(state, line, input) {
92
+ return this.$outdent.checkOutdent(line, input);
93
+ };
94
+
95
+ this.autoOutdent = function(state, doc, row) {
96
+ this.$outdent.autoOutdent(doc, row);
97
+ };
98
+
99
+ }).call(Mode.prototype);
100
+
101
+ exports.Mode = Mode;
102
+ });
103
+
104
+ /* ***** BEGIN LICENSE BLOCK *****
105
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
106
+ *
107
+ * The contents of this file are subject to the Mozilla Public License Version
108
+ * 1.1 (the "License"); you may not use this file except in compliance with
109
+ * the License. You may obtain a copy of the License at
110
+ * http://www.mozilla.org/MPL/
111
+ *
112
+ * Software distributed under the License is distributed on an "AS IS" basis,
113
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
114
+ * for the specific language governing rights and limitations under the
115
+ * License.
116
+ *
117
+ * The Original Code is Ajax.org Code Editor (ACE).
118
+ *
119
+ * The Initial Developer of the Original Code is
120
+ * Ajax.org B.V.
121
+ * Portions created by the Initial Developer are Copyright (C) 2010
122
+ * the Initial Developer. All Rights Reserved.
123
+ *
124
+ * Contributor(s):
125
+ * Sergi Mansilla <sergi AT ajax DOT org>
126
+ *
127
+ * Alternatively, the contents of this file may be used under the terms of
128
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
129
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
130
+ * in which case the provisions of the GPL or the LGPL are applicable instead
131
+ * of those above. If you wish to allow use of your version of this file only
132
+ * under the terms of either the GPL or the LGPL, and not to allow others to
133
+ * use your version of this file under the terms of the MPL, indicate your
134
+ * decision by deleting the provisions above and replace them with the notice
135
+ * and other provisions required by the GPL or the LGPL. If you do not delete
136
+ * the provisions above, a recipient may use your version of this file under
137
+ * the terms of any one of the MPL, the GPL or the LGPL.
138
+ *
139
+ * ***** END LICENSE BLOCK *****
140
+ *
141
+ */
142
+
143
+ define('ace/mode/ocaml_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/lang', 'ace/mode/text_highlight_rules'], function(require, exports, module) {
144
+ "use strict";
145
+
146
+ var oop = require("../lib/oop");
147
+ var lang = require("../lib/lang");
148
+ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
149
+
150
+ var OcamlHighlightRules = function() {
151
+
152
+ var keywords = lang.arrayToMap((
153
+ "and|as|assert|begin|class|constraint|do|done|downto|else|end|" +
154
+ "exception|external|for|fun|function|functor|if|in|include|" +
155
+ "inherit|initializer|lazy|let|match|method|module|mutable|new|" +
156
+ "object|of|open|or|private|rec|sig|struct|then|to|try|type|val|" +
157
+ "virtual|when|while|with").split("|")
158
+ );
159
+
160
+ var builtinConstants = lang.arrayToMap(
161
+ ("true|false").split("|")
162
+ );
163
+
164
+ var builtinFunctions = lang.arrayToMap((
165
+ "abs|abs_big_int|abs_float|abs_num|abstract_tag|accept|access|acos|add|" +
166
+ "add_available_units|add_big_int|add_buffer|add_channel|add_char|" +
167
+ "add_initializer|add_int_big_int|add_interfaces|add_num|add_string|" +
168
+ "add_substitute|add_substring|alarm|allocated_bytes|allow_only|" +
169
+ "allow_unsafe_modules|always|append|appname_get|appname_set|" +
170
+ "approx_num_exp|approx_num_fix|arg|argv|arith_status|array|" +
171
+ "array1_of_genarray|array2_of_genarray|array3_of_genarray|asin|asr|" +
172
+ "assoc|assq|at_exit|atan|atan2|auto_synchronize|background|basename|" +
173
+ "beginning_of_input|big_int_of_int|big_int_of_num|big_int_of_string|bind|" +
174
+ "bind_class|bind_tag|bits|bits_of_float|black|blit|blit_image|blue|bool|" +
175
+ "bool_of_string|bounded_full_split|bounded_split|bounded_split_delim|" +
176
+ "bprintf|break|broadcast|bscanf|button_down|c_layout|capitalize|cardinal|" +
177
+ "cardinal|catch|catch_break|ceil|ceiling_num|channel|char|char_of_int|" +
178
+ "chdir|check|check_suffix|chmod|choose|chop_extension|chop_suffix|chown|" +
179
+ "chown|chr|chroot|classify_float|clear|clear_available_units|" +
180
+ "clear_close_on_exec|clear_graph|clear_nonblock|clear_parser|" +
181
+ "close|close|closeTk|close_box|close_graph|close_in|close_in_noerr|" +
182
+ "close_out|close_out_noerr|close_process|close_process|" +
183
+ "close_process_full|close_process_in|close_process_out|close_subwindow|" +
184
+ "close_tag|close_tbox|closedir|closedir|closure_tag|code|combine|" +
185
+ "combine|combine|command|compact|compare|compare_big_int|compare_num|" +
186
+ "complex32|complex64|concat|conj|connect|contains|contains_from|contents|" +
187
+ "copy|cos|cosh|count|count|counters|create|create_alarm|create_image|" +
188
+ "create_matrix|create_matrix|create_matrix|create_object|" +
189
+ "create_object_and_run_initializers|create_object_opt|create_process|" +
190
+ "create_process|create_process_env|create_process_env|create_table|" +
191
+ "current|current_dir_name|current_point|current_x|current_y|curveto|" +
192
+ "custom_tag|cyan|data_size|decr|decr_num|default_available_units|delay|" +
193
+ "delete_alarm|descr_of_in_channel|descr_of_out_channel|destroy|diff|dim|" +
194
+ "dim1|dim2|dim3|dims|dirname|display_mode|div|div_big_int|div_num|" +
195
+ "double_array_tag|double_tag|draw_arc|draw_char|draw_circle|draw_ellipse|" +
196
+ "draw_image|draw_poly|draw_poly_line|draw_rect|draw_segments|draw_string|" +
197
+ "dummy_pos|dummy_table|dump_image|dup|dup2|elements|empty|end_of_input|" +
198
+ "environment|eprintf|epsilon_float|eq_big_int|eq_num|equal|err_formatter|" +
199
+ "error_message|escaped|establish_server|executable_name|execv|execve|execvp|" +
200
+ "execvpe|exists|exists2|exit|exp|failwith|fast_sort|fchmod|fchown|field|" +
201
+ "file|file_exists|fill|fill_arc|fill_circle|fill_ellipse|fill_poly|fill_rect|" +
202
+ "filter|final_tag|finalise|find|find_all|first_chars|firstkey|flatten|" +
203
+ "float|float32|float64|float_of_big_int|float_of_bits|float_of_int|" +
204
+ "float_of_num|float_of_string|floor|floor_num|flush|flush_all|flush_input|" +
205
+ "flush_str_formatter|fold|fold_left|fold_left2|fold_right|fold_right2|" +
206
+ "for_all|for_all2|force|force_newline|force_val|foreground|fork|" +
207
+ "format_of_string|formatter_of_buffer|formatter_of_out_channel|" +
208
+ "fortran_layout|forward_tag|fprintf|frexp|from|from_channel|from_file|" +
209
+ "from_file_bin|from_function|from_string|fscanf|fst|fstat|ftruncate|" +
210
+ "full_init|full_major|full_split|gcd_big_int|ge_big_int|ge_num|" +
211
+ "genarray_of_array1|genarray_of_array2|genarray_of_array3|get|" +
212
+ "get_all_formatter_output_functions|get_approx_printing|get_copy|" +
213
+ "get_ellipsis_text|get_error_when_null_denominator|get_floating_precision|" +
214
+ "get_formatter_output_functions|get_formatter_tag_functions|get_image|" +
215
+ "get_margin|get_mark_tags|get_max_boxes|get_max_indent|get_method|" +
216
+ "get_method_label|get_normalize_ratio|get_normalize_ratio_when_printing|" +
217
+ "get_print_tags|get_state|get_variable|getcwd|getegid|getegid|getenv|" +
218
+ "getenv|getenv|geteuid|geteuid|getgid|getgid|getgrgid|getgrgid|getgrnam|" +
219
+ "getgrnam|getgroups|gethostbyaddr|gethostbyname|gethostname|getitimer|" +
220
+ "getlogin|getpeername|getpid|getppid|getprotobyname|getprotobynumber|" +
221
+ "getpwnam|getpwuid|getservbyname|getservbyport|getsockname|getsockopt|" +
222
+ "getsockopt_float|getsockopt_int|getsockopt_optint|gettimeofday|getuid|" +
223
+ "global_replace|global_substitute|gmtime|green|grid|group_beginning|" +
224
+ "group_end|gt_big_int|gt_num|guard|handle_unix_error|hash|hash_param|" +
225
+ "hd|header_size|i|id|ignore|in_channel_length|in_channel_of_descr|incr|" +
226
+ "incr_num|index|index_from|inet_addr_any|inet_addr_of_string|infinity|" +
227
+ "infix_tag|init|init_class|input|input_binary_int|input_byte|input_char|" +
228
+ "input_line|input_value|int|int16_signed|int16_unsigned|int32|int64|" +
229
+ "int8_signed|int8_unsigned|int_of_big_int|int_of_char|int_of_float|" +
230
+ "int_of_num|int_of_string|integer_num|inter|interactive|inv|invalid_arg|" +
231
+ "is_block|is_empty|is_implicit|is_int|is_int_big_int|is_integer_num|" +
232
+ "is_relative|iter|iter2|iteri|join|junk|key_pressed|kill|kind|kprintf|" +
233
+ "kscanf|land|last_chars|layout|lazy_from_fun|lazy_from_val|lazy_is_val|" +
234
+ "lazy_tag|ldexp|le_big_int|le_num|length|lexeme|lexeme_char|lexeme_end|" +
235
+ "lexeme_end_p|lexeme_start|lexeme_start_p|lineto|link|list|listen|lnot|" +
236
+ "loadfile|loadfile_private|localtime|lock|lockf|log|log10|logand|lognot|" +
237
+ "logor|logxor|lor|lower_window|lowercase|lseek|lsl|lsr|lstat|lt_big_int|" +
238
+ "lt_num|lxor|magenta|magic|mainLoop|major|major_slice|make|make_formatter|" +
239
+ "make_image|make_lexer|make_matrix|make_self_init|map|map2|map_file|mapi|" +
240
+ "marshal|match_beginning|match_end|matched_group|matched_string|max|" +
241
+ "max_array_length|max_big_int|max_elt|max_float|max_int|max_num|" +
242
+ "max_string_length|mem|mem_assoc|mem_assq|memq|merge|min|min_big_int|" +
243
+ "min_elt|min_float|min_int|min_num|minor|minus_big_int|minus_num|" +
244
+ "minus_one|mkdir|mkfifo|mktime|mod|mod_big_int|mod_float|mod_num|modf|" +
245
+ "mouse_pos|moveto|mul|mult_big_int|mult_int_big_int|mult_num|nan|narrow|" +
246
+ "nat_of_num|nativeint|neg|neg_infinity|new_block|new_channel|new_method|" +
247
+ "new_variable|next|nextkey|nice|nice|no_scan_tag|norm|norm2|not|npeek|" +
248
+ "nth|nth_dim|num_digits_big_int|num_dims|num_of_big_int|num_of_int|" +
249
+ "num_of_nat|num_of_ratio|num_of_string|O|obj|object_tag|ocaml_version|" +
250
+ "of_array|of_channel|of_float|of_int|of_int32|of_list|of_nativeint|" +
251
+ "of_string|one|openTk|open_box|open_connection|open_graph|open_hbox|" +
252
+ "open_hovbox|open_hvbox|open_in|open_in_bin|open_in_gen|open_out|" +
253
+ "open_out_bin|open_out_gen|open_process|open_process_full|open_process_in|" +
254
+ "open_process_out|open_subwindow|open_tag|open_tbox|open_temp_file|" +
255
+ "open_vbox|opendbm|opendir|openfile|or|os_type|out_channel_length|" +
256
+ "out_channel_of_descr|output|output_binary_int|output_buffer|output_byte|" +
257
+ "output_char|output_string|output_value|over_max_boxes|pack|params|" +
258
+ "parent_dir_name|parse|parse_argv|partition|pause|peek|pipe|pixels|" +
259
+ "place|plot|plots|point_color|polar|poll|pop|pos_in|pos_out|pow|" +
260
+ "power_big_int_positive_big_int|power_big_int_positive_int|" +
261
+ "power_int_positive_big_int|power_int_positive_int|power_num|" +
262
+ "pp_close_box|pp_close_tag|pp_close_tbox|pp_force_newline|" +
263
+ "pp_get_all_formatter_output_functions|pp_get_ellipsis_text|" +
264
+ "pp_get_formatter_output_functions|pp_get_formatter_tag_functions|" +
265
+ "pp_get_margin|pp_get_mark_tags|pp_get_max_boxes|pp_get_max_indent|" +
266
+ "pp_get_print_tags|pp_open_box|pp_open_hbox|pp_open_hovbox|pp_open_hvbox|" +
267
+ "pp_open_tag|pp_open_tbox|pp_open_vbox|pp_over_max_boxes|pp_print_as|" +
268
+ "pp_print_bool|pp_print_break|pp_print_char|pp_print_cut|pp_print_float|" +
269
+ "pp_print_flush|pp_print_if_newline|pp_print_int|pp_print_newline|" +
270
+ "pp_print_space|pp_print_string|pp_print_tab|pp_print_tbreak|" +
271
+ "pp_set_all_formatter_output_functions|pp_set_ellipsis_text|" +
272
+ "pp_set_formatter_out_channel|pp_set_formatter_output_functions|" +
273
+ "pp_set_formatter_tag_functions|pp_set_margin|pp_set_mark_tags|" +
274
+ "pp_set_max_boxes|pp_set_max_indent|pp_set_print_tags|pp_set_tab|" +
275
+ "pp_set_tags|pred|pred_big_int|pred_num|prerr_char|prerr_endline|" +
276
+ "prerr_float|prerr_int|prerr_newline|prerr_string|print|print_as|" +
277
+ "print_bool|print_break|print_char|print_cut|print_endline|print_float|" +
278
+ "print_flush|print_if_newline|print_int|print_newline|print_space|" +
279
+ "print_stat|print_string|print_tab|print_tbreak|printf|prohibit|" +
280
+ "public_method_label|push|putenv|quo_num|quomod_big_int|quote|raise|" +
281
+ "raise_window|ratio_of_num|rcontains_from|read|read_float|read_int|" +
282
+ "read_key|read_line|readdir|readdir|readlink|really_input|receive|recv|" +
283
+ "recvfrom|red|ref|regexp|regexp_case_fold|regexp_string|" +
284
+ "regexp_string_case_fold|register|register_exception|rem|remember_mode|" +
285
+ "remove|remove_assoc|remove_assq|rename|replace|replace_first|" +
286
+ "replace_matched|repr|reset|reshape|reshape_1|reshape_2|reshape_3|rev|" +
287
+ "rev_append|rev_map|rev_map2|rewinddir|rgb|rhs_end|rhs_end_pos|rhs_start|" +
288
+ "rhs_start_pos|rindex|rindex_from|rlineto|rmdir|rmoveto|round_num|" +
289
+ "run_initializers|run_initializers_opt|scanf|search_backward|" +
290
+ "search_forward|seek_in|seek_out|select|self|self_init|send|sendto|set|" +
291
+ "set_all_formatter_output_functions|set_approx_printing|" +
292
+ "set_binary_mode_in|set_binary_mode_out|set_close_on_exec|" +
293
+ "set_close_on_exec|set_color|set_ellipsis_text|" +
294
+ "set_error_when_null_denominator|set_field|set_floating_precision|" +
295
+ "set_font|set_formatter_out_channel|set_formatter_output_functions|" +
296
+ "set_formatter_tag_functions|set_line_width|set_margin|set_mark_tags|" +
297
+ "set_max_boxes|set_max_indent|set_method|set_nonblock|set_nonblock|" +
298
+ "set_normalize_ratio|set_normalize_ratio_when_printing|set_print_tags|" +
299
+ "set_signal|set_state|set_tab|set_tag|set_tags|set_text_size|" +
300
+ "set_window_title|setgid|setgid|setitimer|setitimer|setsid|setsid|" +
301
+ "setsockopt|setsockopt|setsockopt_float|setsockopt_float|setsockopt_int|" +
302
+ "setsockopt_int|setsockopt_optint|setsockopt_optint|setuid|setuid|" +
303
+ "shift_left|shift_left|shift_left|shift_right|shift_right|shift_right|" +
304
+ "shift_right_logical|shift_right_logical|shift_right_logical|show_buckets|" +
305
+ "shutdown|shutdown|shutdown_connection|shutdown_connection|sigabrt|" +
306
+ "sigalrm|sigchld|sigcont|sigfpe|sighup|sigill|sigint|sigkill|sign_big_int|" +
307
+ "sign_num|signal|signal|sigpending|sigpending|sigpipe|sigprocmask|" +
308
+ "sigprocmask|sigprof|sigquit|sigsegv|sigstop|sigsuspend|sigsuspend|" +
309
+ "sigterm|sigtstp|sigttin|sigttou|sigusr1|sigusr2|sigvtalrm|sin|singleton|" +
310
+ "sinh|size|size|size_x|size_y|sleep|sleep|sleep|slice_left|slice_left|" +
311
+ "slice_left_1|slice_left_2|slice_right|slice_right|slice_right_1|" +
312
+ "slice_right_2|snd|socket|socket|socket|socketpair|socketpair|sort|sound|" +
313
+ "split|split_delim|sprintf|sprintf|sqrt|sqrt|sqrt_big_int|square_big_int|" +
314
+ "square_num|sscanf|stable_sort|stable_sort|stable_sort|stable_sort|stable_sort|" +
315
+ "stable_sort|stat|stat|stat|stat|stat|stats|stats|std_formatter|stdbuf|" +
316
+ "stderr|stderr|stderr|stdib|stdin|stdin|stdin|stdout|stdout|stdout|" +
317
+ "str_formatter|string|string_after|string_before|string_match|" +
318
+ "string_of_big_int|string_of_bool|string_of_float|string_of_format|" +
319
+ "string_of_inet_addr|string_of_inet_addr|string_of_int|string_of_num|" +
320
+ "string_partial_match|string_tag|sub|sub|sub_big_int|sub_left|sub_num|" +
321
+ "sub_right|subset|subset|substitute_first|substring|succ|succ|" +
322
+ "succ|succ|succ_big_int|succ_num|symbol_end|symbol_end_pos|symbol_start|" +
323
+ "symbol_start_pos|symlink|symlink|sync|synchronize|system|system|system|" +
324
+ "tag|take|tan|tanh|tcdrain|tcdrain|tcflow|tcflow|tcflush|tcflush|" +
325
+ "tcgetattr|tcgetattr|tcsendbreak|tcsendbreak|tcsetattr|tcsetattr|" +
326
+ "temp_file|text_size|time|time|time|timed_read|timed_write|times|times|" +
327
+ "tl|tl|tl|to_buffer|to_channel|to_float|to_hex|to_int|to_int32|to_list|" +
328
+ "to_list|to_list|to_nativeint|to_string|to_string|to_string|to_string|" +
329
+ "to_string|top|top|total_size|transfer|transp|truncate|truncate|truncate|" +
330
+ "truncate|truncate|truncate|try_lock|umask|umask|uncapitalize|uncapitalize|" +
331
+ "uncapitalize|union|union|unit_big_int|unlink|unlink|unlock|unmarshal|" +
332
+ "unsafe_blit|unsafe_fill|unsafe_get|unsafe_get|unsafe_set|unsafe_set|" +
333
+ "update|uppercase|uppercase|uppercase|uppercase|usage|utimes|utimes|wait|" +
334
+ "wait|wait|wait|wait_next_event|wait_pid|wait_read|wait_signal|" +
335
+ "wait_timed_read|wait_timed_write|wait_write|waitpid|white|" +
336
+ "widen|window_id|word_size|wrap|wrap_abort|write|yellow|yield|zero|zero_big_int|" +
337
+
338
+ "Arg|Arith_status|Array|Array1|Array2|Array3|ArrayLabels|Big_int|Bigarray|" +
339
+ "Buffer|Callback|CamlinternalOO|Char|Complex|Condition|Dbm|Digest|Dynlink|" +
340
+ "Event|Filename|Format|Gc|Genarray|Genlex|Graphics|GraphicsX11|Hashtbl|" +
341
+ "Int32|Int64|LargeFile|Lazy|Lexing|List|ListLabels|Make|Map|Marshal|" +
342
+ "MoreLabels|Mutex|Nativeint|Num|Obj|Oo|Parsing|Pervasives|Printexc|" +
343
+ "Printf|Queue|Random|Scanf|Scanning|Set|Sort|Stack|State|StdLabels|Str|" +
344
+ "Stream|String|StringLabels|Sys|Thread|ThreadUnix|Tk|Unix|UnixLabels|Weak"
345
+ ).split("|"));
346
+
347
+ var decimalInteger = "(?:(?:[1-9]\\d*)|(?:0))";
348
+ var octInteger = "(?:0[oO]?[0-7]+)";
349
+ var hexInteger = "(?:0[xX][\\dA-Fa-f]+)";
350
+ var binInteger = "(?:0[bB][01]+)";
351
+ var integer = "(?:" + decimalInteger + "|" + octInteger + "|" + hexInteger + "|" + binInteger + ")";
352
+
353
+ var exponent = "(?:[eE][+-]?\\d+)";
354
+ var fraction = "(?:\\.\\d+)";
355
+ var intPart = "(?:\\d+)";
356
+ var pointFloat = "(?:(?:" + intPart + "?" + fraction + ")|(?:" + intPart + "\\.))";
357
+ var exponentFloat = "(?:(?:" + pointFloat + "|" + intPart + ")" + exponent + ")";
358
+ var floatNumber = "(?:" + exponentFloat + "|" + pointFloat + ")";
359
+
360
+ this.$rules = {
361
+ "start" : [
362
+ {
363
+ token : "comment",
364
+ regex : '\\(\\*.*?\\*\\)\\s*?$'
365
+ },
366
+ {
367
+ token : "comment",
368
+ merge : true,
369
+ regex : '\\(\\*.*',
370
+ next : "comment"
371
+ },
372
+ {
373
+ token : "string", // single line
374
+ regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
375
+ },
376
+ {
377
+ token : "string", // single char
378
+ regex : "'.'"
379
+ },
380
+ {
381
+ token : "string", // " string
382
+ merge : true,
383
+ regex : '"',
384
+ next : "qstring"
385
+ },
386
+ {
387
+ token : "constant.numeric", // imaginary
388
+ regex : "(?:" + floatNumber + "|\\d+)[jJ]\\b"
389
+ },
390
+ {
391
+ token : "constant.numeric", // float
392
+ regex : floatNumber
393
+ },
394
+ {
395
+ token : "constant.numeric", // integer
396
+ regex : integer + "\\b"
397
+ },
398
+ {
399
+ token : function(value) {
400
+ if (keywords.hasOwnProperty(value))
401
+ return "keyword";
402
+ else if (builtinConstants.hasOwnProperty(value))
403
+ return "constant.language";
404
+ else if (builtinFunctions.hasOwnProperty(value))
405
+ return "support.function";
406
+ else
407
+ return "identifier";
408
+ },
409
+ regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
410
+ },
411
+ {
412
+ token : "keyword.operator",
413
+ regex : "\\+\\.|\\-\\.|\\*\\.|\\/\\.|#|;;|\\+|\\-|\\*|\\*\\*\\/|\\/\\/|%|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|<-|="
414
+ },
415
+ {
416
+ token : "paren.lparen",
417
+ regex : "[[({]"
418
+ },
419
+ {
420
+ token : "paren.rparen",
421
+ regex : "[\\])}]"
422
+ },
423
+ {
424
+ token : "text",
425
+ regex : "\\s+"
426
+ }
427
+ ],
428
+ "comment" : [
429
+ {
430
+ token : "comment", // closing comment
431
+ regex : ".*?\\*\\)",
432
+ next : "start"
433
+ },
434
+ {
435
+ token : "comment", // comment spanning whole line
436
+ merge : true,
437
+ regex : ".+"
438
+ }
439
+ ],
440
+
441
+ "qstring" : [
442
+ {
443
+ token : "string",
444
+ regex : '"',
445
+ next : "start"
446
+ }, {
447
+ token : "string",
448
+ merge : true,
449
+ regex : '.+'
450
+ }
451
+ ]
452
+ };
453
+ };
454
+
455
+ oop.inherits(OcamlHighlightRules, TextHighlightRules);
456
+
457
+ exports.OcamlHighlightRules = OcamlHighlightRules;
458
+ });
459
+ /* ***** BEGIN LICENSE BLOCK *****
460
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
461
+ *
462
+ * The contents of this file are subject to the Mozilla Public License Version
463
+ * 1.1 (the "License"); you may not use this file except in compliance with
464
+ * the License. You may obtain a copy of the License at
465
+ * http://www.mozilla.org/MPL/
466
+ *
467
+ * Software distributed under the License is distributed on an "AS IS" basis,
468
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
469
+ * for the specific language governing rights and limitations under the
470
+ * License.
471
+ *
472
+ * The Original Code is Ajax.org Code Editor (ACE).
473
+ *
474
+ * The Initial Developer of the Original Code is
475
+ * Ajax.org B.V.
476
+ * Portions created by the Initial Developer are Copyright (C) 2010
477
+ * the Initial Developer. All Rights Reserved.
478
+ *
479
+ * Contributor(s):
480
+ * Fabian Jakobs <fabian AT ajax DOT org>
481
+ *
482
+ * Alternatively, the contents of this file may be used under the terms of
483
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
484
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
485
+ * in which case the provisions of the GPL or the LGPL are applicable instead
486
+ * of those above. If you wish to allow use of your version of this file only
487
+ * under the terms of either the GPL or the LGPL, and not to allow others to
488
+ * use your version of this file under the terms of the MPL, indicate your
489
+ * decision by deleting the provisions above and replace them with the notice
490
+ * and other provisions required by the GPL or the LGPL. If you do not delete
491
+ * the provisions above, a recipient may use your version of this file under
492
+ * the terms of any one of the MPL, the GPL or the LGPL.
493
+ *
494
+ * ***** END LICENSE BLOCK ***** */
495
+
496
+ define('ace/mode/matching_brace_outdent', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) {
497
+ "use strict";
498
+
499
+ var Range = require("../range").Range;
500
+
501
+ var MatchingBraceOutdent = function() {};
502
+
503
+ (function() {
504
+
505
+ this.checkOutdent = function(line, input) {
506
+ if (! /^\s+$/.test(line))
507
+ return false;
508
+
509
+ return /^\s*\}/.test(input);
510
+ };
511
+
512
+ this.autoOutdent = function(doc, row) {
513
+ var line = doc.getLine(row);
514
+ var match = line.match(/^(\s*\})/);
515
+
516
+ if (!match) return 0;
517
+
518
+ var column = match[1].length;
519
+ var openBracePos = doc.findMatchingBracket({row: row, column: column});
520
+
521
+ if (!openBracePos || openBracePos.row == row) return 0;
522
+
523
+ var indent = this.$getIndent(doc.getLine(openBracePos.row));
524
+ doc.replace(new Range(row, 0, row, column-1), indent);
525
+ };
526
+
527
+ this.$getIndent = function(line) {
528
+ var match = line.match(/^(\s+)/);
529
+ if (match) {
530
+ return match[1];
531
+ }
532
+
533
+ return "";
534
+ };
535
+
536
+ }).call(MatchingBraceOutdent.prototype);
537
+
538
+ exports.MatchingBraceOutdent = MatchingBraceOutdent;
539
+ });