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 @@
1
+ define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/worker/worker_client"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./text").Mode,f=a("../tokenizer").Tokenizer,g=a("./json_highlight_rules").JsonHighlightRules,h=a("./matching_brace_outdent").MatchingBraceOutdent,i=a("./behaviour/cstyle").CstyleBehaviour,j=a("./folding/cstyle").FoldMode,k=a("../worker/worker_client").WorkerClient,l=function(){this.$tokenizer=new f((new g).getRules()),this.$outdent=new h,this.$behaviour=new i,this.foldingRules=new j};d.inherits(l,e),function(){this.getNextLineIndent=function(a,b,c){var d=this.$getIndent(b);if(a=="start"){var e=b.match(/^.*[\{\(\[]\s*$/);e&&(d+=c)}return d},this.checkOutdent=function(a,b,c){return this.$outdent.checkOutdent(b,c)},this.autoOutdent=function(a,b,c){this.$outdent.autoOutdent(b,c)},this.createWorker=function(a){var b=new k(["ace"],"worker-json.js","ace/mode/json_worker","JsonWorker");return b.attachToDocument(a.getDocument()),b.on("error",function(b){a.setAnnotations([b.data])}),b.on("ok",function(){a.clearAnnotations()}),b}}.call(l.prototype),b.Mode=l}),define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./text_highlight_rules").TextHighlightRules,f=function(){this.$rules={start:[{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"invalid.illegal",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"invalid.illegal",regex:"\\/\\/.*$"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}]}};d.inherits(f,e),b.JsonHighlightRules=f}),define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(a,b,c){"use strict";var d=a("../range").Range,e=function(){};((function(){this.checkOutdent=function(a,b){return/^\s+$/.test(a)?/^\s*\}/.test(b):!1},this.autoOutdent=function(a,b){var c=a.getLine(b),e=c.match(/^(\s*\})/);if(!e)return 0;var f=e[1].length,g=a.findMatchingBracket({row:b,column:f});if(!g||g.row==b)return 0;var h=this.$getIndent(a.getLine(g.row));a.replace(new d(b,0,b,f-1),h)},this.$getIndent=function(a){var b=a.match(/^(\s+)/);return b?b[1]:""}})).call(e.prototype),b.MatchingBraceOutdent=e}),define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("../behaviour").Behaviour,f=function(){this.add("braces","insertion",function(a,b,c,d,e){if(e=="{"){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);return g!==""?{text:"{"+g+"}",selection:!1}:{text:"{}",selection:[1,1]}}if(e=="}"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j=="}"){var k=d.$findOpeningBracket("}",{column:h.column+1,row:h.row});if(k!==null)return{text:"",selection:[1,1]}}}else if(e=="\n"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j=="}"){var l=d.findMatchingBracket({row:h.row,column:h.column+1});if(!l)return null;var m=this.getNextLineIndent(a,i.substring(0,i.length-1),d.getTabString()),n=this.$getIndent(d.doc.getLine(l.row));return{text:"\n"+m+"\n"+n,selection:[1,m.length,1,m.length]}}}}),this.add("braces","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&f=="{"){var g=d.doc.getLine(e.start.row),h=g.substring(e.end.column,e.end.column+1);if(h=="}")return e.end.column++,e}}),this.add("parens","insertion",function(a,b,c,d,e){if(e=="("){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);return g!==""?{text:"("+g+")",selection:!1}:{text:"()",selection:[1,1]}}if(e==")"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j==")"){var k=d.$findOpeningBracket(")",{column:h.column+1,row:h.row});if(k!==null)return{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&f=="("){var g=d.doc.getLine(e.start.row),h=g.substring(e.start.column+1,e.start.column+2);if(h==")")return e.end.column++,e}}),this.add("string_dquotes","insertion",function(a,b,c,d,e){if(e=='"'){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);if(g!=="")return{text:'"'+g+'"',selection:!1};var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column-1,h.column);if(j=="\\")return null;var k=d.getTokens(f.start.row,f.start.row)[0].tokens,l=0,m,n=-1;for(var o=0;o<k.length;o++){m=k[o],m.type=="string"?n=-1:n<0&&(n=m.value.indexOf('"'));if(m.value.length+l>f.start.column)break;l+=k[o].value.length}if(!m||n<0&&m.type!=="comment"&&(m.type!=="string"||f.start.column!==m.value.length+l-1&&m.value.lastIndexOf('"')===m.value.length-1))return{text:'""',selection:[1,1]};if(m&&m.type==="string"){var p=i.substring(h.column,h.column+1);if(p=='"')return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&f=='"'){var g=d.doc.getLine(e.start.row),h=g.substring(e.start.column+1,e.start.column+2);if(h=='"')return e.end.column++,e}})};d.inherits(f,e),b.CstyleBehaviour=f}),define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("../../range").Range,f=a("./fold_mode").FoldMode,g=b.FoldMode=function(){};d.inherits(g,f),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(a,b,c){var d=a.getLine(c),f=d.match(this.foldingStartMarker);if(f){var g=f.index;if(f[1])return this.openingBracketBlock(a,f[1],c,g);var h=a.getCommentFoldRange(c,g+f[0].length);return h.end.column-=2,h}if(b!=="markbeginend")return;var f=d.match(this.foldingStopMarker);if(f){var g=f.index+f[0].length;if(f[2]){var h=a.getCommentFoldRange(c,g);return h.end.column-=2,h}var i={row:c,column:g},j=a.$findOpeningBracket(f[1],i);if(!j)return;return j.column++,i.column--,e.fromPoints(j,i)}}}.call(g.prototype)}),define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(a,b,c){"use strict";var d=a("../../range").Range,e=b.FoldMode=function(){};((function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(a,b,c){var d=a.getLine(c);return this.foldingStartMarker.test(d)?"start":b=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(d)?"end":""},this.getFoldWidgetRange=function(a,b,c){return null},this.indentationBlock=function(a,b,c){var e=/^\s*/,f=b,g=b,h=a.getLine(b),i=c||h.length,j=h.match(e)[0].length,k=a.getLength();while(++b<k){h=a.getLine(b);var l=h.match(e)[0].length;if(l==h.length)continue;if(l<=j)break;g=b}if(g>f){var m=a.getLine(g).length;return new d(f,i,g,m)}},this.openingBracketBlock=function(a,b,c,e){var f={row:c,column:e+1},g=a.$findClosingBracket(b,f);if(!g)return;var h=a.foldWidgets[g.row];return h==null&&(h=this.getFoldWidget(a,g.row)),h=="start"&&(g.row--,g.column=a.getLine(g.row).length),d.fromPoints(f,g)}})).call(e.prototype)})
@@ -0,0 +1 @@
1
+ ace.define("ace/mode/latex",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/latex_highlight_rules","ace/range"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./text").Mode,f=a("../tokenizer").Tokenizer,g=a("./latex_highlight_rules").LatexHighlightRules,h=a("../range").Range,i=function(){this.$tokenizer=new f((new g).getRules())};d.inherits(i,e),function(){this.toggleCommentLines=function(a,b,c,d){var e=!0,f=/^(\s*)\%/;for(var g=c;g<=d;g++)if(!f.test(b.getLine(g))){e=!1;break}if(e){var i=new h(0,0,0,0);for(var g=c;g<=d;g++){var j=b.getLine(g),k=j.match(f);i.start.row=g,i.end.row=g,i.end.column=k[0].length,b.replace(i,k[1])}}else b.indentRows(c,d,"%")},this.getNextLineIndent=function(a,b,c){return this.$getIndent(b)}}.call(i.prototype),b.Mode=i}),ace.define("ace/mode/latex_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./text_highlight_rules").TextHighlightRules,f=function(){this.$rules={start:[{token:"keyword",regex:"\\\\(?:[^a-zA-Z]|[a-zA-Z]+)"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"string",regex:"\\$(?:(?:\\\\.)|(?:[^\\$\\\\]))*?\\$"},{token:"comment",regex:"%.*$"}]}};d.inherits(f,e),b.LatexHighlightRules=f})
@@ -0,0 +1,95 @@
1
+ ace.define('ace/mode/latex', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/latex_highlight_rules', 'ace/range'], function(require, exports, module) {
2
+ "use strict";
3
+
4
+ var oop = require("../lib/oop");
5
+ var TextMode = require("./text").Mode;
6
+ var Tokenizer = require("../tokenizer").Tokenizer;
7
+ var LatexHighlightRules = require("./latex_highlight_rules").LatexHighlightRules;
8
+ var Range = require("../range").Range;
9
+
10
+ var Mode = function()
11
+ {
12
+ this.$tokenizer = new Tokenizer(new LatexHighlightRules().getRules());
13
+ };
14
+ oop.inherits(Mode, TextMode);
15
+
16
+ (function() {
17
+ this.toggleCommentLines = function(state, doc, startRow, endRow) {
18
+ // This code is adapted from ruby.js
19
+ var outdent = true;
20
+
21
+ // LaTeX comments begin with % and go to the end of the line
22
+ var commentRegEx = /^(\s*)\%/;
23
+
24
+ for (var i = startRow; i <= endRow; i++) {
25
+ if (!commentRegEx.test(doc.getLine(i))) {
26
+ outdent = false;
27
+ break;
28
+ }
29
+ }
30
+
31
+ if (outdent) {
32
+ var deleteRange = new Range(0, 0, 0, 0);
33
+ for (var i = startRow; i <= endRow; i++) {
34
+ var line = doc.getLine(i);
35
+ var m = line.match(commentRegEx);
36
+ deleteRange.start.row = i;
37
+ deleteRange.end.row = i;
38
+ deleteRange.end.column = m[0].length;
39
+ doc.replace(deleteRange, m[1]);
40
+ }
41
+ }
42
+ else {
43
+ doc.indentRows(startRow, endRow, "%");
44
+ }
45
+ };
46
+
47
+ // There is no universally accepted way of indenting a tex document
48
+ // so just maintain the indentation of the previous line
49
+ this.getNextLineIndent = function(state, line, tab) {
50
+ return this.$getIndent(line);
51
+ };
52
+
53
+ }).call(Mode.prototype);
54
+
55
+ exports.Mode = Mode;
56
+
57
+ });
58
+ ace.define('ace/mode/latex_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) {
59
+ "use strict";
60
+
61
+ var oop = require("../lib/oop");
62
+ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
63
+
64
+ var LatexHighlightRules = function() {
65
+ this.$rules = {
66
+ "start" : [{
67
+ // A tex command e.g. \foo
68
+ token : "keyword",
69
+ regex : "\\\\(?:[^a-zA-Z]|[a-zA-Z]+)",
70
+ }, {
71
+ // Curly and square braces
72
+ token : "lparen",
73
+ regex : "[[({]"
74
+ }, {
75
+ // Curly and square braces
76
+ token : "rparen",
77
+ regex : "[\\])}]"
78
+ }, {
79
+ // Inline math between two $ symbols
80
+ token : "string",
81
+ regex : "\\$(?:(?:\\\\.)|(?:[^\\$\\\\]))*?\\$"
82
+ }, {
83
+ // A comment. Tex comments start with % and go to
84
+ // the end of the line
85
+ token : "comment",
86
+ regex : "%.*$"
87
+ }]
88
+ };
89
+ };
90
+
91
+ oop.inherits(LatexHighlightRules, TextHighlightRules);
92
+
93
+ exports.LatexHighlightRules = LatexHighlightRules;
94
+
95
+ });
@@ -0,0 +1,95 @@
1
+ define('ace/mode/latex', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/latex_highlight_rules', 'ace/range'], function(require, exports, module) {
2
+ "use strict";
3
+
4
+ var oop = require("../lib/oop");
5
+ var TextMode = require("./text").Mode;
6
+ var Tokenizer = require("../tokenizer").Tokenizer;
7
+ var LatexHighlightRules = require("./latex_highlight_rules").LatexHighlightRules;
8
+ var Range = require("../range").Range;
9
+
10
+ var Mode = function()
11
+ {
12
+ this.$tokenizer = new Tokenizer(new LatexHighlightRules().getRules());
13
+ };
14
+ oop.inherits(Mode, TextMode);
15
+
16
+ (function() {
17
+ this.toggleCommentLines = function(state, doc, startRow, endRow) {
18
+ // This code is adapted from ruby.js
19
+ var outdent = true;
20
+
21
+ // LaTeX comments begin with % and go to the end of the line
22
+ var commentRegEx = /^(\s*)\%/;
23
+
24
+ for (var i = startRow; i <= endRow; i++) {
25
+ if (!commentRegEx.test(doc.getLine(i))) {
26
+ outdent = false;
27
+ break;
28
+ }
29
+ }
30
+
31
+ if (outdent) {
32
+ var deleteRange = new Range(0, 0, 0, 0);
33
+ for (var i = startRow; i <= endRow; i++) {
34
+ var line = doc.getLine(i);
35
+ var m = line.match(commentRegEx);
36
+ deleteRange.start.row = i;
37
+ deleteRange.end.row = i;
38
+ deleteRange.end.column = m[0].length;
39
+ doc.replace(deleteRange, m[1]);
40
+ }
41
+ }
42
+ else {
43
+ doc.indentRows(startRow, endRow, "%");
44
+ }
45
+ };
46
+
47
+ // There is no universally accepted way of indenting a tex document
48
+ // so just maintain the indentation of the previous line
49
+ this.getNextLineIndent = function(state, line, tab) {
50
+ return this.$getIndent(line);
51
+ };
52
+
53
+ }).call(Mode.prototype);
54
+
55
+ exports.Mode = Mode;
56
+
57
+ });
58
+ define('ace/mode/latex_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) {
59
+ "use strict";
60
+
61
+ var oop = require("../lib/oop");
62
+ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
63
+
64
+ var LatexHighlightRules = function() {
65
+ this.$rules = {
66
+ "start" : [{
67
+ // A tex command e.g. \foo
68
+ token : "keyword",
69
+ regex : "\\\\(?:[^a-zA-Z]|[a-zA-Z]+)",
70
+ }, {
71
+ // Curly and square braces
72
+ token : "lparen",
73
+ regex : "[[({]"
74
+ }, {
75
+ // Curly and square braces
76
+ token : "rparen",
77
+ regex : "[\\])}]"
78
+ }, {
79
+ // Inline math between two $ symbols
80
+ token : "string",
81
+ regex : "\\$(?:(?:\\\\.)|(?:[^\\$\\\\]))*?\\$"
82
+ }, {
83
+ // A comment. Tex comments start with % and go to
84
+ // the end of the line
85
+ token : "comment",
86
+ regex : "%.*$"
87
+ }]
88
+ };
89
+ };
90
+
91
+ oop.inherits(LatexHighlightRules, TextHighlightRules);
92
+
93
+ exports.LatexHighlightRules = LatexHighlightRules;
94
+
95
+ });
@@ -0,0 +1 @@
1
+ define("ace/mode/latex",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/latex_highlight_rules","ace/range"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./text").Mode,f=a("../tokenizer").Tokenizer,g=a("./latex_highlight_rules").LatexHighlightRules,h=a("../range").Range,i=function(){this.$tokenizer=new f((new g).getRules())};d.inherits(i,e),function(){this.toggleCommentLines=function(a,b,c,d){var e=!0,f=/^(\s*)\%/;for(var g=c;g<=d;g++)if(!f.test(b.getLine(g))){e=!1;break}if(e){var i=new h(0,0,0,0);for(var g=c;g<=d;g++){var j=b.getLine(g),k=j.match(f);i.start.row=g,i.end.row=g,i.end.column=k[0].length,b.replace(i,k[1])}}else b.indentRows(c,d,"%")},this.getNextLineIndent=function(a,b,c){return this.$getIndent(b)}}.call(i.prototype),b.Mode=i}),define("ace/mode/latex_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./text_highlight_rules").TextHighlightRules,f=function(){this.$rules={start:[{token:"keyword",regex:"\\\\(?:[^a-zA-Z]|[a-zA-Z]+)"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"string",regex:"\\$(?:(?:\\\\.)|(?:[^\\$\\\\]))*?\\$"},{token:"comment",regex:"%.*$"}]}};d.inherits(f,e),b.LatexHighlightRules=f})
@@ -0,0 +1 @@
1
+ ace.define("ace/mode/lua",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/lua_highlight_rules"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./text").Mode,f=a("../tokenizer").Tokenizer,g=a("./lua_highlight_rules").LuaHighlightRules,h=function(){this.$tokenizer=new f((new g).getRules())};d.inherits(h,e),function(){this.getNextLineIndent=function(a,b,c){var d=this.$getIndent(b),e=this.$tokenizer.getLineTokens(b,a),f=e.tokens,g=["function","then","do","repeat"];if(a=="start"){var h=b.match(/^.*[\{\(\[]\s*$/);if(h)d+=c;else for(var i in f){var j=f[i];if(j.type!="keyword")continue;var k=g.indexOf(j.value);if(k!=-1){d+=c;break}}}return d}}.call(h.prototype),b.Mode=h}),ace.define("ace/mode/lua_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("../lib/lang"),f=a("./text_highlight_rules").TextHighlightRules,g=function(){var a=e.arrayToMap("break|do|else|elseif|end|for|function|if|in|local|repeat|return|then|until|while|or|and|not".split("|")),b=e.arrayToMap("true|false|nil|_G|_VERSION".split("|")),c=e.arrayToMap("string|xpcall|package|tostring|print|os|unpack|require|getfenv|setmetatable|next|assert|tonumber|io|rawequal|collectgarbage|getmetatable|module|rawset|math|debug|pcall|table|newproxy|type|coroutine|_G|select|gcinfo|pairs|rawget|loadstring|ipairs|_VERSION|dofile|setfenv|load|error|loadfile|sub|upper|len|gfind|rep|find|match|char|dump|gmatch|reverse|byte|format|gsub|lower|preload|loadlib|loaded|loaders|cpath|config|path|seeall|exit|setlocale|date|getenv|difftime|remove|time|clock|tmpname|rename|execute|lines|write|close|flush|open|output|type|read|stderr|stdin|input|stdout|popen|tmpfile|log|max|acos|huge|ldexp|pi|cos|tanh|pow|deg|tan|cosh|sinh|random|randomseed|frexp|ceil|floor|rad|abs|sqrt|modf|asin|min|mod|fmod|log10|atan2|exp|sin|atan|getupvalue|debug|sethook|getmetatable|gethook|setmetatable|setlocal|traceback|setfenv|getinfo|setupvalue|getlocal|getregistry|getfenv|setn|insert|getn|foreachi|maxn|foreach|concat|sort|remove|resume|yield|status|wrap|create|running".split("|")),d=e.arrayToMap("string|package|os|io|math|debug|table|coroutine".split("|")),f=e.arrayToMap("__add|__sub|__mod|__unm|__concat|__lt|__index|__call|__gc|__metatable|__mul|__div|__pow|__len|__eq|__le|__newindex|__tostring|__mode|__tonumber".split("|")),g=e.arrayToMap("".split("|")),h=e.arrayToMap("setn|foreach|foreachi|gcinfo|log10|maxn".split("|")),i="",j="(?:(?:[1-9]\\d*)|(?:0))",k="(?:0[xX][\\dA-Fa-f]+)",l="(?:"+j+"|"+k+")",m="(?:\\.\\d+)",n="(?:\\d+)",o="(?:(?:"+n+"?"+m+")|(?:"+n+"\\.))",p="(?:"+o+")",q=[];this.$rules={start:[{token:"comment",regex:i+"\\-\\-\\[\\[.*\\]\\]"},{token:"comment",regex:i+"\\-\\-\\[\\=\\[.*\\]\\=\\]"},{token:"comment",regex:i+"\\-\\-\\[\\={2}\\[.*\\]\\={2}\\]"},{token:"comment",regex:i+"\\-\\-\\[\\={3}\\[.*\\]\\={3}\\]"},{token:"comment",regex:i+"\\-\\-\\[\\={4}\\[.*\\]\\={4}\\]"},{token:"comment",regex:i+"\\-\\-\\[\\={5}\\=*\\[.*\\]\\={5}\\=*\\]"},{token:"comment",regex:i+"\\-\\-\\[\\[.*$",merge:!0,next:"qcomment"},{token:"comment",regex:i+"\\-\\-\\[\\=\\[.*$",merge:!0,next:"qcomment1"},{token:"comment",regex:i+"\\-\\-\\[\\={2}\\[.*$",merge:!0,next:"qcomment2"},{token:"comment",regex:i+"\\-\\-\\[\\={3}\\[.*$",merge:!0,next:"qcomment3"},{token:"comment",regex:i+"\\-\\-\\[\\={4}\\[.*$",merge:!0,next:"qcomment4"},{token:function(a){var b=/\-\-\[(\=+)\[/,c;return(c=b.exec(a))!=null&&(c=c[1])!=undefined&&q.push(c.length),"comment"},regex:i+"\\-\\-\\[\\={5}\\=*\\[.*$",merge:!0,next:"qcomment5"},{token:"comment",regex:"\\-\\-.*$"},{token:"string",regex:i+"\\[\\[.*\\]\\]"},{token:"string",regex:i+"\\[\\=\\[.*\\]\\=\\]"},{token:"string",regex:i+"\\[\\={2}\\[.*\\]\\={2}\\]"},{token:"string",regex:i+"\\[\\={3}\\[.*\\]\\={3}\\]"},{token:"string",regex:i+"\\[\\={4}\\[.*\\]\\={4}\\]"},{token:"string",regex:i+"\\[\\={5}\\=*\\[.*\\]\\={5}\\=*\\]"},{token:"string",regex:i+"\\[\\[.*$",merge:!0,next:"qstring"},{token:"string",regex:i+"\\[\\=\\[.*$",merge:!0,next:"qstring1"},{token:"string",regex:i+"\\[\\={2}\\[.*$",merge:!0,next:"qstring2"},{token:"string",regex:i+"\\[\\={3}\\[.*$",merge:!0,next:"qstring3"},{token:"string",regex:i+"\\[\\={4}\\[.*$",merge:!0,next:"qstring4"},{token:function(a){var b=/\[(\=+)\[/,c;return(c=b.exec(a))!=null&&(c=c[1])!=undefined&&q.push(c.length),"string"},regex:i+"\\[\\={5}\\=*\\[.*$",merge:!0,next:"qstring5"},{token:"string",regex:i+'"(?:[^\\\\]|\\\\.)*?"'},{token:"string",regex:i+"'(?:[^\\\\]|\\\\.)*?'"},{token:"constant.numeric",regex:p},{token:"constant.numeric",regex:l+"\\b"},{token:function(e){return a.hasOwnProperty(e)?"keyword":b.hasOwnProperty(e)?"constant.language":g.hasOwnProperty(e)?"invalid.illegal":d.hasOwnProperty(e)?"constant.library":h.hasOwnProperty(e)?"invalid.deprecated":c.hasOwnProperty(e)?"support.function":f.hasOwnProperty(e)?"support.function":"identifier"},regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\/|%|\\#|\\^|~|<|>|<=|=>|==|~=|=|\\:|\\.\\.\\.|\\.\\."},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:"text",regex:"\\s+"}],qcomment:[{token:"comment",regex:"(?:[^\\\\]|\\\\.)*?\\]\\]",next:"start"},{token:"comment",merge:!0,regex:".+"}],qcomment1:[{token:"comment",regex:"(?:[^\\\\]|\\\\.)*?\\]\\=\\]",next:"start"},{token:"comment",merge:!0,regex:".+"}],qcomment2:[{token:"comment",regex:"(?:[^\\\\]|\\\\.)*?\\]\\={2}\\]",next:"start"},{token:"comment",merge:!0,regex:".+"}],qcomment3:[{token:"comment",regex:"(?:[^\\\\]|\\\\.)*?\\]\\={3}\\]",next:"start"},{token:"comment",merge:!0,regex:".+"}],qcomment4:[{token:"comment",regex:"(?:[^\\\\]|\\\\.)*?\\]\\={4}\\]",next:"start"},{token:"comment",merge:!0,regex:".+"}],qcomment5:[{token:function(a){var b=/\](\=+)\]/,c=this.rules.qcomment5[0],d;c.next="start";if((d=b.exec(a))!=null&&(d=d[1])!=undefined){var e=d.length,f;(f=q.pop())!=e&&(q.push(f),c.next="qcomment5")}return"comment"},regex:"(?:[^\\\\]|\\\\.)*?\\]\\={5}\\=*\\]",next:"start"},{token:"comment",merge:!0,regex:".+"}],qstring:[{token:"string",regex:"(?:[^\\\\]|\\\\.)*?\\]\\]",next:"start"},{token:"string",merge:!0,regex:".+"}],qstring1:[{token:"string",regex:"(?:[^\\\\]|\\\\.)*?\\]\\=\\]",next:"start"},{token:"string",merge:!0,regex:".+"}],qstring2:[{token:"string",regex:"(?:[^\\\\]|\\\\.)*?\\]\\={2}\\]",next:"start"},{token:"string",merge:!0,regex:".+"}],qstring3:[{token:"string",regex:"(?:[^\\\\]|\\\\.)*?\\]\\={3}\\]",next:"start"},{token:"string",merge:!0,regex:".+"}],qstring4:[{token:"string",regex:"(?:[^\\\\]|\\\\.)*?\\]\\={4}\\]",next:"start"},{token:"string",merge:!0,regex:".+"}],qstring5:[{token:function(a){var b=/\](\=+)\]/,c=this.rules.qstring5[0],d;c.next="start";if((d=b.exec(a))!=null&&(d=d[1])!=undefined){var e=d.length,f;(f=q.pop())!=e&&(q.push(f),c.next="qstring5")}return"string"},regex:"(?:[^\\\\]|\\\\.)*?\\]\\={5}\\=*\\]",next:"start"},{token:"string",merge:!0,regex:".+"}]}};d.inherits(g,f),b.LuaHighlightRules=g})
@@ -0,0 +1,523 @@
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
+ * Fabian Jakobs <fabian AT ajax DOT org>
23
+ * Colin Gourlay <colin DOT j DOT gourlay AT gmail DOT com>
24
+ * Lee Gao
25
+ *
26
+ * Alternatively, the contents of this file may be used under the terms of
27
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
28
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
29
+ * in which case the provisions of the GPL or the LGPL are applicable instead
30
+ * of those above. If you wish to allow use of your version of this file only
31
+ * under the terms of either the GPL or the LGPL, and not to allow others to
32
+ * use your version of this file under the terms of the MPL, indicate your
33
+ * decision by deleting the provisions above and replace them with the notice
34
+ * and other provisions required by the GPL or the LGPL. If you do not delete
35
+ * the provisions above, a recipient may use your version of this file under
36
+ * the terms of any one of the MPL, the GPL or the LGPL.
37
+ *
38
+ * ***** END LICENSE BLOCK ***** */
39
+
40
+ ace.define('ace/mode/lua', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/lua_highlight_rules'], function(require, exports, module) {
41
+ "use strict";
42
+
43
+ var oop = require("../lib/oop");
44
+ var TextMode = require("./text").Mode;
45
+ var Tokenizer = require("../tokenizer").Tokenizer;
46
+ var LuaHighlightRules = require("./lua_highlight_rules").LuaHighlightRules;
47
+
48
+ var Mode = function() {
49
+ this.$tokenizer = new Tokenizer(new LuaHighlightRules().getRules());
50
+ };
51
+ oop.inherits(Mode, TextMode);
52
+
53
+ (function() {
54
+ this.getNextLineIndent = function(state, line, tab) {
55
+ var indent = this.$getIndent(line);
56
+
57
+ var tokenizedLine = this.$tokenizer.getLineTokens(line, state);
58
+ var tokens = tokenizedLine.tokens;
59
+
60
+ var chunks = ["function", "then", "do", "repeat"];
61
+
62
+ if (state == "start") {
63
+ var match = line.match(/^.*[\{\(\[]\s*$/);
64
+ if (match) {
65
+ indent += tab;
66
+ } else {
67
+ for (var i in tokens){
68
+ var token = tokens[i];
69
+ if (token.type != "keyword") continue;
70
+ var chunk_i = chunks.indexOf(token.value);
71
+ if (chunk_i != -1){
72
+ indent += tab;
73
+ break;
74
+ }
75
+ }
76
+ }
77
+ }
78
+
79
+ return indent;
80
+ };
81
+
82
+ }).call(Mode.prototype);
83
+
84
+ exports.Mode = Mode;
85
+ });
86
+
87
+
88
+ /* ***** BEGIN LICENSE BLOCK *****
89
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
90
+ *
91
+ * The contents of this file are subject to the Mozilla Public License Version
92
+ * 1.1 (the "License"); you may not use this file except in compliance with
93
+ * the License. You may obtain a copy of the License at
94
+ * http://www.mozilla.org/MPL/
95
+ *
96
+ * Software distributed under the License is distributed on an "AS IS" basis,
97
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
98
+ * for the specific language governing rights and limitations under the
99
+ * License.
100
+ *
101
+ * The Original Code is Ajax.org Code Editor (ACE).
102
+ *
103
+ * The Initial Developer of the Original Code is
104
+ * Ajax.org B.V.
105
+ * Portions created by the Initial Developer are Copyright (C) 2010
106
+ * the Initial Developer. All Rights Reserved.
107
+ *
108
+ * Contributor(s):
109
+ * Fabian Jakobs <fabian AT ajax DOT org>
110
+ * Colin Gourlay <colin DOT j DOT gourlay AT gmail DOT com>
111
+ * Lee Gao
112
+ *
113
+ * Alternatively, the contents of this file may be used under the terms of
114
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
115
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
116
+ * in which case the provisions of the GPL or the LGPL are applicable instead
117
+ * of those above. If you wish to allow use of your version of this file only
118
+ * under the terms of either the GPL or the LGPL, and not to allow others to
119
+ * use your version of this file under the terms of the MPL, indicate your
120
+ * decision by deleting the provisions above and replace them with the notice
121
+ * and other provisions required by the GPL or the LGPL. If you do not delete
122
+ * the provisions above, a recipient may use your version of this file under
123
+ * the terms of any one of the MPL, the GPL or the LGPL.
124
+ *
125
+ * ***** END LICENSE BLOCK ***** */
126
+
127
+ ace.define('ace/mode/lua_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/lang', 'ace/mode/text_highlight_rules'], function(require, exports, module) {
128
+ "use strict";
129
+
130
+ var oop = require("../lib/oop");
131
+ var lang = require("../lib/lang");
132
+ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
133
+
134
+ var LuaHighlightRules = function() {
135
+
136
+ var keywords = lang.arrayToMap(
137
+ ("break|do|else|elseif|end|for|function|if|in|local|repeat|"+
138
+ "return|then|until|while|or|and|not").split("|")
139
+ );
140
+
141
+ var builtinConstants = lang.arrayToMap(
142
+ ("true|false|nil|_G|_VERSION").split("|")
143
+ );
144
+
145
+ var builtinFunctions = lang.arrayToMap(
146
+ ("string|xpcall|package|tostring|print|os|unpack|require|"+
147
+ "getfenv|setmetatable|next|assert|tonumber|io|rawequal|"+
148
+ "collectgarbage|getmetatable|module|rawset|math|debug|"+
149
+ "pcall|table|newproxy|type|coroutine|_G|select|gcinfo|"+
150
+ "pairs|rawget|loadstring|ipairs|_VERSION|dofile|setfenv|"+
151
+ "load|error|loadfile|"+
152
+
153
+ "sub|upper|len|gfind|rep|find|match|char|dump|gmatch|"+
154
+ "reverse|byte|format|gsub|lower|preload|loadlib|loaded|"+
155
+ "loaders|cpath|config|path|seeall|exit|setlocale|date|"+
156
+ "getenv|difftime|remove|time|clock|tmpname|rename|execute|"+
157
+ "lines|write|close|flush|open|output|type|read|stderr|"+
158
+ "stdin|input|stdout|popen|tmpfile|log|max|acos|huge|"+
159
+ "ldexp|pi|cos|tanh|pow|deg|tan|cosh|sinh|random|randomseed|"+
160
+ "frexp|ceil|floor|rad|abs|sqrt|modf|asin|min|mod|fmod|log10|"+
161
+ "atan2|exp|sin|atan|getupvalue|debug|sethook|getmetatable|"+
162
+ "gethook|setmetatable|setlocal|traceback|setfenv|getinfo|"+
163
+ "setupvalue|getlocal|getregistry|getfenv|setn|insert|getn|"+
164
+ "foreachi|maxn|foreach|concat|sort|remove|resume|yield|"+
165
+ "status|wrap|create|running").split("|")
166
+ );
167
+
168
+ var stdLibaries = lang.arrayToMap(
169
+ ("string|package|os|io|math|debug|table|coroutine").split("|")
170
+ );
171
+
172
+ var metatableMethods = lang.arrayToMap(
173
+ ("__add|__sub|__mod|__unm|__concat|__lt|__index|__call|__gc|__metatable|"+
174
+ "__mul|__div|__pow|__len|__eq|__le|__newindex|__tostring|__mode|__tonumber").split("|")
175
+ );
176
+
177
+ var futureReserved = lang.arrayToMap(
178
+ ("").split("|")
179
+ );
180
+
181
+ var deprecatedIn5152 = lang.arrayToMap(
182
+ ("setn|foreach|foreachi|gcinfo|log10|maxn").split("|")
183
+ );
184
+
185
+ var strPre = "";
186
+
187
+ var decimalInteger = "(?:(?:[1-9]\\d*)|(?:0))";
188
+ var hexInteger = "(?:0[xX][\\dA-Fa-f]+)";
189
+ var integer = "(?:" + decimalInteger + "|" + hexInteger + ")";
190
+
191
+ var fraction = "(?:\\.\\d+)";
192
+ var intPart = "(?:\\d+)";
193
+ var pointFloat = "(?:(?:" + intPart + "?" + fraction + ")|(?:" + intPart + "\\.))";
194
+ var floatNumber = "(?:" + pointFloat + ")";
195
+
196
+ var comment_stack = [];
197
+
198
+ this.$rules = {
199
+ "start" :
200
+
201
+
202
+ // bracketed comments
203
+ [{
204
+ token : "comment", // --[[ comment
205
+ regex : strPre + '\\-\\-\\[\\[.*\\]\\]'
206
+ }, {
207
+ token : "comment", // --[=[ comment
208
+ regex : strPre + '\\-\\-\\[\\=\\[.*\\]\\=\\]'
209
+ }, {
210
+ token : "comment", // --[==[ comment
211
+ regex : strPre + '\\-\\-\\[\\={2}\\[.*\\]\\={2}\\]'
212
+ }, {
213
+ token : "comment", // --[===[ comment
214
+ regex : strPre + '\\-\\-\\[\\={3}\\[.*\\]\\={3}\\]'
215
+ }, {
216
+ token : "comment", // --[====[ comment
217
+ regex : strPre + '\\-\\-\\[\\={4}\\[.*\\]\\={4}\\]'
218
+ }, {
219
+ token : "comment", // --[====+[ comment
220
+ regex : strPre + '\\-\\-\\[\\={5}\\=*\\[.*\\]\\={5}\\=*\\]'
221
+ },
222
+
223
+ // multiline bracketed comments
224
+ {
225
+ token : "comment", // --[[ comment
226
+ regex : strPre + '\\-\\-\\[\\[.*$',
227
+ merge : true,
228
+ next : "qcomment"
229
+ }, {
230
+ token : "comment", // --[=[ comment
231
+ regex : strPre + '\\-\\-\\[\\=\\[.*$',
232
+ merge : true,
233
+ next : "qcomment1"
234
+ }, {
235
+ token : "comment", // --[==[ comment
236
+ regex : strPre + '\\-\\-\\[\\={2}\\[.*$',
237
+ merge : true,
238
+ next : "qcomment2"
239
+ }, {
240
+ token : "comment", // --[===[ comment
241
+ regex : strPre + '\\-\\-\\[\\={3}\\[.*$',
242
+ merge : true,
243
+ next : "qcomment3"
244
+ }, {
245
+ token : "comment", // --[====[ comment
246
+ regex : strPre + '\\-\\-\\[\\={4}\\[.*$',
247
+ merge : true,
248
+ next : "qcomment4"
249
+ }, {
250
+ token : function(value){ // --[====+[ comment
251
+ // WARNING: EXTREMELY SLOW, but this is the only way to circumvent the
252
+ // limits imposed by the current automaton.
253
+ // I've never personally seen any practical code where 5 or more '='s are
254
+ // used for string or commenting, so this will rarely be invoked.
255
+ var pattern = /\-\-\[(\=+)\[/, match;
256
+ // you can never be too paranoid ;)
257
+ if ((match = pattern.exec(value)) != null && (match = match[1]) != undefined)
258
+ comment_stack.push(match.length);
259
+
260
+ return "comment";
261
+ },
262
+ regex : strPre + '\\-\\-\\[\\={5}\\=*\\[.*$',
263
+ merge : true,
264
+ next : "qcomment5"
265
+ },
266
+
267
+ // single line comments
268
+ {
269
+ token : "comment",
270
+ regex : "\\-\\-.*$"
271
+ },
272
+
273
+ // bracketed strings
274
+ {
275
+ token : "string", // [[ string
276
+ regex : strPre + '\\[\\[.*\\]\\]'
277
+ }, {
278
+ token : "string", // [=[ string
279
+ regex : strPre + '\\[\\=\\[.*\\]\\=\\]'
280
+ }, {
281
+ token : "string", // [==[ string
282
+ regex : strPre + '\\[\\={2}\\[.*\\]\\={2}\\]'
283
+ }, {
284
+ token : "string", // [===[ string
285
+ regex : strPre + '\\[\\={3}\\[.*\\]\\={3}\\]'
286
+ }, {
287
+ token : "string", // [====[ string
288
+ regex : strPre + '\\[\\={4}\\[.*\\]\\={4}\\]'
289
+ }, {
290
+ token : "string", // [====+[ string
291
+ regex : strPre + '\\[\\={5}\\=*\\[.*\\]\\={5}\\=*\\]'
292
+ },
293
+
294
+ // multiline bracketed strings
295
+ {
296
+ token : "string", // [[ string
297
+ regex : strPre + '\\[\\[.*$',
298
+ merge : true,
299
+ next : "qstring"
300
+ }, {
301
+ token : "string", // [=[ string
302
+ regex : strPre + '\\[\\=\\[.*$',
303
+ merge : true,
304
+ next : "qstring1"
305
+ }, {
306
+ token : "string", // [==[ string
307
+ regex : strPre + '\\[\\={2}\\[.*$',
308
+ merge : true,
309
+ next : "qstring2"
310
+ }, {
311
+ token : "string", // [===[ string
312
+ regex : strPre + '\\[\\={3}\\[.*$',
313
+ merge : true,
314
+ next : "qstring3"
315
+ }, {
316
+ token : "string", // [====[ string
317
+ regex : strPre + '\\[\\={4}\\[.*$',
318
+ merge : true,
319
+ next : "qstring4"
320
+ }, {
321
+ token : function(value){ // --[====+[ string
322
+ // WARNING: EXTREMELY SLOW, see above.
323
+ var pattern = /\[(\=+)\[/, match;
324
+ if ((match = pattern.exec(value)) != null && (match = match[1]) != undefined)
325
+ comment_stack.push(match.length);
326
+
327
+ return "string";
328
+ },
329
+ regex : strPre + '\\[\\={5}\\=*\\[.*$',
330
+ merge : true,
331
+ next : "qstring5"
332
+ },
333
+
334
+ {
335
+ token : "string", // " string
336
+ regex : strPre + '"(?:[^\\\\]|\\\\.)*?"'
337
+ }, {
338
+ token : "string", // ' string
339
+ regex : strPre + "'(?:[^\\\\]|\\\\.)*?'"
340
+ }, {
341
+ token : "constant.numeric", // float
342
+ regex : floatNumber
343
+ }, {
344
+ token : "constant.numeric", // integer
345
+ regex : integer + "\\b"
346
+ }, {
347
+ token : function(value) {
348
+ if (keywords.hasOwnProperty(value))
349
+ return "keyword";
350
+ else if (builtinConstants.hasOwnProperty(value))
351
+ return "constant.language";
352
+ else if (futureReserved.hasOwnProperty(value))
353
+ return "invalid.illegal";
354
+ else if (stdLibaries.hasOwnProperty(value))
355
+ return "constant.library";
356
+ else if (deprecatedIn5152.hasOwnProperty(value))
357
+ return "invalid.deprecated";
358
+ else if (builtinFunctions.hasOwnProperty(value))
359
+ return "support.function";
360
+ else if (metatableMethods.hasOwnProperty(value))
361
+ return "support.function";
362
+ else
363
+ return "identifier";
364
+ },
365
+ regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
366
+ }, {
367
+ token : "keyword.operator",
368
+ regex : "\\+|\\-|\\*|\\/|%|\\#|\\^|~|<|>|<=|=>|==|~=|=|\\:|\\.\\.\\.|\\.\\."
369
+ }, {
370
+ token : "paren.lparen",
371
+ regex : "[\\[\\(\\{]"
372
+ }, {
373
+ token : "paren.rparen",
374
+ regex : "[\\]\\)\\}]"
375
+ }, {
376
+ token : "text",
377
+ regex : "\\s+"
378
+ } ],
379
+
380
+ "qcomment": [ {
381
+ token : "comment",
382
+ regex : "(?:[^\\\\]|\\\\.)*?\\]\\]",
383
+ next : "start"
384
+ }, {
385
+ token : "comment",
386
+ merge : true,
387
+ regex : '.+'
388
+ } ],
389
+ "qcomment1": [ {
390
+ token : "comment",
391
+ regex : "(?:[^\\\\]|\\\\.)*?\\]\\=\\]",
392
+ next : "start"
393
+ }, {
394
+ token : "comment",
395
+ merge : true,
396
+ regex : '.+'
397
+ } ],
398
+ "qcomment2": [ {
399
+ token : "comment",
400
+ regex : "(?:[^\\\\]|\\\\.)*?\\]\\={2}\\]",
401
+ next : "start"
402
+ }, {
403
+ token : "comment",
404
+ merge : true,
405
+ regex : '.+'
406
+ } ],
407
+ "qcomment3": [ {
408
+ token : "comment",
409
+ regex : "(?:[^\\\\]|\\\\.)*?\\]\\={3}\\]",
410
+ next : "start"
411
+ }, {
412
+ token : "comment",
413
+ merge : true,
414
+ regex : '.+'
415
+ } ],
416
+ "qcomment4": [ {
417
+ token : "comment",
418
+ regex : "(?:[^\\\\]|\\\\.)*?\\]\\={4}\\]",
419
+ next : "start"
420
+ }, {
421
+ token : "comment",
422
+ merge : true,
423
+ regex : '.+'
424
+ } ],
425
+ "qcomment5": [ {
426
+ token : function(value){
427
+ // very hackish, mutates the qcomment5 field on the fly.
428
+ var pattern = /\](\=+)\]/, rule = this.rules.qcomment5[0], match;
429
+ rule.next = "start";
430
+ if ((match = pattern.exec(value)) != null && (match = match[1]) != undefined){
431
+ var found = match.length, expected;
432
+ if ((expected = comment_stack.pop()) != found){
433
+ comment_stack.push(expected);
434
+ rule.next = "qcomment5";
435
+ }
436
+ }
437
+
438
+ return "comment";
439
+ },
440
+ regex : "(?:[^\\\\]|\\\\.)*?\\]\\={5}\\=*\\]",
441
+ next : "start"
442
+ }, {
443
+ token : "comment",
444
+ merge : true,
445
+ regex : '.+'
446
+ } ],
447
+
448
+ "qstring": [ {
449
+ token : "string",
450
+ regex : "(?:[^\\\\]|\\\\.)*?\\]\\]",
451
+ next : "start"
452
+ }, {
453
+ token : "string",
454
+ merge : true,
455
+ regex : '.+'
456
+ } ],
457
+ "qstring1": [ {
458
+ token : "string",
459
+ regex : "(?:[^\\\\]|\\\\.)*?\\]\\=\\]",
460
+ next : "start"
461
+ }, {
462
+ token : "string",
463
+ merge : true,
464
+ regex : '.+'
465
+ } ],
466
+ "qstring2": [ {
467
+ token : "string",
468
+ regex : "(?:[^\\\\]|\\\\.)*?\\]\\={2}\\]",
469
+ next : "start"
470
+ }, {
471
+ token : "string",
472
+ merge : true,
473
+ regex : '.+'
474
+ } ],
475
+ "qstring3": [ {
476
+ token : "string",
477
+ regex : "(?:[^\\\\]|\\\\.)*?\\]\\={3}\\]",
478
+ next : "start"
479
+ }, {
480
+ token : "string",
481
+ merge : true,
482
+ regex : '.+'
483
+ } ],
484
+ "qstring4": [ {
485
+ token : "string",
486
+ regex : "(?:[^\\\\]|\\\\.)*?\\]\\={4}\\]",
487
+ next : "start"
488
+ }, {
489
+ token : "string",
490
+ merge : true,
491
+ regex : '.+'
492
+ } ],
493
+ "qstring5": [ {
494
+ token : function(value){
495
+ // very hackish, mutates the qstring5 field on the fly.
496
+ var pattern = /\](\=+)\]/, rule = this.rules.qstring5[0], match;
497
+ rule.next = "start";
498
+ if ((match = pattern.exec(value)) != null && (match = match[1]) != undefined){
499
+ var found = match.length, expected;
500
+ if ((expected = comment_stack.pop()) != found){
501
+ comment_stack.push(expected);
502
+ rule.next = "qstring5";
503
+ }
504
+ }
505
+
506
+ return "string";
507
+ },
508
+ regex : "(?:[^\\\\]|\\\\.)*?\\]\\={5}\\=*\\]",
509
+ next : "start"
510
+ }, {
511
+ token : "string",
512
+ merge : true,
513
+ regex : '.+'
514
+ } ]
515
+
516
+ };
517
+
518
+ }
519
+
520
+ oop.inherits(LuaHighlightRules, TextHighlightRules);
521
+
522
+ exports.LuaHighlightRules = LuaHighlightRules;
523
+ });