ace-rails-ap 2.0.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
+ });