ace-rails-ap 0.0.3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (267) hide show
  1. data/lib/ace/rails/version.rb +1 -1
  2. data/vendor/assets/javascripts/ace.js +15680 -1
  3. data/vendor/assets/javascripts/keybinding-emacs.js +367 -1
  4. data/vendor/assets/javascripts/keybinding-vim.js +1635 -1
  5. data/vendor/assets/javascripts/mode-c9search.js +275 -0
  6. data/vendor/assets/javascripts/mode-c_cpp.js +744 -1
  7. data/vendor/assets/javascripts/mode-clojure.js +364 -1
  8. data/vendor/assets/javascripts/mode-coffee.js +527 -1
  9. data/vendor/assets/javascripts/mode-coldfusion.js +1966 -1
  10. data/vendor/assets/javascripts/mode-csharp.js +633 -1
  11. data/vendor/assets/javascripts/mode-css.js +499 -1
  12. data/vendor/assets/javascripts/mode-diff.js +250 -0
  13. data/vendor/assets/javascripts/{mode-c_cpp-uncompressed.js → mode-glsl.js} +147 -244
  14. data/vendor/assets/javascripts/mode-golang.js +681 -1
  15. data/vendor/assets/javascripts/mode-groovy.js +1240 -1
  16. data/vendor/assets/javascripts/mode-haxe.js +633 -1
  17. data/vendor/assets/javascripts/mode-html.js +2064 -1
  18. data/vendor/assets/javascripts/mode-java.js +1202 -1
  19. data/vendor/assets/javascripts/mode-javascript.js +1069 -1
  20. data/vendor/assets/javascripts/mode-json.js +588 -1
  21. data/vendor/assets/javascripts/{mode-haxe-uncompressed.js → mode-jsx.js} +189 -312
  22. data/vendor/assets/javascripts/mode-latex.js +95 -1
  23. data/vendor/assets/javascripts/mode-less.js +512 -1
  24. data/vendor/assets/javascripts/mode-liquid.js +1125 -1
  25. data/vendor/assets/javascripts/mode-lua.js +551 -1
  26. data/vendor/assets/javascripts/{mode-html-uncompressed.js → mode-luahtml.js} +544 -604
  27. data/vendor/assets/javascripts/{mode-coldfusion-uncompressed.js → mode-luapage.js} +2326 -2180
  28. data/vendor/assets/javascripts/mode-markdown.js +2369 -1
  29. data/vendor/assets/javascripts/mode-ocaml.js +464 -1
  30. data/vendor/assets/javascripts/mode-perl.js +432 -1
  31. data/vendor/assets/javascripts/mode-pgsql.js +970 -1
  32. data/vendor/assets/javascripts/mode-php.js +1718 -1
  33. data/vendor/assets/javascripts/mode-powershell.js +610 -1
  34. data/vendor/assets/javascripts/mode-python.js +397 -1
  35. data/vendor/assets/javascripts/mode-ruby.js +318 -1
  36. data/vendor/assets/javascripts/mode-scad.js +732 -1
  37. data/vendor/assets/javascripts/mode-scala.js +1237 -1
  38. data/vendor/assets/javascripts/mode-scss.js +537 -1
  39. data/vendor/assets/javascripts/mode-sh.js +250 -1
  40. data/vendor/assets/javascripts/mode-sql.js +140 -1
  41. data/vendor/assets/javascripts/mode-svg.js +1681 -1
  42. data/vendor/assets/javascripts/mode-tcl.js +320 -0
  43. data/vendor/assets/javascripts/mode-textile.js +182 -1
  44. data/vendor/assets/javascripts/mode-xml.js +829 -1
  45. data/vendor/assets/javascripts/mode-xquery.js +605 -1
  46. data/vendor/assets/javascripts/mode-yaml.js +189 -0
  47. data/vendor/assets/javascripts/theme-chrome.js +213 -1
  48. data/vendor/assets/javascripts/theme-clouds.js +167 -1
  49. data/vendor/assets/javascripts/theme-clouds_midnight.js +168 -1
  50. data/vendor/assets/javascripts/theme-cobalt.js +194 -1
  51. data/vendor/assets/javascripts/theme-crimson_editor.js +200 -1
  52. data/vendor/assets/javascripts/theme-dawn.js +198 -1
  53. data/vendor/assets/javascripts/theme-dreamweaver.js +230 -1
  54. data/vendor/assets/javascripts/theme-eclipse.js +157 -1
  55. data/vendor/assets/javascripts/theme-github.js +182 -0
  56. data/vendor/assets/javascripts/theme-idle_fingers.js +186 -1
  57. data/vendor/assets/javascripts/theme-kr_theme.js +189 -1
  58. data/vendor/assets/javascripts/theme-merbivore.js +189 -1
  59. data/vendor/assets/javascripts/theme-merbivore_soft.js +195 -1
  60. data/vendor/assets/javascripts/theme-mono_industrial.js +197 -1
  61. data/vendor/assets/javascripts/theme-monokai.js +194 -1
  62. data/vendor/assets/javascripts/theme-pastel_on_dark.js +199 -1
  63. data/vendor/assets/javascripts/theme-solarized_dark.js +180 -1
  64. data/vendor/assets/javascripts/theme-solarized_light.js +179 -1
  65. data/vendor/assets/javascripts/theme-textmate.js +216 -0
  66. data/vendor/assets/javascripts/theme-tomorrow.js +213 -1
  67. data/vendor/assets/javascripts/theme-tomorrow_night.js +213 -1
  68. data/vendor/assets/javascripts/theme-tomorrow_night_blue.js +213 -1
  69. data/vendor/assets/javascripts/theme-tomorrow_night_bright.js +213 -1
  70. data/vendor/assets/javascripts/theme-tomorrow_night_eighties.js +209 -1
  71. data/vendor/assets/javascripts/theme-twilight.js +211 -1
  72. data/vendor/assets/javascripts/theme-vibrant_ink.js +190 -1
  73. data/vendor/assets/javascripts/worker-coffee.js +83 -893
  74. data/vendor/assets/javascripts/worker-css.js +88 -1402
  75. data/vendor/assets/javascripts/worker-javascript.js +97 -812
  76. data/vendor/assets/javascripts/worker-json.js +84 -761
  77. data/vendor/assets/javascripts/worker-xquery.js +66464 -0
  78. metadata +12 -195
  79. data/vendor/assets/javascripts/ace-compat-noconflict.js +0 -1
  80. data/vendor/assets/javascripts/ace-compat-uncompressed-noconflict.js +0 -480
  81. data/vendor/assets/javascripts/ace-compat-uncompressed.js +0 -480
  82. data/vendor/assets/javascripts/ace-compat.js +0 -1
  83. data/vendor/assets/javascripts/ace-noconflict.js +0 -10
  84. data/vendor/assets/javascripts/ace-uncompressed-noconflict.js +0 -19976
  85. data/vendor/assets/javascripts/ace-uncompressed.js +0 -19976
  86. data/vendor/assets/javascripts/keybinding-emacs-noconflict.js +0 -1
  87. data/vendor/assets/javascripts/keybinding-emacs-uncompressed-noconflict.js +0 -150
  88. data/vendor/assets/javascripts/keybinding-emacs-uncompressed.js +0 -150
  89. data/vendor/assets/javascripts/keybinding-vim-noconflict.js +0 -1
  90. data/vendor/assets/javascripts/keybinding-vim-uncompressed-noconflict.js +0 -138
  91. data/vendor/assets/javascripts/keybinding-vim-uncompressed.js +0 -138
  92. data/vendor/assets/javascripts/mode-c_cpp-noconflict.js +0 -1
  93. data/vendor/assets/javascripts/mode-c_cpp-uncompressed-noconflict.js +0 -919
  94. data/vendor/assets/javascripts/mode-clojure-noconflict.js +0 -1
  95. data/vendor/assets/javascripts/mode-clojure-uncompressed-noconflict.js +0 -422
  96. data/vendor/assets/javascripts/mode-clojure-uncompressed.js +0 -422
  97. data/vendor/assets/javascripts/mode-coffee-noconflict.js +0 -1
  98. data/vendor/assets/javascripts/mode-coffee-uncompressed-noconflict.js +0 -607
  99. data/vendor/assets/javascripts/mode-coffee-uncompressed.js +0 -607
  100. data/vendor/assets/javascripts/mode-coldfusion-noconflict.js +0 -1
  101. data/vendor/assets/javascripts/mode-coldfusion-uncompressed-noconflict.js +0 -2458
  102. data/vendor/assets/javascripts/mode-csharp-noconflict.js +0 -1
  103. data/vendor/assets/javascripts/mode-csharp-uncompressed-noconflict.js +0 -769
  104. data/vendor/assets/javascripts/mode-csharp-uncompressed.js +0 -769
  105. data/vendor/assets/javascripts/mode-css-noconflict.js +0 -1
  106. data/vendor/assets/javascripts/mode-css-uncompressed-noconflict.js +0 -641
  107. data/vendor/assets/javascripts/mode-css-uncompressed.js +0 -641
  108. data/vendor/assets/javascripts/mode-golang-noconflict.js +0 -1
  109. data/vendor/assets/javascripts/mode-golang-uncompressed-noconflict.js +0 -378
  110. data/vendor/assets/javascripts/mode-golang-uncompressed.js +0 -378
  111. data/vendor/assets/javascripts/mode-groovy-noconflict.js +0 -1
  112. data/vendor/assets/javascripts/mode-groovy-uncompressed-noconflict.js +0 -1393
  113. data/vendor/assets/javascripts/mode-groovy-uncompressed.js +0 -1393
  114. data/vendor/assets/javascripts/mode-haxe-noconflict.js +0 -1
  115. data/vendor/assets/javascripts/mode-haxe-uncompressed-noconflict.js +0 -769
  116. data/vendor/assets/javascripts/mode-html-noconflict.js +0 -1
  117. data/vendor/assets/javascripts/mode-html-uncompressed-noconflict.js +0 -2475
  118. data/vendor/assets/javascripts/mode-java-noconflict.js +0 -1
  119. data/vendor/assets/javascripts/mode-java-uncompressed-noconflict.js +0 -1395
  120. data/vendor/assets/javascripts/mode-java-uncompressed.js +0 -1395
  121. data/vendor/assets/javascripts/mode-javascript-noconflict.js +0 -1
  122. data/vendor/assets/javascripts/mode-javascript-uncompressed-noconflict.js +0 -1226
  123. data/vendor/assets/javascripts/mode-javascript-uncompressed.js +0 -1226
  124. data/vendor/assets/javascripts/mode-json-noconflict.js +0 -1
  125. data/vendor/assets/javascripts/mode-json-uncompressed-noconflict.js +0 -701
  126. data/vendor/assets/javascripts/mode-json-uncompressed.js +0 -701
  127. data/vendor/assets/javascripts/mode-latex-noconflict.js +0 -1
  128. data/vendor/assets/javascripts/mode-latex-uncompressed-noconflict.js +0 -95
  129. data/vendor/assets/javascripts/mode-latex-uncompressed.js +0 -95
  130. data/vendor/assets/javascripts/mode-less-noconflict.js +0 -1
  131. data/vendor/assets/javascripts/mode-less-uncompressed-noconflict.js +0 -655
  132. data/vendor/assets/javascripts/mode-less-uncompressed.js +0 -655
  133. data/vendor/assets/javascripts/mode-liquid-noconflict.js +0 -1
  134. data/vendor/assets/javascripts/mode-liquid-uncompressed-noconflict.js +0 -1353
  135. data/vendor/assets/javascripts/mode-liquid-uncompressed.js +0 -1353
  136. data/vendor/assets/javascripts/mode-lua-noconflict.js +0 -1
  137. data/vendor/assets/javascripts/mode-lua-uncompressed-noconflict.js +0 -523
  138. data/vendor/assets/javascripts/mode-lua-uncompressed.js +0 -523
  139. data/vendor/assets/javascripts/mode-markdown-noconflict.js +0 -1
  140. data/vendor/assets/javascripts/mode-markdown-uncompressed-noconflict.js +0 -2925
  141. data/vendor/assets/javascripts/mode-markdown-uncompressed.js +0 -2925
  142. data/vendor/assets/javascripts/mode-ocaml-noconflict.js +0 -1
  143. data/vendor/assets/javascripts/mode-ocaml-uncompressed-noconflict.js +0 -539
  144. data/vendor/assets/javascripts/mode-ocaml-uncompressed.js +0 -539
  145. data/vendor/assets/javascripts/mode-perl-noconflict.js +0 -1
  146. data/vendor/assets/javascripts/mode-perl-uncompressed-noconflict.js +0 -574
  147. data/vendor/assets/javascripts/mode-perl-uncompressed.js +0 -574
  148. data/vendor/assets/javascripts/mode-pgsql-noconflict.js +0 -1
  149. data/vendor/assets/javascripts/mode-pgsql-uncompressed-noconflict.js +0 -1104
  150. data/vendor/assets/javascripts/mode-pgsql-uncompressed.js +0 -1104
  151. data/vendor/assets/javascripts/mode-php-noconflict.js +0 -1
  152. data/vendor/assets/javascripts/mode-php-uncompressed-noconflict.js +0 -1885
  153. data/vendor/assets/javascripts/mode-php-uncompressed.js +0 -1885
  154. data/vendor/assets/javascripts/mode-powershell-noconflict.js +0 -1
  155. data/vendor/assets/javascripts/mode-powershell-uncompressed-noconflict.js +0 -710
  156. data/vendor/assets/javascripts/mode-powershell-uncompressed.js +0 -710
  157. data/vendor/assets/javascripts/mode-python-noconflict.js +0 -1
  158. data/vendor/assets/javascripts/mode-python-uncompressed-noconflict.js +0 -507
  159. data/vendor/assets/javascripts/mode-python-uncompressed.js +0 -507
  160. data/vendor/assets/javascripts/mode-ruby-noconflict.js +0 -1
  161. data/vendor/assets/javascripts/mode-ruby-uncompressed-noconflict.js +0 -391
  162. data/vendor/assets/javascripts/mode-ruby-uncompressed.js +0 -391
  163. data/vendor/assets/javascripts/mode-scad-noconflict.js +0 -1
  164. data/vendor/assets/javascripts/mode-scad-uncompressed-noconflict.js +0 -907
  165. data/vendor/assets/javascripts/mode-scad-uncompressed.js +0 -907
  166. data/vendor/assets/javascripts/mode-scala-noconflict.js +0 -1
  167. data/vendor/assets/javascripts/mode-scala-uncompressed-noconflict.js +0 -1395
  168. data/vendor/assets/javascripts/mode-scala-uncompressed.js +0 -1395
  169. data/vendor/assets/javascripts/mode-scss-noconflict.js +0 -1
  170. data/vendor/assets/javascripts/mode-scss-uncompressed-noconflict.js +0 -679
  171. data/vendor/assets/javascripts/mode-scss-uncompressed.js +0 -679
  172. data/vendor/assets/javascripts/mode-sh-noconflict.js +0 -1
  173. data/vendor/assets/javascripts/mode-sh-uncompressed-noconflict.js +0 -289
  174. data/vendor/assets/javascripts/mode-sh-uncompressed.js +0 -289
  175. data/vendor/assets/javascripts/mode-sql-noconflict.js +0 -1
  176. data/vendor/assets/javascripts/mode-sql-uncompressed-noconflict.js +0 -159
  177. data/vendor/assets/javascripts/mode-sql-uncompressed.js +0 -159
  178. data/vendor/assets/javascripts/mode-svg-noconflict.js +0 -1
  179. data/vendor/assets/javascripts/mode-svg-uncompressed-noconflict.js +0 -2137
  180. data/vendor/assets/javascripts/mode-svg-uncompressed.js +0 -2137
  181. data/vendor/assets/javascripts/mode-text-noconflict.js +0 -0
  182. data/vendor/assets/javascripts/mode-text-uncompressed-noconflict.js +0 -0
  183. data/vendor/assets/javascripts/mode-text-uncompressed.js +0 -0
  184. data/vendor/assets/javascripts/mode-textile-noconflict.js +0 -1
  185. data/vendor/assets/javascripts/mode-textile-uncompressed-noconflict.js +0 -254
  186. data/vendor/assets/javascripts/mode-textile-uncompressed.js +0 -254
  187. data/vendor/assets/javascripts/mode-xml-noconflict.js +0 -1
  188. data/vendor/assets/javascripts/mode-xml-uncompressed-noconflict.js +0 -1012
  189. data/vendor/assets/javascripts/mode-xml-uncompressed.js +0 -1012
  190. data/vendor/assets/javascripts/mode-xquery-noconflict.js +0 -1
  191. data/vendor/assets/javascripts/mode-xquery-uncompressed-noconflict.js +0 -540
  192. data/vendor/assets/javascripts/mode-xquery-uncompressed.js +0 -540
  193. data/vendor/assets/javascripts/theme-chrome-noconflict.js +0 -1
  194. data/vendor/assets/javascripts/theme-chrome-uncompressed-noconflict.js +0 -207
  195. data/vendor/assets/javascripts/theme-chrome-uncompressed.js +0 -207
  196. data/vendor/assets/javascripts/theme-clouds-noconflict.js +0 -1
  197. data/vendor/assets/javascripts/theme-clouds-uncompressed-noconflict.js +0 -160
  198. data/vendor/assets/javascripts/theme-clouds-uncompressed.js +0 -160
  199. data/vendor/assets/javascripts/theme-clouds_midnight-noconflict.js +0 -1
  200. data/vendor/assets/javascripts/theme-clouds_midnight-uncompressed-noconflict.js +0 -161
  201. data/vendor/assets/javascripts/theme-clouds_midnight-uncompressed.js +0 -161
  202. data/vendor/assets/javascripts/theme-cobalt-noconflict.js +0 -1
  203. data/vendor/assets/javascripts/theme-cobalt-uncompressed-noconflict.js +0 -187
  204. data/vendor/assets/javascripts/theme-cobalt-uncompressed.js +0 -187
  205. data/vendor/assets/javascripts/theme-crimson_editor-noconflict.js +0 -1
  206. data/vendor/assets/javascripts/theme-crimson_editor-uncompressed-noconflict.js +0 -198
  207. data/vendor/assets/javascripts/theme-crimson_editor-uncompressed.js +0 -198
  208. data/vendor/assets/javascripts/theme-dawn-noconflict.js +0 -1
  209. data/vendor/assets/javascripts/theme-dawn-uncompressed-noconflict.js +0 -191
  210. data/vendor/assets/javascripts/theme-dawn-uncompressed.js +0 -191
  211. data/vendor/assets/javascripts/theme-dreamweaver-noconflict.js +0 -1
  212. data/vendor/assets/javascripts/theme-dreamweaver-uncompressed-noconflict.js +0 -227
  213. data/vendor/assets/javascripts/theme-dreamweaver-uncompressed.js +0 -227
  214. data/vendor/assets/javascripts/theme-eclipse-noconflict.js +0 -1
  215. data/vendor/assets/javascripts/theme-eclipse-uncompressed-noconflict.js +0 -147
  216. data/vendor/assets/javascripts/theme-eclipse-uncompressed.js +0 -147
  217. data/vendor/assets/javascripts/theme-idle_fingers-noconflict.js +0 -1
  218. data/vendor/assets/javascripts/theme-idle_fingers-uncompressed-noconflict.js +0 -179
  219. data/vendor/assets/javascripts/theme-idle_fingers-uncompressed.js +0 -179
  220. data/vendor/assets/javascripts/theme-kr_theme-noconflict.js +0 -1
  221. data/vendor/assets/javascripts/theme-kr_theme-uncompressed-noconflict.js +0 -182
  222. data/vendor/assets/javascripts/theme-kr_theme-uncompressed.js +0 -182
  223. data/vendor/assets/javascripts/theme-merbivore-noconflict.js +0 -1
  224. data/vendor/assets/javascripts/theme-merbivore-uncompressed-noconflict.js +0 -182
  225. data/vendor/assets/javascripts/theme-merbivore-uncompressed.js +0 -182
  226. data/vendor/assets/javascripts/theme-merbivore_soft-noconflict.js +0 -1
  227. data/vendor/assets/javascripts/theme-merbivore_soft-uncompressed-noconflict.js +0 -188
  228. data/vendor/assets/javascripts/theme-merbivore_soft-uncompressed.js +0 -188
  229. data/vendor/assets/javascripts/theme-mono_industrial-noconflict.js +0 -1
  230. data/vendor/assets/javascripts/theme-mono_industrial-uncompressed-noconflict.js +0 -190
  231. data/vendor/assets/javascripts/theme-mono_industrial-uncompressed.js +0 -190
  232. data/vendor/assets/javascripts/theme-monokai-noconflict.js +0 -1
  233. data/vendor/assets/javascripts/theme-monokai-uncompressed-noconflict.js +0 -191
  234. data/vendor/assets/javascripts/theme-monokai-uncompressed.js +0 -191
  235. data/vendor/assets/javascripts/theme-pastel_on_dark-noconflict.js +0 -1
  236. data/vendor/assets/javascripts/theme-pastel_on_dark-uncompressed-noconflict.js +0 -192
  237. data/vendor/assets/javascripts/theme-pastel_on_dark-uncompressed.js +0 -192
  238. data/vendor/assets/javascripts/theme-solarized_dark-noconflict.js +0 -1
  239. data/vendor/assets/javascripts/theme-solarized_dark-uncompressed-noconflict.js +0 -176
  240. data/vendor/assets/javascripts/theme-solarized_dark-uncompressed.js +0 -176
  241. data/vendor/assets/javascripts/theme-solarized_light-noconflict.js +0 -1
  242. data/vendor/assets/javascripts/theme-solarized_light-uncompressed-noconflict.js +0 -172
  243. data/vendor/assets/javascripts/theme-solarized_light-uncompressed.js +0 -172
  244. data/vendor/assets/javascripts/theme-textmate-noconflict.js +0 -0
  245. data/vendor/assets/javascripts/theme-textmate-uncompressed-noconflict.js +0 -0
  246. data/vendor/assets/javascripts/theme-textmate-uncompressed.js +0 -0
  247. data/vendor/assets/javascripts/theme-tomorrow-noconflict.js +0 -1
  248. data/vendor/assets/javascripts/theme-tomorrow-uncompressed-noconflict.js +0 -206
  249. data/vendor/assets/javascripts/theme-tomorrow-uncompressed.js +0 -206
  250. data/vendor/assets/javascripts/theme-tomorrow_night-noconflict.js +0 -1
  251. data/vendor/assets/javascripts/theme-tomorrow_night-uncompressed-noconflict.js +0 -206
  252. data/vendor/assets/javascripts/theme-tomorrow_night-uncompressed.js +0 -206
  253. data/vendor/assets/javascripts/theme-tomorrow_night_blue-noconflict.js +0 -1
  254. data/vendor/assets/javascripts/theme-tomorrow_night_blue-uncompressed-noconflict.js +0 -209
  255. data/vendor/assets/javascripts/theme-tomorrow_night_blue-uncompressed.js +0 -209
  256. data/vendor/assets/javascripts/theme-tomorrow_night_bright-noconflict.js +0 -1
  257. data/vendor/assets/javascripts/theme-tomorrow_night_bright-uncompressed-noconflict.js +0 -206
  258. data/vendor/assets/javascripts/theme-tomorrow_night_bright-uncompressed.js +0 -206
  259. data/vendor/assets/javascripts/theme-tomorrow_night_eighties-noconflict.js +0 -1
  260. data/vendor/assets/javascripts/theme-tomorrow_night_eighties-uncompressed-noconflict.js +0 -202
  261. data/vendor/assets/javascripts/theme-tomorrow_night_eighties-uncompressed.js +0 -202
  262. data/vendor/assets/javascripts/theme-twilight-noconflict.js +0 -1
  263. data/vendor/assets/javascripts/theme-twilight-uncompressed-noconflict.js +0 -204
  264. data/vendor/assets/javascripts/theme-twilight-uncompressed.js +0 -204
  265. data/vendor/assets/javascripts/theme-vibrant_ink-noconflict.js +0 -1
  266. data/vendor/assets/javascripts/theme-vibrant_ink-uncompressed-noconflict.js +0 -183
  267. data/vendor/assets/javascripts/theme-vibrant_ink-uncompressed.js +0 -183
@@ -1 +0,0 @@
1
- ace.define("ace/mode/clojure",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/clojure_highlight_rules","ace/mode/matching_parens_outdent","ace/range"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./text").Mode,f=a("../tokenizer").Tokenizer,g=a("./clojure_highlight_rules").ClojureHighlightRules,h=a("./matching_parens_outdent").MatchingParensOutdent,i=a("../range").Range,j=function(){this.$tokenizer=new f((new g).getRules()),this.$outdent=new h};d.inherits(j,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 h=new i(0,0,0,0);for(var g=c;g<=d;g++){var j=b.getLine(g),k=j.match(f);h.start.row=g,h.end.row=g,h.end.column=k[0].length,b.replace(h,k[1])}}else b.indentRows(c,d,";")},this.getNextLineIndent=function(a,b,c){var d=this.$getIndent(b),e=this.$tokenizer.getLineTokens(b,a),f=e.tokens;if(f.length&&f[f.length-1].type=="comment")return d;if(a=="start"){var g=b.match(/[\(\[]/);g&&(d+=" "),g=b.match(/[\)]/),g&&(d="")}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)}}.call(j.prototype),b.Mode=j}),ace.define("ace/mode/clojure_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("* *1 *2 *3 *agent* *allow-unresolved-vars* *assert* *clojure-version* *command-line-args* *compile-files* *compile-path* *e *err* *file* *flush-on-newline* *in* *macro-meta* *math-context* *ns* *out* *print-dup* *print-length* *print-level* *print-meta* *print-readably* *read-eval* *source-path* *use-context-classloader* *warn-on-reflection* + - -> -&gt; ->> -&gt;&gt; .. / < &lt; <= &lt;= = == > &gt; >= &gt;= accessor aclone add-classpath add-watch agent agent-errors aget alength alias all-ns alter alter-meta! alter-var-root amap ancestors and apply areduce array-map aset aset-boolean aset-byte aset-char aset-double aset-float aset-int aset-long aset-short assert assoc assoc! assoc-in associative? atom await await-for await1 bases bean bigdec bigint binding bit-and bit-and-not bit-clear bit-flip bit-not bit-or bit-set bit-shift-left bit-shift-right bit-test bit-xor boolean boolean-array booleans bound-fn bound-fn* butlast byte byte-array bytes cast char char-array char-escape-string char-name-string char? chars chunk chunk-append chunk-buffer chunk-cons chunk-first chunk-next chunk-rest chunked-seq? class class? clear-agent-errors clojure-version coll? comment commute comp comparator compare compare-and-set! compile complement concat cond condp conj conj! cons constantly construct-proxy contains? count counted? create-ns create-struct cycle dec decimal? declare definline defmacro defmethod defmulti defn defn- defonce defstruct delay delay? deliver deref derive descendants destructure disj disj! dissoc dissoc! distinct distinct? doall doc dorun doseq dosync dotimes doto double double-array doubles drop drop-last drop-while empty empty? ensure enumeration-seq eval even? every? false? ffirst file-seq filter find find-doc find-ns find-var first float float-array float? floats flush fn fn? fnext for force format future future-call future-cancel future-cancelled? future-done? future? gen-class gen-interface gensym get get-in get-method get-proxy-class get-thread-bindings get-validator hash hash-map hash-set identical? identity if-let if-not ifn? import in-ns inc init-proxy instance? int int-array integer? interleave intern interpose into into-array ints io! isa? iterate iterator-seq juxt key keys keyword keyword? last lazy-cat lazy-seq let letfn line-seq list list* list? load load-file load-reader load-string loaded-libs locking long long-array longs loop macroexpand macroexpand-1 make-array make-hierarchy map map? mapcat max max-key memfn memoize merge merge-with meta method-sig methods min min-key mod name namespace neg? newline next nfirst nil? nnext not not-any? not-empty not-every? not= ns ns-aliases ns-imports ns-interns ns-map ns-name ns-publics ns-refers ns-resolve ns-unalias ns-unmap nth nthnext num number? odd? or parents partial partition pcalls peek persistent! pmap pop pop! pop-thread-bindings pos? pr pr-str prefer-method prefers primitives-classnames print print-ctor print-doc print-dup print-method print-namespace-doc print-simple print-special-doc print-str printf println println-str prn prn-str promise proxy proxy-call-with-super proxy-mappings proxy-name proxy-super push-thread-bindings pvalues quot rand rand-int range ratio? rational? rationalize re-find re-groups re-matcher re-matches re-pattern re-seq read read-line read-string reduce ref ref-history-count ref-max-history ref-min-history ref-set refer refer-clojure release-pending-sends rem remove remove-method remove-ns remove-watch repeat repeatedly replace replicate require reset! reset-meta! resolve rest resultset-seq reverse reversible? rseq rsubseq second select-keys send send-off seq seq? seque sequence sequential? set set-validator! set? short short-array shorts shutdown-agents slurp some sort sort-by sorted-map sorted-map-by sorted-set sorted-set-by sorted? special-form-anchor special-symbol? split-at split-with str stream? string? struct struct-map subs subseq subvec supers swap! symbol symbol? sync syntax-symbol-anchor take take-last take-nth take-while test the-ns time to-array to-array-2d trampoline transient tree-seq true? type unchecked-add unchecked-dec unchecked-divide unchecked-inc unchecked-multiply unchecked-negate unchecked-remainder unchecked-subtract underive unquote unquote-splicing update-in update-proxy use val vals var-get var-set var? vary-meta vec vector vector? when when-first when-let when-not while with-bindings with-bindings* with-in-str with-loading-context with-local-vars with-meta with-open with-out-str with-precision xml-seq zero? zipmap ".split(" ")),b=e.arrayToMap("def do fn if let loop monitor-enter monitor-exit new quote recur set! throw try var".split(" ")),c=e.arrayToMap("true false nil".split(" "));this.$rules={start:[{token:"comment",regex:";.*$"},{token:"comment",regex:"^=begin$",next:"comment"},{token:"keyword",regex:"[\\(|\\)]"},{token:"keyword",regex:"[\\'\\(]"},{token:"keyword",regex:"[\\[|\\]]"},{token:"keyword",regex:"[\\{|\\}|\\#\\{|\\#\\}]"},{token:"keyword",regex:"[\\&]"},{token:"keyword",regex:"[\\#\\^\\{]"},{token:"keyword",regex:"[\\%]"},{token:"keyword",regex:"[@]"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language",regex:"[!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+||=|!=|<=|>=|<>|<|>|!|&&]"},{token:function(d){return b.hasOwnProperty(d)?"keyword":c.hasOwnProperty(d)?"constant.language":a.hasOwnProperty(d)?"support.function":"identifier"},regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"[:](?:[a-zA-Z]|\\d)+"},{token:"string.regexp",regex:'/#"(?:\\.|(?:\\")|[^""\n])*"/g'}],comment:[{token:"comment",regex:"^=end$",next:"start"},{token:"comment",merge:!0,regex:".+"}]}};d.inherits(g,f),b.ClojureHighlightRules=g}),ace.define("ace/mode/matching_parens_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.MatchingParensOutdent=e})
@@ -1,422 +0,0 @@
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
- * Shlomo Zalman Heigh <shlomozalmanheigh AT gmail DOT com>
24
- * Carin Meier
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/clojure', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/clojure_highlight_rules', 'ace/mode/matching_parens_outdent', 'ace/range'], 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 ClojureHighlightRules = require("./clojure_highlight_rules").ClojureHighlightRules;
47
- var MatchingParensOutdent = require("./matching_parens_outdent").MatchingParensOutdent;
48
- var Range = require("../range").Range;
49
-
50
- var Mode = function() {
51
- this.$tokenizer = new Tokenizer(new ClojureHighlightRules().getRules());
52
- this.$outdent = new MatchingParensOutdent();
53
- };
54
- oop.inherits(Mode, TextMode);
55
-
56
- (function() {
57
-
58
- this.toggleCommentLines = function(state, doc, startRow, endRow) {
59
- var outdent = true;
60
- var re = /^(\s*)#/;
61
-
62
- for (var i=startRow; i<= endRow; i++) {
63
- if (!re.test(doc.getLine(i))) {
64
- outdent = false;
65
- break;
66
- }
67
- }
68
-
69
- if (outdent) {
70
- var deleteRange = new Range(0, 0, 0, 0);
71
- for (var i=startRow; i<= endRow; i++)
72
- {
73
- var line = doc.getLine(i);
74
- var m = line.match(re);
75
- deleteRange.start.row = i;
76
- deleteRange.end.row = i;
77
- deleteRange.end.column = m[0].length;
78
- doc.replace(deleteRange, m[1]);
79
- }
80
- }
81
- else {
82
- doc.indentRows(startRow, endRow, ";");
83
- }
84
- };
85
-
86
- this.getNextLineIndent = function(state, line, tab) {
87
- var indent = this.$getIndent(line);
88
-
89
- var tokenizedLine = this.$tokenizer.getLineTokens(line, state);
90
- var tokens = tokenizedLine.tokens;
91
-
92
- if (tokens.length && tokens[tokens.length-1].type == "comment") {
93
- return indent;
94
- }
95
-
96
- if (state == "start") {
97
- var match = line.match(/[\(\[]/);
98
- if (match) {
99
- indent += " ";
100
- }
101
- match = line.match(/[\)]/);
102
- if (match) {
103
- indent = "";
104
- }
105
- }
106
-
107
- return indent;
108
- };
109
-
110
- this.checkOutdent = function(state, line, input) {
111
- return this.$outdent.checkOutdent(line, input);
112
- };
113
-
114
- this.autoOutdent = function(state, doc, row) {
115
- this.$outdent.autoOutdent(doc, row);
116
- };
117
-
118
- }).call(Mode.prototype);
119
-
120
- exports.Mode = Mode;
121
- });
122
- /* ***** BEGIN LICENSE BLOCK *****
123
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
124
- *
125
- * The contents of this file are subject to the Mozilla Public License Version
126
- * 1.1 (the "License"); you may not use this file except in compliance with
127
- * the License. You may obtain a copy of the License at
128
- * http://www.mozilla.org/MPL/
129
- *
130
- * Software distributed under the License is distributed on an "AS IS" basis,
131
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
132
- * for the specific language governing rights and limitations under the
133
- * License.
134
- *
135
- * The Original Code is Ajax.org Code Editor (ACE).
136
- *
137
- * The Initial Developer of the Original Code is
138
- * Ajax.org B.V.
139
- * Portions created by the Initial Developer are Copyright (C) 2010
140
- * the Initial Developer. All Rights Reserved.
141
- *
142
- * Contributor(s):
143
- * Fabian Jakobs <fabian AT ajax DOT org>
144
- * Shlomo Zalman Heigh <shlomozalmanheigh AT gmail DOT com>
145
- * Carin Meier
146
- *
147
- * Alternatively, the contents of this file may be used under the terms of
148
- * either the GNU General Public License Version 2 or later (the "GPL"), or
149
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
150
- * in which case the provisions of the GPL or the LGPL are applicable instead
151
- * of those above. If you wish to allow use of your version of this file only
152
- * under the terms of either the GPL or the LGPL, and not to allow others to
153
- * use your version of this file under the terms of the MPL, indicate your
154
- * decision by deleting the provisions above and replace them with the notice
155
- * and other provisions required by the GPL or the LGPL. If you do not delete
156
- * the provisions above, a recipient may use your version of this file under
157
- * the terms of any one of the MPL, the GPL or the LGPL.
158
- *
159
- * ***** END LICENSE BLOCK ***** */
160
-
161
- ace.define('ace/mode/clojure_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/lang', 'ace/mode/text_highlight_rules'], function(require, exports, module) {
162
- "use strict";
163
-
164
- var oop = require("../lib/oop");
165
- var lang = require("../lib/lang");
166
- var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
167
-
168
-
169
-
170
- var ClojureHighlightRules = function() {
171
-
172
- var builtinFunctions = lang.arrayToMap(
173
- ('* *1 *2 *3 *agent* *allow-unresolved-vars* *assert* *clojure-version* ' +
174
- '*command-line-args* *compile-files* *compile-path* *e *err* *file* ' +
175
- '*flush-on-newline* *in* *macro-meta* *math-context* *ns* *out* ' +
176
- '*print-dup* *print-length* *print-level* *print-meta* *print-readably* ' +
177
- '*read-eval* *source-path* *use-context-classloader* ' +
178
- '*warn-on-reflection* + - -> -&gt; ->> -&gt;&gt; .. / < &lt; <= &lt;= = ' +
179
- '== > &gt; >= &gt;= accessor aclone ' +
180
- 'add-classpath add-watch agent agent-errors aget alength alias all-ns ' +
181
- 'alter alter-meta! alter-var-root amap ancestors and apply areduce ' +
182
- 'array-map aset aset-boolean aset-byte aset-char aset-double aset-float ' +
183
- 'aset-int aset-long aset-short assert assoc assoc! assoc-in associative? ' +
184
- 'atom await await-for await1 bases bean bigdec bigint binding bit-and ' +
185
- 'bit-and-not bit-clear bit-flip bit-not bit-or bit-set bit-shift-left ' +
186
- 'bit-shift-right bit-test bit-xor boolean boolean-array booleans ' +
187
- 'bound-fn bound-fn* butlast byte byte-array bytes cast char char-array ' +
188
- 'char-escape-string char-name-string char? chars chunk chunk-append ' +
189
- 'chunk-buffer chunk-cons chunk-first chunk-next chunk-rest chunked-seq? ' +
190
- 'class class? clear-agent-errors clojure-version coll? comment commute ' +
191
- 'comp comparator compare compare-and-set! compile complement concat cond ' +
192
- 'condp conj conj! cons constantly construct-proxy contains? count ' +
193
- 'counted? create-ns create-struct cycle dec decimal? declare definline ' +
194
- 'defmacro defmethod defmulti defn defn- defonce defstruct delay delay? ' +
195
- 'deliver deref derive descendants destructure disj disj! dissoc dissoc! ' +
196
- 'distinct distinct? doall doc dorun doseq dosync dotimes doto double ' +
197
- 'double-array doubles drop drop-last drop-while empty empty? ensure ' +
198
- 'enumeration-seq eval even? every? false? ffirst file-seq filter find ' +
199
- 'find-doc find-ns find-var first float float-array float? floats flush ' +
200
- 'fn fn? fnext for force format future future-call future-cancel ' +
201
- 'future-cancelled? future-done? future? gen-class gen-interface gensym ' +
202
- 'get get-in get-method get-proxy-class get-thread-bindings get-validator ' +
203
- 'hash hash-map hash-set identical? identity if-let if-not ifn? import ' +
204
- 'in-ns inc init-proxy instance? int int-array integer? interleave intern ' +
205
- 'interpose into into-array ints io! isa? iterate iterator-seq juxt key ' +
206
- 'keys keyword keyword? last lazy-cat lazy-seq let letfn line-seq list ' +
207
- 'list* list? load load-file load-reader load-string loaded-libs locking ' +
208
- 'long long-array longs loop macroexpand macroexpand-1 make-array ' +
209
- 'make-hierarchy map map? mapcat max max-key memfn memoize merge ' +
210
- 'merge-with meta method-sig methods min min-key mod name namespace neg? ' +
211
- 'newline next nfirst nil? nnext not not-any? not-empty not-every? not= ' +
212
- 'ns ns-aliases ns-imports ns-interns ns-map ns-name ns-publics ' +
213
- 'ns-refers ns-resolve ns-unalias ns-unmap nth nthnext num number? odd? ' +
214
- 'or parents partial partition pcalls peek persistent! pmap pop pop! ' +
215
- 'pop-thread-bindings pos? pr pr-str prefer-method prefers ' +
216
- 'primitives-classnames print print-ctor print-doc print-dup print-method ' +
217
- 'print-namespace-doc print-simple print-special-doc print-str printf ' +
218
- 'println println-str prn prn-str promise proxy proxy-call-with-super ' +
219
- 'proxy-mappings proxy-name proxy-super push-thread-bindings pvalues quot ' +
220
- 'rand rand-int range ratio? rational? rationalize re-find re-groups ' +
221
- 're-matcher re-matches re-pattern re-seq read read-line read-string ' +
222
- 'reduce ref ref-history-count ref-max-history ref-min-history ref-set ' +
223
- 'refer refer-clojure release-pending-sends rem remove remove-method ' +
224
- 'remove-ns remove-watch repeat repeatedly replace replicate require ' +
225
- 'reset! reset-meta! resolve rest resultset-seq reverse reversible? rseq ' +
226
- 'rsubseq second select-keys send send-off seq seq? seque sequence ' +
227
- 'sequential? set set-validator! set? short short-array shorts ' +
228
- 'shutdown-agents slurp some sort sort-by sorted-map sorted-map-by ' +
229
- 'sorted-set sorted-set-by sorted? special-form-anchor special-symbol? ' +
230
- 'split-at split-with str stream? string? struct struct-map subs subseq ' +
231
- 'subvec supers swap! symbol symbol? sync syntax-symbol-anchor take ' +
232
- 'take-last take-nth take-while test the-ns time to-array to-array-2d ' +
233
- 'trampoline transient tree-seq true? type unchecked-add unchecked-dec ' +
234
- 'unchecked-divide unchecked-inc unchecked-multiply unchecked-negate ' +
235
- 'unchecked-remainder unchecked-subtract underive unquote ' +
236
- 'unquote-splicing update-in update-proxy use val vals var-get var-set ' +
237
- 'var? vary-meta vec vector vector? when when-first when-let when-not ' +
238
- 'while with-bindings with-bindings* with-in-str with-loading-context ' +
239
- 'with-local-vars with-meta with-open with-out-str with-precision xml-seq ' +
240
- 'zero? zipmap ').split(" ")
241
- );
242
-
243
- var keywords = lang.arrayToMap(
244
- ('def do fn if let loop monitor-enter monitor-exit new quote recur set! ' +
245
- 'throw try var').split(" ")
246
- );
247
-
248
- var buildinConstants = lang.arrayToMap(
249
- ("true false nil").split(" ")
250
- );
251
-
252
-
253
- // regexp must not have capturing parentheses. Use (?:) instead.
254
- // regexps are ordered -> the first match is used
255
-
256
- this.$rules = {
257
- "start" : [
258
- {
259
- token : "comment",
260
- regex : ";.*$"
261
- }, {
262
- token : "comment", // multi line comment
263
- regex : "^=begin$",
264
- next : "comment"
265
- }, {
266
- token : "keyword", //parens
267
- regex : "[\\(|\\)]"
268
- }, {
269
- token : "keyword", //lists
270
- regex : "[\\'\\(]"
271
- }, {
272
- token : "keyword", //vectors
273
- regex : "[\\[|\\]]"
274
- }, {
275
- token : "keyword", //sets and maps
276
- regex : "[\\{|\\}|\\#\\{|\\#\\}]"
277
- }, {
278
- token : "keyword", // ampersands
279
- regex : '[\\&]'
280
- }, {
281
- token : "keyword", // metadata
282
- regex : '[\\#\\^\\{]'
283
- }, {
284
- token : "keyword", // anonymous fn syntactic sugar
285
- regex : '[\\%]'
286
- }, {
287
- token : "keyword", // deref reader macro
288
- regex : '[@]'
289
- }, {
290
- token : "constant.numeric", // hex
291
- regex : "0[xX][0-9a-fA-F]+\\b"
292
- }, {
293
- token : "constant.numeric", // float
294
- regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
295
- }, {
296
- token : "constant.language",
297
- regex : '[!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+||=|!=|<=|>=|<>|<|>|!|&&]'
298
- }, {
299
- token : function(value) {
300
- if (keywords.hasOwnProperty(value))
301
- return "keyword";
302
- else if (buildinConstants.hasOwnProperty(value))
303
- return "constant.language";
304
- else if (builtinFunctions.hasOwnProperty(value))
305
- return "support.function";
306
- else
307
- return "identifier";
308
- },
309
- // TODO: Unicode escape sequences
310
- // TODO: Unicode identifiers
311
- regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
312
- }, {
313
- token : "string", // single line
314
- regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
315
- }, {
316
- token : "string", // symbol
317
- regex : "[:](?:[a-zA-Z]|\\d)+"
318
- }, {
319
- token : "string.regexp", //Regular Expressions
320
- regex : '/#"(?:\\.|(?:\\\")|[^\""\n])*"/g'
321
- }
322
-
323
- ],
324
- "comment" : [
325
- {
326
- token : "comment", // closing comment
327
- regex : "^=end$",
328
- next : "start"
329
- }, {
330
- token : "comment", // comment spanning whole line
331
- merge : true,
332
- regex : ".+"
333
- }
334
- ]
335
- };
336
- };
337
-
338
- oop.inherits(ClojureHighlightRules, TextHighlightRules);
339
-
340
- exports.ClojureHighlightRules = ClojureHighlightRules;
341
- });
342
- /* ***** BEGIN LICENSE BLOCK *****
343
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
344
- *
345
- * The contents of this file are subject to the Mozilla Public License Version
346
- * 1.1 (the "License"); you may not use this file except in compliance with
347
- * the License. You may obtain a copy of the License at
348
- * http://www.mozilla.org/MPL/
349
- *
350
- * Software distributed under the License is distributed on an "AS IS" basis,
351
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
352
- * for the specific language governing rights and limitations under the
353
- * License.
354
- *
355
- * The Original Code is Ajax.org Code Editor (ACE).
356
- *
357
- * The Initial Developer of the Original Code is
358
- * Ajax.org B.V.
359
- * Portions created by the Initial Developer are Copyright (C) 2010
360
- * the Initial Developer. All Rights Reserved.
361
- *
362
- * Contributor(s):
363
- * Fabian Jakobs <fabian AT ajax DOT org>
364
- *
365
- * Alternatively, the contents of this file may be used under the terms of
366
- * either the GNU General Public License Version 2 or later (the "GPL"), or
367
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
368
- * in which case the provisions of the GPL or the LGPL are applicable instead
369
- * of those above. If you wish to allow use of your version of this file only
370
- * under the terms of either the GPL or the LGPL, and not to allow others to
371
- * use your version of this file under the terms of the MPL, indicate your
372
- * decision by deleting the provisions above and replace them with the notice
373
- * and other provisions required by the GPL or the LGPL. If you do not delete
374
- * the provisions above, a recipient may use your version of this file under
375
- * the terms of any one of the MPL, the GPL or the LGPL.
376
- *
377
- * ***** END LICENSE BLOCK ***** */
378
-
379
- ace.define('ace/mode/matching_parens_outdent', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) {
380
- "use strict";
381
-
382
- var Range = require("../range").Range;
383
-
384
- var MatchingParensOutdent = function() {};
385
-
386
- (function() {
387
-
388
- this.checkOutdent = function(line, input) {
389
- if (! /^\s+$/.test(line))
390
- return false;
391
-
392
- return /^\s*\)/.test(input);
393
- };
394
-
395
- this.autoOutdent = function(doc, row) {
396
- var line = doc.getLine(row);
397
- var match = line.match(/^(\s*\))/);
398
-
399
- if (!match) return 0;
400
-
401
- var column = match[1].length;
402
- var openBracePos = doc.findMatchingBracket({row: row, column: column});
403
-
404
- if (!openBracePos || openBracePos.row == row) return 0;
405
-
406
- var indent = this.$getIndent(doc.getLine(openBracePos.row));
407
- doc.replace(new Range(row, 0, row, column-1), indent);
408
- };
409
-
410
- this.$getIndent = function(line) {
411
- var match = line.match(/^(\s+)/);
412
- if (match) {
413
- return match[1];
414
- }
415
-
416
- return "";
417
- };
418
-
419
- }).call(MatchingParensOutdent.prototype);
420
-
421
- exports.MatchingParensOutdent = MatchingParensOutdent;
422
- });
@@ -1,422 +0,0 @@
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
- * Shlomo Zalman Heigh <shlomozalmanheigh AT gmail DOT com>
24
- * Carin Meier
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
- define('ace/mode/clojure', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/clojure_highlight_rules', 'ace/mode/matching_parens_outdent', 'ace/range'], 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 ClojureHighlightRules = require("./clojure_highlight_rules").ClojureHighlightRules;
47
- var MatchingParensOutdent = require("./matching_parens_outdent").MatchingParensOutdent;
48
- var Range = require("../range").Range;
49
-
50
- var Mode = function() {
51
- this.$tokenizer = new Tokenizer(new ClojureHighlightRules().getRules());
52
- this.$outdent = new MatchingParensOutdent();
53
- };
54
- oop.inherits(Mode, TextMode);
55
-
56
- (function() {
57
-
58
- this.toggleCommentLines = function(state, doc, startRow, endRow) {
59
- var outdent = true;
60
- var re = /^(\s*)#/;
61
-
62
- for (var i=startRow; i<= endRow; i++) {
63
- if (!re.test(doc.getLine(i))) {
64
- outdent = false;
65
- break;
66
- }
67
- }
68
-
69
- if (outdent) {
70
- var deleteRange = new Range(0, 0, 0, 0);
71
- for (var i=startRow; i<= endRow; i++)
72
- {
73
- var line = doc.getLine(i);
74
- var m = line.match(re);
75
- deleteRange.start.row = i;
76
- deleteRange.end.row = i;
77
- deleteRange.end.column = m[0].length;
78
- doc.replace(deleteRange, m[1]);
79
- }
80
- }
81
- else {
82
- doc.indentRows(startRow, endRow, ";");
83
- }
84
- };
85
-
86
- this.getNextLineIndent = function(state, line, tab) {
87
- var indent = this.$getIndent(line);
88
-
89
- var tokenizedLine = this.$tokenizer.getLineTokens(line, state);
90
- var tokens = tokenizedLine.tokens;
91
-
92
- if (tokens.length && tokens[tokens.length-1].type == "comment") {
93
- return indent;
94
- }
95
-
96
- if (state == "start") {
97
- var match = line.match(/[\(\[]/);
98
- if (match) {
99
- indent += " ";
100
- }
101
- match = line.match(/[\)]/);
102
- if (match) {
103
- indent = "";
104
- }
105
- }
106
-
107
- return indent;
108
- };
109
-
110
- this.checkOutdent = function(state, line, input) {
111
- return this.$outdent.checkOutdent(line, input);
112
- };
113
-
114
- this.autoOutdent = function(state, doc, row) {
115
- this.$outdent.autoOutdent(doc, row);
116
- };
117
-
118
- }).call(Mode.prototype);
119
-
120
- exports.Mode = Mode;
121
- });
122
- /* ***** BEGIN LICENSE BLOCK *****
123
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
124
- *
125
- * The contents of this file are subject to the Mozilla Public License Version
126
- * 1.1 (the "License"); you may not use this file except in compliance with
127
- * the License. You may obtain a copy of the License at
128
- * http://www.mozilla.org/MPL/
129
- *
130
- * Software distributed under the License is distributed on an "AS IS" basis,
131
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
132
- * for the specific language governing rights and limitations under the
133
- * License.
134
- *
135
- * The Original Code is Ajax.org Code Editor (ACE).
136
- *
137
- * The Initial Developer of the Original Code is
138
- * Ajax.org B.V.
139
- * Portions created by the Initial Developer are Copyright (C) 2010
140
- * the Initial Developer. All Rights Reserved.
141
- *
142
- * Contributor(s):
143
- * Fabian Jakobs <fabian AT ajax DOT org>
144
- * Shlomo Zalman Heigh <shlomozalmanheigh AT gmail DOT com>
145
- * Carin Meier
146
- *
147
- * Alternatively, the contents of this file may be used under the terms of
148
- * either the GNU General Public License Version 2 or later (the "GPL"), or
149
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
150
- * in which case the provisions of the GPL or the LGPL are applicable instead
151
- * of those above. If you wish to allow use of your version of this file only
152
- * under the terms of either the GPL or the LGPL, and not to allow others to
153
- * use your version of this file under the terms of the MPL, indicate your
154
- * decision by deleting the provisions above and replace them with the notice
155
- * and other provisions required by the GPL or the LGPL. If you do not delete
156
- * the provisions above, a recipient may use your version of this file under
157
- * the terms of any one of the MPL, the GPL or the LGPL.
158
- *
159
- * ***** END LICENSE BLOCK ***** */
160
-
161
- define('ace/mode/clojure_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/lang', 'ace/mode/text_highlight_rules'], function(require, exports, module) {
162
- "use strict";
163
-
164
- var oop = require("../lib/oop");
165
- var lang = require("../lib/lang");
166
- var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
167
-
168
-
169
-
170
- var ClojureHighlightRules = function() {
171
-
172
- var builtinFunctions = lang.arrayToMap(
173
- ('* *1 *2 *3 *agent* *allow-unresolved-vars* *assert* *clojure-version* ' +
174
- '*command-line-args* *compile-files* *compile-path* *e *err* *file* ' +
175
- '*flush-on-newline* *in* *macro-meta* *math-context* *ns* *out* ' +
176
- '*print-dup* *print-length* *print-level* *print-meta* *print-readably* ' +
177
- '*read-eval* *source-path* *use-context-classloader* ' +
178
- '*warn-on-reflection* + - -> -&gt; ->> -&gt;&gt; .. / < &lt; <= &lt;= = ' +
179
- '== > &gt; >= &gt;= accessor aclone ' +
180
- 'add-classpath add-watch agent agent-errors aget alength alias all-ns ' +
181
- 'alter alter-meta! alter-var-root amap ancestors and apply areduce ' +
182
- 'array-map aset aset-boolean aset-byte aset-char aset-double aset-float ' +
183
- 'aset-int aset-long aset-short assert assoc assoc! assoc-in associative? ' +
184
- 'atom await await-for await1 bases bean bigdec bigint binding bit-and ' +
185
- 'bit-and-not bit-clear bit-flip bit-not bit-or bit-set bit-shift-left ' +
186
- 'bit-shift-right bit-test bit-xor boolean boolean-array booleans ' +
187
- 'bound-fn bound-fn* butlast byte byte-array bytes cast char char-array ' +
188
- 'char-escape-string char-name-string char? chars chunk chunk-append ' +
189
- 'chunk-buffer chunk-cons chunk-first chunk-next chunk-rest chunked-seq? ' +
190
- 'class class? clear-agent-errors clojure-version coll? comment commute ' +
191
- 'comp comparator compare compare-and-set! compile complement concat cond ' +
192
- 'condp conj conj! cons constantly construct-proxy contains? count ' +
193
- 'counted? create-ns create-struct cycle dec decimal? declare definline ' +
194
- 'defmacro defmethod defmulti defn defn- defonce defstruct delay delay? ' +
195
- 'deliver deref derive descendants destructure disj disj! dissoc dissoc! ' +
196
- 'distinct distinct? doall doc dorun doseq dosync dotimes doto double ' +
197
- 'double-array doubles drop drop-last drop-while empty empty? ensure ' +
198
- 'enumeration-seq eval even? every? false? ffirst file-seq filter find ' +
199
- 'find-doc find-ns find-var first float float-array float? floats flush ' +
200
- 'fn fn? fnext for force format future future-call future-cancel ' +
201
- 'future-cancelled? future-done? future? gen-class gen-interface gensym ' +
202
- 'get get-in get-method get-proxy-class get-thread-bindings get-validator ' +
203
- 'hash hash-map hash-set identical? identity if-let if-not ifn? import ' +
204
- 'in-ns inc init-proxy instance? int int-array integer? interleave intern ' +
205
- 'interpose into into-array ints io! isa? iterate iterator-seq juxt key ' +
206
- 'keys keyword keyword? last lazy-cat lazy-seq let letfn line-seq list ' +
207
- 'list* list? load load-file load-reader load-string loaded-libs locking ' +
208
- 'long long-array longs loop macroexpand macroexpand-1 make-array ' +
209
- 'make-hierarchy map map? mapcat max max-key memfn memoize merge ' +
210
- 'merge-with meta method-sig methods min min-key mod name namespace neg? ' +
211
- 'newline next nfirst nil? nnext not not-any? not-empty not-every? not= ' +
212
- 'ns ns-aliases ns-imports ns-interns ns-map ns-name ns-publics ' +
213
- 'ns-refers ns-resolve ns-unalias ns-unmap nth nthnext num number? odd? ' +
214
- 'or parents partial partition pcalls peek persistent! pmap pop pop! ' +
215
- 'pop-thread-bindings pos? pr pr-str prefer-method prefers ' +
216
- 'primitives-classnames print print-ctor print-doc print-dup print-method ' +
217
- 'print-namespace-doc print-simple print-special-doc print-str printf ' +
218
- 'println println-str prn prn-str promise proxy proxy-call-with-super ' +
219
- 'proxy-mappings proxy-name proxy-super push-thread-bindings pvalues quot ' +
220
- 'rand rand-int range ratio? rational? rationalize re-find re-groups ' +
221
- 're-matcher re-matches re-pattern re-seq read read-line read-string ' +
222
- 'reduce ref ref-history-count ref-max-history ref-min-history ref-set ' +
223
- 'refer refer-clojure release-pending-sends rem remove remove-method ' +
224
- 'remove-ns remove-watch repeat repeatedly replace replicate require ' +
225
- 'reset! reset-meta! resolve rest resultset-seq reverse reversible? rseq ' +
226
- 'rsubseq second select-keys send send-off seq seq? seque sequence ' +
227
- 'sequential? set set-validator! set? short short-array shorts ' +
228
- 'shutdown-agents slurp some sort sort-by sorted-map sorted-map-by ' +
229
- 'sorted-set sorted-set-by sorted? special-form-anchor special-symbol? ' +
230
- 'split-at split-with str stream? string? struct struct-map subs subseq ' +
231
- 'subvec supers swap! symbol symbol? sync syntax-symbol-anchor take ' +
232
- 'take-last take-nth take-while test the-ns time to-array to-array-2d ' +
233
- 'trampoline transient tree-seq true? type unchecked-add unchecked-dec ' +
234
- 'unchecked-divide unchecked-inc unchecked-multiply unchecked-negate ' +
235
- 'unchecked-remainder unchecked-subtract underive unquote ' +
236
- 'unquote-splicing update-in update-proxy use val vals var-get var-set ' +
237
- 'var? vary-meta vec vector vector? when when-first when-let when-not ' +
238
- 'while with-bindings with-bindings* with-in-str with-loading-context ' +
239
- 'with-local-vars with-meta with-open with-out-str with-precision xml-seq ' +
240
- 'zero? zipmap ').split(" ")
241
- );
242
-
243
- var keywords = lang.arrayToMap(
244
- ('def do fn if let loop monitor-enter monitor-exit new quote recur set! ' +
245
- 'throw try var').split(" ")
246
- );
247
-
248
- var buildinConstants = lang.arrayToMap(
249
- ("true false nil").split(" ")
250
- );
251
-
252
-
253
- // regexp must not have capturing parentheses. Use (?:) instead.
254
- // regexps are ordered -> the first match is used
255
-
256
- this.$rules = {
257
- "start" : [
258
- {
259
- token : "comment",
260
- regex : ";.*$"
261
- }, {
262
- token : "comment", // multi line comment
263
- regex : "^=begin$",
264
- next : "comment"
265
- }, {
266
- token : "keyword", //parens
267
- regex : "[\\(|\\)]"
268
- }, {
269
- token : "keyword", //lists
270
- regex : "[\\'\\(]"
271
- }, {
272
- token : "keyword", //vectors
273
- regex : "[\\[|\\]]"
274
- }, {
275
- token : "keyword", //sets and maps
276
- regex : "[\\{|\\}|\\#\\{|\\#\\}]"
277
- }, {
278
- token : "keyword", // ampersands
279
- regex : '[\\&]'
280
- }, {
281
- token : "keyword", // metadata
282
- regex : '[\\#\\^\\{]'
283
- }, {
284
- token : "keyword", // anonymous fn syntactic sugar
285
- regex : '[\\%]'
286
- }, {
287
- token : "keyword", // deref reader macro
288
- regex : '[@]'
289
- }, {
290
- token : "constant.numeric", // hex
291
- regex : "0[xX][0-9a-fA-F]+\\b"
292
- }, {
293
- token : "constant.numeric", // float
294
- regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
295
- }, {
296
- token : "constant.language",
297
- regex : '[!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+||=|!=|<=|>=|<>|<|>|!|&&]'
298
- }, {
299
- token : function(value) {
300
- if (keywords.hasOwnProperty(value))
301
- return "keyword";
302
- else if (buildinConstants.hasOwnProperty(value))
303
- return "constant.language";
304
- else if (builtinFunctions.hasOwnProperty(value))
305
- return "support.function";
306
- else
307
- return "identifier";
308
- },
309
- // TODO: Unicode escape sequences
310
- // TODO: Unicode identifiers
311
- regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
312
- }, {
313
- token : "string", // single line
314
- regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
315
- }, {
316
- token : "string", // symbol
317
- regex : "[:](?:[a-zA-Z]|\\d)+"
318
- }, {
319
- token : "string.regexp", //Regular Expressions
320
- regex : '/#"(?:\\.|(?:\\\")|[^\""\n])*"/g'
321
- }
322
-
323
- ],
324
- "comment" : [
325
- {
326
- token : "comment", // closing comment
327
- regex : "^=end$",
328
- next : "start"
329
- }, {
330
- token : "comment", // comment spanning whole line
331
- merge : true,
332
- regex : ".+"
333
- }
334
- ]
335
- };
336
- };
337
-
338
- oop.inherits(ClojureHighlightRules, TextHighlightRules);
339
-
340
- exports.ClojureHighlightRules = ClojureHighlightRules;
341
- });
342
- /* ***** BEGIN LICENSE BLOCK *****
343
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
344
- *
345
- * The contents of this file are subject to the Mozilla Public License Version
346
- * 1.1 (the "License"); you may not use this file except in compliance with
347
- * the License. You may obtain a copy of the License at
348
- * http://www.mozilla.org/MPL/
349
- *
350
- * Software distributed under the License is distributed on an "AS IS" basis,
351
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
352
- * for the specific language governing rights and limitations under the
353
- * License.
354
- *
355
- * The Original Code is Ajax.org Code Editor (ACE).
356
- *
357
- * The Initial Developer of the Original Code is
358
- * Ajax.org B.V.
359
- * Portions created by the Initial Developer are Copyright (C) 2010
360
- * the Initial Developer. All Rights Reserved.
361
- *
362
- * Contributor(s):
363
- * Fabian Jakobs <fabian AT ajax DOT org>
364
- *
365
- * Alternatively, the contents of this file may be used under the terms of
366
- * either the GNU General Public License Version 2 or later (the "GPL"), or
367
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
368
- * in which case the provisions of the GPL or the LGPL are applicable instead
369
- * of those above. If you wish to allow use of your version of this file only
370
- * under the terms of either the GPL or the LGPL, and not to allow others to
371
- * use your version of this file under the terms of the MPL, indicate your
372
- * decision by deleting the provisions above and replace them with the notice
373
- * and other provisions required by the GPL or the LGPL. If you do not delete
374
- * the provisions above, a recipient may use your version of this file under
375
- * the terms of any one of the MPL, the GPL or the LGPL.
376
- *
377
- * ***** END LICENSE BLOCK ***** */
378
-
379
- define('ace/mode/matching_parens_outdent', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) {
380
- "use strict";
381
-
382
- var Range = require("../range").Range;
383
-
384
- var MatchingParensOutdent = function() {};
385
-
386
- (function() {
387
-
388
- this.checkOutdent = function(line, input) {
389
- if (! /^\s+$/.test(line))
390
- return false;
391
-
392
- return /^\s*\)/.test(input);
393
- };
394
-
395
- this.autoOutdent = function(doc, row) {
396
- var line = doc.getLine(row);
397
- var match = line.match(/^(\s*\))/);
398
-
399
- if (!match) return 0;
400
-
401
- var column = match[1].length;
402
- var openBracePos = doc.findMatchingBracket({row: row, column: column});
403
-
404
- if (!openBracePos || openBracePos.row == row) return 0;
405
-
406
- var indent = this.$getIndent(doc.getLine(openBracePos.row));
407
- doc.replace(new Range(row, 0, row, column-1), indent);
408
- };
409
-
410
- this.$getIndent = function(line) {
411
- var match = line.match(/^(\s+)/);
412
- if (match) {
413
- return match[1];
414
- }
415
-
416
- return "";
417
- };
418
-
419
- }).call(MatchingParensOutdent.prototype);
420
-
421
- exports.MatchingParensOutdent = MatchingParensOutdent;
422
- });