ace-rails-ap 2.0.1 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (301) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -4
  3. data/lib/ace/rails/version.rb +1 -1
  4. data/vendor/assets/javascripts/ace/ace.js +14194 -13349
  5. data/vendor/assets/javascripts/ace/ext-beautify.js +335 -0
  6. data/vendor/assets/javascripts/ace/ext-chromevox.js +6 -1
  7. data/vendor/assets/javascripts/ace/ext-elastic_tabstops_lite.js +8 -33
  8. data/vendor/assets/javascripts/ace/ext-emmet.js +487 -424
  9. data/vendor/assets/javascripts/ace/ext-error_marker.js +6 -0
  10. data/vendor/assets/javascripts/ace/ext-keybinding_menu.js +45 -72
  11. data/vendor/assets/javascripts/ace/ext-language_tools.js +734 -578
  12. data/vendor/assets/javascripts/ace/ext-linking.js +53 -0
  13. data/vendor/assets/javascripts/ace/ext-modelist.js +25 -10
  14. data/vendor/assets/javascripts/ace/ext-old_ie.js +93 -120
  15. data/vendor/assets/javascripts/ace/ext-searchbox.js +8 -41
  16. data/vendor/assets/javascripts/ace/ext-settings_menu.js +229 -234
  17. data/vendor/assets/javascripts/ace/ext-spellcheck.js +7 -3
  18. data/vendor/assets/javascripts/ace/ext-split.js +13 -37
  19. data/vendor/assets/javascripts/ace/ext-static_highlight.js +16 -39
  20. data/vendor/assets/javascripts/ace/ext-statusbar.js +8 -2
  21. data/vendor/assets/javascripts/ace/ext-textarea.js +254 -99
  22. data/vendor/assets/javascripts/ace/ext-themelist.js +13 -40
  23. data/vendor/assets/javascripts/ace/ext-whitespace.js +17 -41
  24. data/vendor/assets/javascripts/ace/keybinding-emacs.js +803 -788
  25. data/vendor/assets/javascripts/ace/keybinding-vim.js +1559 -1560
  26. data/vendor/assets/javascripts/ace/mode-abap.js +52 -83
  27. data/vendor/assets/javascripts/ace/mode-actionscript.js +27 -63
  28. data/vendor/assets/javascripts/ace/mode-ada.js +27 -58
  29. data/vendor/assets/javascripts/ace/mode-apache_conf.js +310 -0
  30. data/vendor/assets/javascripts/ace/mode-applescript.js +226 -0
  31. data/vendor/assets/javascripts/ace/mode-asciidoc.js +39 -70
  32. data/vendor/assets/javascripts/ace/mode-assembly_x86.js +26 -58
  33. data/vendor/assets/javascripts/ace/mode-autohotkey.js +27 -63
  34. data/vendor/assets/javascripts/ace/mode-batchfile.js +27 -63
  35. data/vendor/assets/javascripts/ace/mode-c9search.js +92 -112
  36. data/vendor/assets/javascripts/ace/mode-c_cpp.js +224 -223
  37. data/vendor/assets/javascripts/ace/mode-cirru.js +202 -0
  38. data/vendor/assets/javascripts/ace/mode-clojure.js +98 -92
  39. data/vendor/assets/javascripts/ace/mode-cobol.js +27 -58
  40. data/vendor/assets/javascripts/ace/mode-coffee.js +90 -122
  41. data/vendor/assets/javascripts/ace/mode-coldfusion.js +1908 -1464
  42. data/vendor/assets/javascripts/ace/mode-csharp.js +291 -264
  43. data/vendor/assets/javascripts/ace/mode-css.js +266 -267
  44. data/vendor/assets/javascripts/ace/mode-curly.js +796 -815
  45. data/vendor/assets/javascripts/ace/mode-d.js +64 -95
  46. data/vendor/assets/javascripts/ace/mode-dart.js +254 -256
  47. data/vendor/assets/javascripts/ace/mode-diff.js +27 -58
  48. data/vendor/assets/javascripts/ace/mode-django.js +856 -866
  49. data/vendor/assets/javascripts/ace/mode-dockerfile.js +759 -0
  50. data/vendor/assets/javascripts/ace/mode-dot.js +106 -106
  51. data/vendor/assets/javascripts/ace/mode-eiffel.js +135 -0
  52. data/vendor/assets/javascripts/ace/mode-ejs.js +931 -938
  53. data/vendor/assets/javascripts/ace/mode-erlang.js +27 -58
  54. data/vendor/assets/javascripts/ace/mode-forth.js +27 -63
  55. data/vendor/assets/javascripts/ace/mode-ftl.js +457 -508
  56. data/vendor/assets/javascripts/ace/mode-gcode.js +85 -0
  57. data/vendor/assets/javascripts/ace/mode-gherkin.js +129 -0
  58. data/vendor/assets/javascripts/ace/mode-gitignore.js +50 -0
  59. data/vendor/assets/javascripts/ace/mode-glsl.js +252 -248
  60. data/vendor/assets/javascripts/ace/mode-golang.js +206 -179
  61. data/vendor/assets/javascripts/ace/mode-groovy.js +310 -242
  62. data/vendor/assets/javascripts/ace/mode-haml.js +156 -190
  63. data/vendor/assets/javascripts/ace/mode-handlebars.js +815 -784
  64. data/vendor/assets/javascripts/ace/mode-haskell.js +27 -63
  65. data/vendor/assets/javascripts/ace/mode-haxe.js +206 -176
  66. data/vendor/assets/javascripts/ace/mode-html.js +779 -792
  67. data/vendor/assets/javascripts/ace/mode-html_ruby.js +916 -923
  68. data/vendor/assets/javascripts/ace/mode-ini.js +27 -58
  69. data/vendor/assets/javascripts/ace/mode-io.js +201 -0
  70. data/vendor/assets/javascripts/ace/mode-jack.js +169 -170
  71. data/vendor/assets/javascripts/ace/mode-jade.js +722 -774
  72. data/vendor/assets/javascripts/ace/mode-java.js +310 -245
  73. data/vendor/assets/javascripts/ace/mode-javascript.js +285 -247
  74. data/vendor/assets/javascripts/ace/mode-json.js +183 -184
  75. data/vendor/assets/javascripts/ace/mode-jsoniq.js +3211 -1274
  76. data/vendor/assets/javascripts/ace/mode-jsp.js +481 -504
  77. data/vendor/assets/javascripts/ace/mode-jsx.js +206 -176
  78. data/vendor/assets/javascripts/ace/mode-julia.js +33 -69
  79. data/vendor/assets/javascripts/ace/mode-latex.js +74 -41
  80. data/vendor/assets/javascripts/ace/mode-less.js +250 -251
  81. data/vendor/assets/javascripts/ace/mode-liquid.js +424 -475
  82. data/vendor/assets/javascripts/ace/mode-lisp.js +24 -57
  83. data/vendor/assets/javascripts/ace/mode-livescript.js +42 -41
  84. data/vendor/assets/javascripts/ace/mode-logiql.js +229 -230
  85. data/vendor/assets/javascripts/ace/mode-lsl.js +200 -441
  86. data/vendor/assets/javascripts/ace/mode-lua.js +136 -167
  87. data/vendor/assets/javascripts/ace/mode-luapage.js +904 -884
  88. data/vendor/assets/javascripts/ace/mode-lucene.js +22 -17
  89. data/vendor/assets/javascripts/ace/mode-makefile.js +162 -137
  90. data/vendor/assets/javascripts/ace/mode-markdown.js +846 -854
  91. data/vendor/assets/javascripts/ace/mode-matlab.js +98 -72
  92. data/vendor/assets/javascripts/ace/mode-mel.js +569 -0
  93. data/vendor/assets/javascripts/ace/mode-mushcode.js +84 -115
  94. data/vendor/assets/javascripts/ace/mode-mysql.js +49 -80
  95. data/vendor/assets/javascripts/ace/mode-nix.js +252 -256
  96. data/vendor/assets/javascripts/ace/mode-objectivec.js +242 -274
  97. data/vendor/assets/javascripts/ace/mode-ocaml.js +71 -102
  98. data/vendor/assets/javascripts/ace/mode-pascal.js +32 -68
  99. data/vendor/assets/javascripts/ace/mode-perl.js +67 -98
  100. data/vendor/assets/javascripts/ace/mode-pgsql.js +990 -982
  101. data/vendor/assets/javascripts/ace/mode-php.js +1878 -1900
  102. data/vendor/assets/javascripts/ace/mode-plain_text.js +3 -34
  103. data/vendor/assets/javascripts/ace/mode-powershell.js +181 -151
  104. data/vendor/assets/javascripts/ace/mode-praat.js +418 -0
  105. data/vendor/assets/javascripts/ace/mode-prolog.js +27 -63
  106. data/vendor/assets/javascripts/ace/mode-properties.js +20 -48
  107. data/vendor/assets/javascripts/ace/mode-protobuf.js +252 -259
  108. data/vendor/assets/javascripts/ace/mode-python.js +84 -115
  109. data/vendor/assets/javascripts/ace/mode-r.js +105 -140
  110. data/vendor/assets/javascripts/ace/mode-rdoc.js +84 -89
  111. data/vendor/assets/javascripts/ace/mode-rhtml.js +892 -908
  112. data/vendor/assets/javascripts/ace/mode-ruby.js +434 -98
  113. data/vendor/assets/javascripts/ace/mode-rust.js +27 -63
  114. data/vendor/assets/javascripts/ace/mode-sass.js +75 -106
  115. data/vendor/assets/javascripts/ace/mode-scad.js +219 -220
  116. data/vendor/assets/javascripts/ace/mode-scala.js +311 -243
  117. data/vendor/assets/javascripts/ace/mode-scheme.js +24 -60
  118. data/vendor/assets/javascripts/ace/mode-scss.js +250 -251
  119. data/vendor/assets/javascripts/ace/mode-sh.js +506 -118
  120. data/vendor/assets/javascripts/ace/mode-sjs.js +314 -280
  121. data/vendor/assets/javascripts/ace/mode-smarty.js +2474 -0
  122. data/vendor/assets/javascripts/ace/mode-snippets.js +89 -89
  123. data/vendor/assets/javascripts/ace/mode-soy_template.js +792 -811
  124. data/vendor/assets/javascripts/ace/mode-space.js +22 -23
  125. data/vendor/assets/javascripts/ace/mode-sql.js +31 -58
  126. data/vendor/assets/javascripts/ace/mode-stylus.js +161 -197
  127. data/vendor/assets/javascripts/ace/mode-svg.js +906 -836
  128. data/vendor/assets/javascripts/ace/mode-tcl.js +61 -92
  129. data/vendor/assets/javascripts/ace/mode-tex.js +36 -73
  130. data/vendor/assets/javascripts/ace/mode-text.js +1 -0
  131. data/vendor/assets/javascripts/ace/mode-textile.js +41 -72
  132. data/vendor/assets/javascripts/ace/mode-toml.js +26 -62
  133. data/vendor/assets/javascripts/ace/mode-twig.js +1196 -892
  134. data/vendor/assets/javascripts/ace/mode-typescript.js +313 -277
  135. data/vendor/assets/javascripts/ace/mode-vala.js +982 -0
  136. data/vendor/assets/javascripts/ace/mode-vbscript.js +25 -62
  137. data/vendor/assets/javascripts/ace/mode-velocity.js +2251 -1242
  138. data/vendor/assets/javascripts/ace/mode-verilog.js +27 -59
  139. data/vendor/assets/javascripts/ace/mode-vhdl.js +26 -55
  140. data/vendor/assets/javascripts/ace/mode-xml.js +319 -644
  141. data/vendor/assets/javascripts/ace/mode-xquery.js +2503 -588
  142. data/vendor/assets/javascripts/ace/mode-yaml.js +56 -90
  143. data/vendor/assets/javascripts/ace/snippets/abap.js +7 -0
  144. data/vendor/assets/javascripts/ace/snippets/actionscript.js +159 -0
  145. data/vendor/assets/javascripts/ace/snippets/ada.js +7 -0
  146. data/vendor/assets/javascripts/ace/snippets/apache_conf.js +7 -0
  147. data/vendor/assets/javascripts/ace/snippets/applescript.js +7 -0
  148. data/vendor/assets/javascripts/ace/snippets/asciidoc.js +7 -0
  149. data/vendor/assets/javascripts/ace/snippets/assembly_x86.js +7 -0
  150. data/vendor/assets/javascripts/ace/snippets/autohotkey.js +7 -0
  151. data/vendor/assets/javascripts/ace/snippets/batchfile.js +7 -0
  152. data/vendor/assets/javascripts/ace/snippets/c9search.js +7 -0
  153. data/vendor/assets/javascripts/ace/snippets/c_cpp.js +138 -0
  154. data/vendor/assets/javascripts/ace/snippets/cirru.js +7 -0
  155. data/vendor/assets/javascripts/ace/snippets/clojure.js +97 -0
  156. data/vendor/assets/javascripts/ace/snippets/cobol.js +7 -0
  157. data/vendor/assets/javascripts/ace/snippets/coffee.js +102 -0
  158. data/vendor/assets/javascripts/ace/snippets/coldfusion.js +7 -0
  159. data/vendor/assets/javascripts/ace/snippets/csharp.js +7 -0
  160. data/vendor/assets/javascripts/ace/snippets/css.js +974 -0
  161. data/vendor/assets/javascripts/ace/snippets/curly.js +7 -0
  162. data/vendor/assets/javascripts/ace/snippets/d.js +7 -0
  163. data/vendor/assets/javascripts/ace/snippets/dart.js +90 -0
  164. data/vendor/assets/javascripts/ace/snippets/diff.js +18 -0
  165. data/vendor/assets/javascripts/ace/snippets/django.js +115 -0
  166. data/vendor/assets/javascripts/ace/snippets/dockerfile.js +7 -0
  167. data/vendor/assets/javascripts/ace/snippets/dot.js +7 -0
  168. data/vendor/assets/javascripts/ace/snippets/eiffel.js +7 -0
  169. data/vendor/assets/javascripts/ace/snippets/ejs.js +7 -0
  170. data/vendor/assets/javascripts/ace/snippets/erlang.js +167 -0
  171. data/vendor/assets/javascripts/ace/snippets/forth.js +7 -0
  172. data/vendor/assets/javascripts/ace/snippets/ftl.js +7 -0
  173. data/vendor/assets/javascripts/ace/snippets/gcode.js +7 -0
  174. data/vendor/assets/javascripts/ace/snippets/gherkin.js +7 -0
  175. data/vendor/assets/javascripts/ace/snippets/gitignore.js +7 -0
  176. data/vendor/assets/javascripts/ace/snippets/glsl.js +7 -0
  177. data/vendor/assets/javascripts/ace/snippets/golang.js +7 -0
  178. data/vendor/assets/javascripts/ace/snippets/groovy.js +7 -0
  179. data/vendor/assets/javascripts/ace/snippets/haml.js +27 -0
  180. data/vendor/assets/javascripts/ace/snippets/handlebars.js +7 -0
  181. data/vendor/assets/javascripts/ace/snippets/haskell.js +89 -0
  182. data/vendor/assets/javascripts/ace/snippets/haxe.js +7 -0
  183. data/vendor/assets/javascripts/ace/snippets/html.js +835 -0
  184. data/vendor/assets/javascripts/ace/snippets/html_ruby.js +7 -0
  185. data/vendor/assets/javascripts/ace/snippets/ini.js +7 -0
  186. data/vendor/assets/javascripts/ace/snippets/io.js +69 -0
  187. data/vendor/assets/javascripts/ace/snippets/jack.js +7 -0
  188. data/vendor/assets/javascripts/ace/snippets/jade.js +7 -0
  189. data/vendor/assets/javascripts/ace/snippets/java.js +241 -0
  190. data/vendor/assets/javascripts/ace/snippets/javascript.js +189 -0
  191. data/vendor/assets/javascripts/ace/snippets/json.js +7 -0
  192. data/vendor/assets/javascripts/ace/snippets/jsoniq.js +68 -0
  193. data/vendor/assets/javascripts/ace/snippets/jsp.js +106 -0
  194. data/vendor/assets/javascripts/ace/snippets/jsx.js +7 -0
  195. data/vendor/assets/javascripts/ace/snippets/julia.js +7 -0
  196. data/vendor/assets/javascripts/ace/snippets/latex.js +7 -0
  197. data/vendor/assets/javascripts/ace/snippets/less.js +7 -0
  198. data/vendor/assets/javascripts/ace/snippets/liquid.js +7 -0
  199. data/vendor/assets/javascripts/ace/snippets/lisp.js +7 -0
  200. data/vendor/assets/javascripts/ace/snippets/livescript.js +7 -0
  201. data/vendor/assets/javascripts/ace/snippets/logiql.js +7 -0
  202. data/vendor/assets/javascripts/ace/snippets/lsl.js +1073 -0
  203. data/vendor/assets/javascripts/ace/snippets/lua.js +28 -0
  204. data/vendor/assets/javascripts/ace/snippets/luapage.js +7 -0
  205. data/vendor/assets/javascripts/ace/snippets/lucene.js +7 -0
  206. data/vendor/assets/javascripts/ace/snippets/makefile.js +11 -0
  207. data/vendor/assets/javascripts/ace/snippets/markdown.js +95 -0
  208. data/vendor/assets/javascripts/ace/snippets/matlab.js +7 -0
  209. data/vendor/assets/javascripts/ace/snippets/mel.js +7 -0
  210. data/vendor/assets/javascripts/ace/snippets/mushcode.js +7 -0
  211. data/vendor/assets/javascripts/ace/snippets/mysql.js +7 -0
  212. data/vendor/assets/javascripts/ace/snippets/nix.js +7 -0
  213. data/vendor/assets/javascripts/ace/snippets/objectivec.js +7 -0
  214. data/vendor/assets/javascripts/ace/snippets/ocaml.js +7 -0
  215. data/vendor/assets/javascripts/ace/snippets/pascal.js +7 -0
  216. data/vendor/assets/javascripts/ace/snippets/perl.js +354 -0
  217. data/vendor/assets/javascripts/ace/snippets/pgsql.js +7 -0
  218. data/vendor/assets/javascripts/ace/snippets/php.js +283 -0
  219. data/vendor/assets/javascripts/ace/snippets/plain_text.js +7 -0
  220. data/vendor/assets/javascripts/ace/snippets/powershell.js +7 -0
  221. data/vendor/assets/javascripts/ace/snippets/praat.js +7 -0
  222. data/vendor/assets/javascripts/ace/snippets/prolog.js +7 -0
  223. data/vendor/assets/javascripts/ace/snippets/properties.js +7 -0
  224. data/vendor/assets/javascripts/ace/snippets/protobuf.js +7 -0
  225. data/vendor/assets/javascripts/ace/snippets/python.js +165 -0
  226. data/vendor/assets/javascripts/ace/snippets/r.js +128 -0
  227. data/vendor/assets/javascripts/ace/snippets/rdoc.js +7 -0
  228. data/vendor/assets/javascripts/ace/snippets/rhtml.js +7 -0
  229. data/vendor/assets/javascripts/ace/snippets/ruby.js +935 -0
  230. data/vendor/assets/javascripts/ace/snippets/rust.js +7 -0
  231. data/vendor/assets/javascripts/ace/snippets/sass.js +7 -0
  232. data/vendor/assets/javascripts/ace/snippets/scad.js +7 -0
  233. data/vendor/assets/javascripts/ace/snippets/scala.js +7 -0
  234. data/vendor/assets/javascripts/ace/snippets/scheme.js +7 -0
  235. data/vendor/assets/javascripts/ace/snippets/scss.js +7 -0
  236. data/vendor/assets/javascripts/ace/snippets/sh.js +90 -0
  237. data/vendor/assets/javascripts/ace/snippets/sjs.js +7 -0
  238. data/vendor/assets/javascripts/ace/snippets/smarty.js +7 -0
  239. data/vendor/assets/javascripts/ace/snippets/snippets.js +16 -0
  240. data/vendor/assets/javascripts/ace/snippets/soy_template.js +7 -0
  241. data/vendor/assets/javascripts/ace/snippets/space.js +7 -0
  242. data/vendor/assets/javascripts/ace/snippets/sql.js +33 -0
  243. data/vendor/assets/javascripts/ace/snippets/stylus.js +7 -0
  244. data/vendor/assets/javascripts/ace/snippets/svg.js +7 -0
  245. data/vendor/assets/javascripts/ace/snippets/tcl.js +99 -0
  246. data/vendor/assets/javascripts/ace/snippets/tex.js +197 -0
  247. data/vendor/assets/javascripts/ace/snippets/text.js +7 -0
  248. data/vendor/assets/javascripts/ace/snippets/textile.js +37 -0
  249. data/vendor/assets/javascripts/ace/snippets/toml.js +7 -0
  250. data/vendor/assets/javascripts/ace/snippets/twig.js +7 -0
  251. data/vendor/assets/javascripts/ace/snippets/typescript.js +7 -0
  252. data/vendor/assets/javascripts/ace/snippets/vala.js +193 -0
  253. data/vendor/assets/javascripts/ace/snippets/vbscript.js +7 -0
  254. data/vendor/assets/javascripts/ace/snippets/velocity.js +36 -0
  255. data/vendor/assets/javascripts/ace/snippets/verilog.js +7 -0
  256. data/vendor/assets/javascripts/ace/snippets/vhdl.js +7 -0
  257. data/vendor/assets/javascripts/ace/snippets/xml.js +7 -0
  258. data/vendor/assets/javascripts/ace/snippets/xquery.js +68 -0
  259. data/vendor/assets/javascripts/ace/snippets/yaml.js +7 -0
  260. data/vendor/assets/javascripts/ace/theme-ambiance.js +4 -24
  261. data/vendor/assets/javascripts/ace/theme-chaos.js +2 -25
  262. data/vendor/assets/javascripts/ace/theme-chrome.js +2 -31
  263. data/vendor/assets/javascripts/ace/theme-clouds.js +1 -31
  264. data/vendor/assets/javascripts/ace/theme-clouds_midnight.js +1 -31
  265. data/vendor/assets/javascripts/ace/theme-cobalt.js +1 -31
  266. data/vendor/assets/javascripts/ace/theme-crimson_editor.js +1 -31
  267. data/vendor/assets/javascripts/ace/theme-dawn.js +1 -31
  268. data/vendor/assets/javascripts/ace/theme-dreamweaver.js +5 -31
  269. data/vendor/assets/javascripts/ace/theme-eclipse.js +7 -33
  270. data/vendor/assets/javascripts/ace/theme-github.js +2 -35
  271. data/vendor/assets/javascripts/ace/theme-idle_fingers.js +1 -31
  272. data/vendor/assets/javascripts/ace/theme-katzenmilch.js +119 -0
  273. data/vendor/assets/javascripts/ace/theme-kr.js +1 -31
  274. data/vendor/assets/javascripts/ace/theme-kr_theme.js +57 -141
  275. data/vendor/assets/javascripts/ace/theme-kuroir.js +59 -0
  276. data/vendor/assets/javascripts/ace/theme-merbivore.js +1 -31
  277. data/vendor/assets/javascripts/ace/theme-merbivore_soft.js +1 -31
  278. data/vendor/assets/javascripts/ace/theme-mono_industrial.js +1 -31
  279. data/vendor/assets/javascripts/ace/theme-monokai.js +1 -31
  280. data/vendor/assets/javascripts/ace/theme-pastel_on_dark.js +1 -31
  281. data/vendor/assets/javascripts/ace/theme-solarized_dark.js +1 -31
  282. data/vendor/assets/javascripts/ace/theme-solarized_light.js +1 -31
  283. data/vendor/assets/javascripts/ace/theme-terminal.js +1 -31
  284. data/vendor/assets/javascripts/ace/theme-textmate.js +3 -32
  285. data/vendor/assets/javascripts/ace/theme-tomorrow.js +1 -31
  286. data/vendor/assets/javascripts/ace/theme-tomorrow_night.js +1 -31
  287. data/vendor/assets/javascripts/ace/theme-tomorrow_night_blue.js +1 -31
  288. data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright.js +1 -31
  289. data/vendor/assets/javascripts/ace/theme-tomorrow_night_eighties.js +1 -31
  290. data/vendor/assets/javascripts/ace/theme-twilight.js +1 -31
  291. data/vendor/assets/javascripts/ace/theme-vibrant_ink.js +1 -31
  292. data/vendor/assets/javascripts/ace/theme-xcode.js +2 -33
  293. data/vendor/assets/javascripts/ace/worker-coffee.js +5026 -5008
  294. data/vendor/assets/javascripts/ace/worker-css.js +5489 -5134
  295. data/vendor/assets/javascripts/ace/worker-html.js +11517 -0
  296. data/vendor/assets/javascripts/ace/worker-javascript.js +9810 -9501
  297. data/vendor/assets/javascripts/ace/worker-json.js +1583 -1564
  298. data/vendor/assets/javascripts/ace/worker-lua.js +2631 -2612
  299. data/vendor/assets/javascripts/ace/worker-php.js +2385 -2341
  300. data/vendor/assets/javascripts/ace/worker-xquery.js +31643 -3993
  301. metadata +147 -11
@@ -1,60 +1,5 @@
1
- /* ***** BEGIN LICENSE BLOCK *****
2
- * Distributed under the BSD license:
3
- *
4
- * Copyright (c) 2012, Ajax.org B.V.
5
- * All rights reserved.
6
- *
7
- * Redistribution and use in source and binary forms, with or without
8
- * modification, are permitted provided that the following conditions are met:
9
- * * Redistributions of source code must retain the above copyright
10
- * notice, this list of conditions and the following disclaimer.
11
- * * Redistributions in binary form must reproduce the above copyright
12
- * notice, this list of conditions and the following disclaimer in the
13
- * documentation and/or other materials provided with the distribution.
14
- * * Neither the name of Ajax.org B.V. nor the
15
- * names of its contributors may be used to endorse or promote products
16
- * derived from this software without specific prior written permission.
17
- *
18
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
- * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY
22
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
- *
29
- *
30
- * ***** END LICENSE BLOCK ***** */
31
-
32
- define('ace/mode/lisp', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/lisp_highlight_rules'], function(require, exports, module) {
33
-
34
-
35
- var oop = require("../lib/oop");
36
- var TextMode = require("./text").Mode;
37
- var Tokenizer = require("../tokenizer").Tokenizer;
38
- var LispHighlightRules = require("./lisp_highlight_rules").LispHighlightRules;
39
-
40
- var Mode = function() {
41
- this.HighlightRules = LispHighlightRules;
42
- };
43
- oop.inherits(Mode, TextMode);
44
-
45
- (function() {
46
-
47
- this.lineCommentStart = ";";
48
-
49
- this.$id = "ace/mode/lisp";
50
- }).call(Mode.prototype);
51
-
52
- exports.Mode = Mode;
53
- });
54
-
55
-
56
- define('ace/mode/lisp_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) {
57
-
1
+ define("ace/mode/lisp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
2
+ "use strict";
58
3
 
59
4
  var oop = require("../lib/oop");
60
5
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
@@ -135,3 +80,25 @@ oop.inherits(LispHighlightRules, TextHighlightRules);
135
80
 
136
81
  exports.LispHighlightRules = LispHighlightRules;
137
82
  });
83
+
84
+ define("ace/mode/lisp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/lisp_highlight_rules"], function(require, exports, module) {
85
+ "use strict";
86
+
87
+ var oop = require("../lib/oop");
88
+ var TextMode = require("./text").Mode;
89
+ var LispHighlightRules = require("./lisp_highlight_rules").LispHighlightRules;
90
+
91
+ var Mode = function() {
92
+ this.HighlightRules = LispHighlightRules;
93
+ };
94
+ oop.inherits(Mode, TextMode);
95
+
96
+ (function() {
97
+
98
+ this.lineCommentStart = ";";
99
+
100
+ this.$id = "ace/mode/lisp";
101
+ }).call(Mode.prototype);
102
+
103
+ exports.Mode = Mode;
104
+ });
@@ -1,4 +1,44 @@
1
- define('ace/mode/livescript', ['require', 'exports', 'module' , 'ace/tokenizer', 'ace/mode/matching_brace_outdent', 'ace/range', 'ace/mode/text'], function(require, exports, module) {
1
+ define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
2
+ "use strict";
3
+
4
+ var Range = require("../range").Range;
5
+
6
+ var MatchingBraceOutdent = function() {};
7
+
8
+ (function() {
9
+
10
+ this.checkOutdent = function(line, input) {
11
+ if (! /^\s+$/.test(line))
12
+ return false;
13
+
14
+ return /^\s*\}/.test(input);
15
+ };
16
+
17
+ this.autoOutdent = function(doc, row) {
18
+ var line = doc.getLine(row);
19
+ var match = line.match(/^(\s*\})/);
20
+
21
+ if (!match) return 0;
22
+
23
+ var column = match[1].length;
24
+ var openBracePos = doc.findMatchingBracket({row: row, column: column});
25
+
26
+ if (!openBracePos || openBracePos.row == row) return 0;
27
+
28
+ var indent = this.$getIndent(doc.getLine(openBracePos.row));
29
+ doc.replace(new Range(row, 0, row, column-1), indent);
30
+ };
31
+
32
+ this.$getIndent = function(line) {
33
+ return line.match(/^\s*/)[0];
34
+ };
35
+
36
+ }).call(MatchingBraceOutdent.prototype);
37
+
38
+ exports.MatchingBraceOutdent = MatchingBraceOutdent;
39
+ });
40
+
41
+ define("ace/mode/livescript",["require","exports","module","ace/tokenizer","ace/mode/matching_brace_outdent","ace/range","ace/mode/text"], function(require, exports, module){
2
42
  var identifier, LiveScriptMode, keywordend, stringfill;
3
43
  identifier = '(?![\\d\\s])[$\\w\\xAA-\\uFFDC](?:(?!\\s)[$\\w\\xAA-\\uFFDC]|-[A-Za-z])*';
4
44
  exports.Mode = LiveScriptMode = (function(superclass){
@@ -9,6 +49,7 @@ define('ace/mode/livescript', ['require', 'exports', 'module' , 'ace/tokenizer',
9
49
  if (that = require('../mode/matching_brace_outdent')) {
10
50
  this.$outdent = new that.MatchingBraceOutdent;
11
51
  }
52
+ this.$id = "ace/mode/livescript";
12
53
  }
13
54
  indenter = RegExp('(?:[({[=:]|[-~]>|\\b(?:e(?:lse|xport)|d(?:o|efault)|t(?:ry|hen)|finally|import(?:\\s*all)?|const|var|let|new|catch(?:\\s*' + identifier + ')?))\\s*$');
14
55
  prototype.getNextLineIndent = function(state, line, tab){
@@ -246,43 +287,3 @@ function import$(obj, src){
246
287
  return obj;
247
288
  }
248
289
  });
249
-
250
- define('ace/mode/matching_brace_outdent', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) {
251
-
252
-
253
- var Range = require("../range").Range;
254
-
255
- var MatchingBraceOutdent = function() {};
256
-
257
- (function() {
258
-
259
- this.checkOutdent = function(line, input) {
260
- if (! /^\s+$/.test(line))
261
- return false;
262
-
263
- return /^\s*\}/.test(input);
264
- };
265
-
266
- this.autoOutdent = function(doc, row) {
267
- var line = doc.getLine(row);
268
- var match = line.match(/^(\s*\})/);
269
-
270
- if (!match) return 0;
271
-
272
- var column = match[1].length;
273
- var openBracePos = doc.findMatchingBracket({row: row, column: column});
274
-
275
- if (!openBracePos || openBracePos.row == row) return 0;
276
-
277
- var indent = this.$getIndent(doc.getLine(openBracePos.row));
278
- doc.replace(new Range(row, 0, row, column-1), indent);
279
- };
280
-
281
- this.$getIndent = function(line) {
282
- return line.match(/^\s*/)[0];
283
- };
284
-
285
- }).call(MatchingBraceOutdent.prototype);
286
-
287
- exports.MatchingBraceOutdent = MatchingBraceOutdent;
288
- });
@@ -1,146 +1,5 @@
1
- /* ***** BEGIN LICENSE BLOCK *****
2
- * Distributed under the BSD license:
3
- *
4
- * Copyright (c) 2012, Ajax.org B.V.
5
- * All rights reserved.
6
- *
7
- * Redistribution and use in source and binary forms, with or without
8
- * modification, are permitted provided that the following conditions are met:
9
- * * Redistributions of source code must retain the above copyright
10
- * notice, this list of conditions and the following disclaimer.
11
- * * Redistributions in binary form must reproduce the above copyright
12
- * notice, this list of conditions and the following disclaimer in the
13
- * documentation and/or other materials provided with the distribution.
14
- * * Neither the name of Ajax.org B.V. nor the
15
- * names of its contributors may be used to endorse or promote products
16
- * derived from this software without specific prior written permission.
17
- *
18
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
- * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY
22
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
- *
29
- * ***** END LICENSE BLOCK ***** */
30
-
31
- define('ace/mode/logiql', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/logiql_highlight_rules', 'ace/mode/folding/coffee', 'ace/token_iterator', 'ace/range', 'ace/mode/behaviour/cstyle', 'ace/mode/matching_brace_outdent'], function(require, exports, module) {
32
-
33
-
34
- var oop = require("../lib/oop");
35
- var TextMode = require("./text").Mode;
36
- var Tokenizer = require("../tokenizer").Tokenizer;
37
- var LogiQLHighlightRules = require("./logiql_highlight_rules").LogiQLHighlightRules;
38
- var FoldMode = require("./folding/coffee").FoldMode;
39
- var TokenIterator = require("../token_iterator").TokenIterator;
40
- var Range = require("../range").Range;
41
- var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
42
- var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
43
-
44
- var Mode = function() {
45
- this.HighlightRules = LogiQLHighlightRules;
46
- this.foldingRules = new FoldMode();
47
- this.$outdent = new MatchingBraceOutdent();
48
- this.$behaviour = new CstyleBehaviour();
49
- };
50
- oop.inherits(Mode, TextMode);
51
-
52
- (function() {
53
- this.lineCommentStart = "//";
54
- this.blockComment = {start: "/*", end: "*/"};
55
-
56
- this.getNextLineIndent = function(state, line, tab) {
57
- var indent = this.$getIndent(line);
58
-
59
- var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
60
- var tokens = tokenizedLine.tokens;
61
- var endState = tokenizedLine.state;
62
- if (/comment|string/.test(endState))
63
- return indent;
64
- if (tokens.length && tokens[tokens.length - 1].type == "comment.single")
65
- return indent;
66
-
67
- var match = line.match();
68
- if (/(-->|<--|<-|->|{)\s*$/.test(line))
69
- indent += tab;
70
- return indent;
71
- };
72
-
73
- this.checkOutdent = function(state, line, input) {
74
- if (this.$outdent.checkOutdent(line, input))
75
- return true;
76
-
77
- if (input !== "\n" && input !== "\r\n")
78
- return false;
79
-
80
- if (!/^\s+/.test(line))
81
- return false;
82
-
83
- return true;
84
- };
85
-
86
- this.autoOutdent = function(state, doc, row) {
87
- if (this.$outdent.autoOutdent(doc, row))
88
- return;
89
- var prevLine = doc.getLine(row);
90
- var match = prevLine.match(/^\s+/);
91
- var column = prevLine.lastIndexOf(".") + 1;
92
- if (!match || !row || !column) return 0;
93
-
94
- var line = doc.getLine(row + 1);
95
- var startRange = this.getMatching(doc, {row: row, column: column});
96
- if (!startRange || startRange.start.row == row) return 0;
97
-
98
- column = match[0].length;
99
- var indent = this.$getIndent(doc.getLine(startRange.start.row));
100
- doc.replace(new Range(row + 1, 0, row + 1, column), indent);
101
- };
102
-
103
- this.getMatching = function(session, row, column) {
104
- if (row == undefined)
105
- row = session.selection.lead
106
- if (typeof row == "object") {
107
- column = row.column;
108
- row = row.row;
109
- }
110
-
111
- var startToken = session.getTokenAt(row, column);
112
- var KW_START = "keyword.start", KW_END = "keyword.end";
113
- var tok;
114
- if (!startToken)
115
- return;
116
- if (startToken.type == KW_START) {
117
- var it = new TokenIterator(session, row, column);
118
- it.step = it.stepForward;
119
- } else if (startToken.type == KW_END) {
120
- var it = new TokenIterator(session, row, column);
121
- it.step = it.stepBackward;
122
- } else
123
- return;
124
-
125
- while (tok = it.step()) {
126
- if (tok.type == KW_START || tok.type == KW_END)
127
- break;
128
- }
129
- if (!tok || tok.type == startToken.type)
130
- return;
131
-
132
- var col = it.getCurrentTokenColumn();
133
- var row = it.getCurrentTokenRow();
134
- return new Range(row, col, row, col + tok.value.length);
135
- };
136
- this.$id = "ace/mode/logiql";
137
- }).call(Mode.prototype);
138
-
139
- exports.Mode = Mode;
140
- });
141
-
142
- define('ace/mode/logiql_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) {
143
-
1
+ define("ace/mode/logiql_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
2
+ "use strict";
144
3
 
145
4
  var oop = require("../lib/oop");
146
5
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
@@ -213,8 +72,8 @@ oop.inherits(LogiQLHighlightRules, TextHighlightRules);
213
72
  exports.LogiQLHighlightRules = LogiQLHighlightRules;
214
73
  });
215
74
 
216
- define('ace/mode/folding/coffee', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/folding/fold_mode', 'ace/range'], function(require, exports, module) {
217
-
75
+ define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"], function(require, exports, module) {
76
+ "use strict";
218
77
 
219
78
  var oop = require("../../lib/oop");
220
79
  var BaseFoldMode = require("./fold_mode").FoldMode;
@@ -300,8 +159,8 @@ oop.inherits(FoldMode, BaseFoldMode);
300
159
 
301
160
  });
302
161
 
303
- define('ace/mode/behaviour/cstyle', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/behaviour', 'ace/token_iterator', 'ace/lib/lang'], function(require, exports, module) {
304
-
162
+ define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(require, exports, module) {
163
+ "use strict";
305
164
 
306
165
  var oop = require("../../lib/oop");
307
166
  var Behaviour = require("../behaviour").Behaviour;
@@ -313,83 +172,34 @@ var SAFE_INSERT_IN_TOKENS =
313
172
  var SAFE_INSERT_BEFORE_TOKENS =
314
173
  ["text", "paren.rparen", "punctuation.operator", "comment"];
315
174
 
316
-
317
- var autoInsertedBrackets = 0;
318
- var autoInsertedRow = -1;
319
- var autoInsertedLineEnd = "";
320
- var maybeInsertedBrackets = 0;
321
- var maybeInsertedRow = -1;
322
- var maybeInsertedLineStart = "";
323
- var maybeInsertedLineEnd = "";
324
-
325
- var CstyleBehaviour = function () {
326
-
327
- CstyleBehaviour.isSaneInsertion = function(editor, session) {
328
- var cursor = editor.getCursorPosition();
329
- var iterator = new TokenIterator(session, cursor.row, cursor.column);
330
- if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
331
- var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
332
- if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
333
- return false;
334
- }
335
- iterator.stepForward();
336
- return iterator.getCurrentTokenRow() !== cursor.row ||
337
- this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
338
- };
339
-
340
- CstyleBehaviour.$matchTokenType = function(token, types) {
341
- return types.indexOf(token.type || token) > -1;
342
- };
343
-
344
- CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
345
- var cursor = editor.getCursorPosition();
346
- var line = session.doc.getLine(cursor.row);
347
- if (!this.isAutoInsertedClosing(cursor, line, autoInsertedLineEnd[0]))
348
- autoInsertedBrackets = 0;
349
- autoInsertedRow = cursor.row;
350
- autoInsertedLineEnd = bracket + line.substr(cursor.column);
351
- autoInsertedBrackets++;
352
- };
353
-
354
- CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
355
- var cursor = editor.getCursorPosition();
356
- var line = session.doc.getLine(cursor.row);
357
- if (!this.isMaybeInsertedClosing(cursor, line))
358
- maybeInsertedBrackets = 0;
359
- maybeInsertedRow = cursor.row;
360
- maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
361
- maybeInsertedLineEnd = line.substr(cursor.column);
362
- maybeInsertedBrackets++;
363
- };
364
-
365
- CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
366
- return autoInsertedBrackets > 0 &&
367
- cursor.row === autoInsertedRow &&
368
- bracket === autoInsertedLineEnd[0] &&
369
- line.substr(cursor.column) === autoInsertedLineEnd;
370
- };
371
-
372
- CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
373
- return maybeInsertedBrackets > 0 &&
374
- cursor.row === maybeInsertedRow &&
375
- line.substr(cursor.column) === maybeInsertedLineEnd &&
376
- line.substr(0, cursor.column) == maybeInsertedLineStart;
377
- };
378
-
379
- CstyleBehaviour.popAutoInsertedClosing = function() {
380
- autoInsertedLineEnd = autoInsertedLineEnd.substr(1);
381
- autoInsertedBrackets--;
382
- };
383
-
384
- CstyleBehaviour.clearMaybeInsertedClosing = function() {
385
- maybeInsertedBrackets = 0;
386
- maybeInsertedRow = -1;
175
+ var context;
176
+ var contextCache = {}
177
+ var initContext = function(editor) {
178
+ var id = -1;
179
+ if (editor.multiSelect) {
180
+ id = editor.selection.id;
181
+ if (contextCache.rangeCount != editor.multiSelect.rangeCount)
182
+ contextCache = {rangeCount: editor.multiSelect.rangeCount};
183
+ }
184
+ if (contextCache[id])
185
+ return context = contextCache[id];
186
+ context = contextCache[id] = {
187
+ autoInsertedBrackets: 0,
188
+ autoInsertedRow: -1,
189
+ autoInsertedLineEnd: "",
190
+ maybeInsertedBrackets: 0,
191
+ maybeInsertedRow: -1,
192
+ maybeInsertedLineStart: "",
193
+ maybeInsertedLineEnd: ""
387
194
  };
195
+ };
388
196
 
389
- this.add("braces", "insertion", function (state, action, editor, session, text) {
197
+ var CstyleBehaviour = function() {
198
+ this.add("braces", "insertion", function(state, action, editor, session, text) {
390
199
  var cursor = editor.getCursorPosition();
391
200
  var line = session.doc.getLine(cursor.row);
392
201
  if (text == '{') {
202
+ initContext(editor);
393
203
  var selection = editor.getSelectionRange();
394
204
  var selected = session.doc.getTextRange(selection);
395
205
  if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
@@ -413,6 +223,7 @@ var CstyleBehaviour = function () {
413
223
  }
414
224
  }
415
225
  } else if (text == '}') {
226
+ initContext(editor);
416
227
  var rightChar = line.substring(cursor.column, cursor.column + 1);
417
228
  if (rightChar == '}') {
418
229
  var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
@@ -425,9 +236,10 @@ var CstyleBehaviour = function () {
425
236
  }
426
237
  }
427
238
  } else if (text == "\n" || text == "\r\n") {
239
+ initContext(editor);
428
240
  var closing = "";
429
241
  if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {
430
- closing = lang.stringRepeat("}", maybeInsertedBrackets);
242
+ closing = lang.stringRepeat("}", context.maybeInsertedBrackets);
431
243
  CstyleBehaviour.clearMaybeInsertedClosing();
432
244
  }
433
245
  var rightChar = line.substring(cursor.column, cursor.column + 1);
@@ -439,6 +251,7 @@ var CstyleBehaviour = function () {
439
251
  } else if (closing) {
440
252
  var next_indent = this.$getIndent(line);
441
253
  } else {
254
+ CstyleBehaviour.clearMaybeInsertedClosing();
442
255
  return;
443
256
  }
444
257
  var indent = next_indent + session.getTabString();
@@ -452,22 +265,24 @@ var CstyleBehaviour = function () {
452
265
  }
453
266
  });
454
267
 
455
- this.add("braces", "deletion", function (state, action, editor, session, range) {
268
+ this.add("braces", "deletion", function(state, action, editor, session, range) {
456
269
  var selected = session.doc.getTextRange(range);
457
270
  if (!range.isMultiLine() && selected == '{') {
271
+ initContext(editor);
458
272
  var line = session.doc.getLine(range.start.row);
459
273
  var rightChar = line.substring(range.end.column, range.end.column + 1);
460
274
  if (rightChar == '}') {
461
275
  range.end.column++;
462
276
  return range;
463
277
  } else {
464
- maybeInsertedBrackets--;
278
+ context.maybeInsertedBrackets--;
465
279
  }
466
280
  }
467
281
  });
468
282
 
469
- this.add("parens", "insertion", function (state, action, editor, session, text) {
283
+ this.add("parens", "insertion", function(state, action, editor, session, text) {
470
284
  if (text == '(') {
285
+ initContext(editor);
471
286
  var selection = editor.getSelectionRange();
472
287
  var selected = session.doc.getTextRange(selection);
473
288
  if (selected !== "" && editor.getWrapBehavioursEnabled()) {
@@ -483,6 +298,7 @@ var CstyleBehaviour = function () {
483
298
  };
484
299
  }
485
300
  } else if (text == ')') {
301
+ initContext(editor);
486
302
  var cursor = editor.getCursorPosition();
487
303
  var line = session.doc.getLine(cursor.row);
488
304
  var rightChar = line.substring(cursor.column, cursor.column + 1);
@@ -499,9 +315,10 @@ var CstyleBehaviour = function () {
499
315
  }
500
316
  });
501
317
 
502
- this.add("parens", "deletion", function (state, action, editor, session, range) {
318
+ this.add("parens", "deletion", function(state, action, editor, session, range) {
503
319
  var selected = session.doc.getTextRange(range);
504
320
  if (!range.isMultiLine() && selected == '(') {
321
+ initContext(editor);
505
322
  var line = session.doc.getLine(range.start.row);
506
323
  var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
507
324
  if (rightChar == ')') {
@@ -511,8 +328,9 @@ var CstyleBehaviour = function () {
511
328
  }
512
329
  });
513
330
 
514
- this.add("brackets", "insertion", function (state, action, editor, session, text) {
331
+ this.add("brackets", "insertion", function(state, action, editor, session, text) {
515
332
  if (text == '[') {
333
+ initContext(editor);
516
334
  var selection = editor.getSelectionRange();
517
335
  var selected = session.doc.getTextRange(selection);
518
336
  if (selected !== "" && editor.getWrapBehavioursEnabled()) {
@@ -528,6 +346,7 @@ var CstyleBehaviour = function () {
528
346
  };
529
347
  }
530
348
  } else if (text == ']') {
349
+ initContext(editor);
531
350
  var cursor = editor.getCursorPosition();
532
351
  var line = session.doc.getLine(cursor.row);
533
352
  var rightChar = line.substring(cursor.column, cursor.column + 1);
@@ -544,9 +363,10 @@ var CstyleBehaviour = function () {
544
363
  }
545
364
  });
546
365
 
547
- this.add("brackets", "deletion", function (state, action, editor, session, range) {
366
+ this.add("brackets", "deletion", function(state, action, editor, session, range) {
548
367
  var selected = session.doc.getTextRange(range);
549
368
  if (!range.isMultiLine() && selected == '[') {
369
+ initContext(editor);
550
370
  var line = session.doc.getLine(range.start.row);
551
371
  var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
552
372
  if (rightChar == ']') {
@@ -556,8 +376,9 @@ var CstyleBehaviour = function () {
556
376
  }
557
377
  });
558
378
 
559
- this.add("string_dquotes", "insertion", function (state, action, editor, session, text) {
379
+ this.add("string_dquotes", "insertion", function(state, action, editor, session, text) {
560
380
  if (text == '"' || text == "'") {
381
+ initContext(editor);
561
382
  var quote = text;
562
383
  var selection = editor.getSelectionRange();
563
384
  var selected = session.doc.getTextRange(selection);
@@ -609,9 +430,10 @@ var CstyleBehaviour = function () {
609
430
  }
610
431
  });
611
432
 
612
- this.add("string_dquotes", "deletion", function (state, action, editor, session, range) {
433
+ this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
613
434
  var selected = session.doc.getTextRange(range);
614
435
  if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
436
+ initContext(editor);
615
437
  var line = session.doc.getLine(range.start.row);
616
438
  var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
617
439
  if (rightChar == selected) {
@@ -623,13 +445,80 @@ var CstyleBehaviour = function () {
623
445
 
624
446
  };
625
447
 
448
+
449
+ CstyleBehaviour.isSaneInsertion = function(editor, session) {
450
+ var cursor = editor.getCursorPosition();
451
+ var iterator = new TokenIterator(session, cursor.row, cursor.column);
452
+ if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
453
+ var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
454
+ if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
455
+ return false;
456
+ }
457
+ iterator.stepForward();
458
+ return iterator.getCurrentTokenRow() !== cursor.row ||
459
+ this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
460
+ };
461
+
462
+ CstyleBehaviour.$matchTokenType = function(token, types) {
463
+ return types.indexOf(token.type || token) > -1;
464
+ };
465
+
466
+ CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
467
+ var cursor = editor.getCursorPosition();
468
+ var line = session.doc.getLine(cursor.row);
469
+ if (!this.isAutoInsertedClosing(cursor, line, context.autoInsertedLineEnd[0]))
470
+ context.autoInsertedBrackets = 0;
471
+ context.autoInsertedRow = cursor.row;
472
+ context.autoInsertedLineEnd = bracket + line.substr(cursor.column);
473
+ context.autoInsertedBrackets++;
474
+ };
475
+
476
+ CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
477
+ var cursor = editor.getCursorPosition();
478
+ var line = session.doc.getLine(cursor.row);
479
+ if (!this.isMaybeInsertedClosing(cursor, line))
480
+ context.maybeInsertedBrackets = 0;
481
+ context.maybeInsertedRow = cursor.row;
482
+ context.maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
483
+ context.maybeInsertedLineEnd = line.substr(cursor.column);
484
+ context.maybeInsertedBrackets++;
485
+ };
486
+
487
+ CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
488
+ return context.autoInsertedBrackets > 0 &&
489
+ cursor.row === context.autoInsertedRow &&
490
+ bracket === context.autoInsertedLineEnd[0] &&
491
+ line.substr(cursor.column) === context.autoInsertedLineEnd;
492
+ };
493
+
494
+ CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
495
+ return context.maybeInsertedBrackets > 0 &&
496
+ cursor.row === context.maybeInsertedRow &&
497
+ line.substr(cursor.column) === context.maybeInsertedLineEnd &&
498
+ line.substr(0, cursor.column) == context.maybeInsertedLineStart;
499
+ };
500
+
501
+ CstyleBehaviour.popAutoInsertedClosing = function() {
502
+ context.autoInsertedLineEnd = context.autoInsertedLineEnd.substr(1);
503
+ context.autoInsertedBrackets--;
504
+ };
505
+
506
+ CstyleBehaviour.clearMaybeInsertedClosing = function() {
507
+ if (context) {
508
+ context.maybeInsertedBrackets = 0;
509
+ context.maybeInsertedRow = -1;
510
+ }
511
+ };
512
+
513
+
514
+
626
515
  oop.inherits(CstyleBehaviour, Behaviour);
627
516
 
628
517
  exports.CstyleBehaviour = CstyleBehaviour;
629
518
  });
630
519
 
631
- define('ace/mode/matching_brace_outdent', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) {
632
-
520
+ define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
521
+ "use strict";
633
522
 
634
523
  var Range = require("../range").Range;
635
524
 
@@ -667,3 +556,113 @@ var MatchingBraceOutdent = function() {};
667
556
 
668
557
  exports.MatchingBraceOutdent = MatchingBraceOutdent;
669
558
  });
559
+
560
+ define("ace/mode/logiql",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/logiql_highlight_rules","ace/mode/folding/coffee","ace/token_iterator","ace/range","ace/mode/behaviour/cstyle","ace/mode/matching_brace_outdent"], function(require, exports, module) {
561
+ "use strict";
562
+
563
+ var oop = require("../lib/oop");
564
+ var TextMode = require("./text").Mode;
565
+ var LogiQLHighlightRules = require("./logiql_highlight_rules").LogiQLHighlightRules;
566
+ var FoldMode = require("./folding/coffee").FoldMode;
567
+ var TokenIterator = require("../token_iterator").TokenIterator;
568
+ var Range = require("../range").Range;
569
+ var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
570
+ var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
571
+
572
+ var Mode = function() {
573
+ this.HighlightRules = LogiQLHighlightRules;
574
+ this.foldingRules = new FoldMode();
575
+ this.$outdent = new MatchingBraceOutdent();
576
+ this.$behaviour = new CstyleBehaviour();
577
+ };
578
+ oop.inherits(Mode, TextMode);
579
+
580
+ (function() {
581
+ this.lineCommentStart = "//";
582
+ this.blockComment = {start: "/*", end: "*/"};
583
+
584
+ this.getNextLineIndent = function(state, line, tab) {
585
+ var indent = this.$getIndent(line);
586
+
587
+ var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
588
+ var tokens = tokenizedLine.tokens;
589
+ var endState = tokenizedLine.state;
590
+ if (/comment|string/.test(endState))
591
+ return indent;
592
+ if (tokens.length && tokens[tokens.length - 1].type == "comment.single")
593
+ return indent;
594
+
595
+ var match = line.match();
596
+ if (/(-->|<--|<-|->|{)\s*$/.test(line))
597
+ indent += tab;
598
+ return indent;
599
+ };
600
+
601
+ this.checkOutdent = function(state, line, input) {
602
+ if (this.$outdent.checkOutdent(line, input))
603
+ return true;
604
+
605
+ if (input !== "\n" && input !== "\r\n")
606
+ return false;
607
+
608
+ if (!/^\s+/.test(line))
609
+ return false;
610
+
611
+ return true;
612
+ };
613
+
614
+ this.autoOutdent = function(state, doc, row) {
615
+ if (this.$outdent.autoOutdent(doc, row))
616
+ return;
617
+ var prevLine = doc.getLine(row);
618
+ var match = prevLine.match(/^\s+/);
619
+ var column = prevLine.lastIndexOf(".") + 1;
620
+ if (!match || !row || !column) return 0;
621
+
622
+ var line = doc.getLine(row + 1);
623
+ var startRange = this.getMatching(doc, {row: row, column: column});
624
+ if (!startRange || startRange.start.row == row) return 0;
625
+
626
+ column = match[0].length;
627
+ var indent = this.$getIndent(doc.getLine(startRange.start.row));
628
+ doc.replace(new Range(row + 1, 0, row + 1, column), indent);
629
+ };
630
+
631
+ this.getMatching = function(session, row, column) {
632
+ if (row == undefined)
633
+ row = session.selection.lead
634
+ if (typeof row == "object") {
635
+ column = row.column;
636
+ row = row.row;
637
+ }
638
+
639
+ var startToken = session.getTokenAt(row, column);
640
+ var KW_START = "keyword.start", KW_END = "keyword.end";
641
+ var tok;
642
+ if (!startToken)
643
+ return;
644
+ if (startToken.type == KW_START) {
645
+ var it = new TokenIterator(session, row, column);
646
+ it.step = it.stepForward;
647
+ } else if (startToken.type == KW_END) {
648
+ var it = new TokenIterator(session, row, column);
649
+ it.step = it.stepBackward;
650
+ } else
651
+ return;
652
+
653
+ while (tok = it.step()) {
654
+ if (tok.type == KW_START || tok.type == KW_END)
655
+ break;
656
+ }
657
+ if (!tok || tok.type == startToken.type)
658
+ return;
659
+
660
+ var col = it.getCurrentTokenColumn();
661
+ var row = it.getCurrentTokenRow();
662
+ return new Range(row, col, row, col + tok.value.length);
663
+ };
664
+ this.$id = "ace/mode/logiql";
665
+ }).call(Mode.prototype);
666
+
667
+ exports.Mode = Mode;
668
+ });