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,159 +1,55 @@
1
- /* ***** BEGIN LICENSE BLOCK *****
2
- * Distributed under the BSD license:
3
- *
4
- * Copyright (c) 2010, 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/sjs', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/javascript', 'ace/tokenizer', 'ace/mode/sjs_highlight_rules', 'ace/mode/matching_brace_outdent', 'ace/mode/behaviour/cstyle', 'ace/mode/folding/cstyle'], function(require, exports, module) {
1
+ define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
2
+ "use strict";
32
3
 
33
4
  var oop = require("../lib/oop");
34
- var JSMode = require("./javascript").Mode;
35
- var Tokenizer = require("../tokenizer").Tokenizer;
36
- var SJSHighlightRules = require("./sjs_highlight_rules").SJSHighlightRules;
37
- var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
38
- var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
39
- var CStyleFoldMode = require("./folding/cstyle").FoldMode;
40
-
41
- var Mode = function() {
42
- var highlighter = new SJSHighlightRules();
43
-
44
- this.$tokenizer = new Tokenizer(highlighter.getRules());
45
- this.$outdent = new MatchingBraceOutdent();
46
- this.$behaviour = new CstyleBehaviour();
47
- this.$keywordList = highlighter.$keywordList;
48
- this.foldingRules = new CStyleFoldMode();
49
- };
50
- oop.inherits(Mode, JSMode);
51
- (function() {
52
- this.createWorker = function(session) {
53
- return null;
54
- }
55
- this.$id = "ace/mode/sjs";
56
- }).call(Mode.prototype);
57
-
58
- exports.Mode = Mode;
59
- });
60
-
61
- define('ace/mode/javascript', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/javascript_highlight_rules', 'ace/mode/matching_brace_outdent', 'ace/range', 'ace/worker/worker_client', 'ace/mode/behaviour/cstyle', 'ace/mode/folding/cstyle'], function(require, exports, module) {
62
-
5
+ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
63
6
 
64
- var oop = require("../lib/oop");
65
- var TextMode = require("./text").Mode;
66
- var Tokenizer = require("../tokenizer").Tokenizer;
67
- var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;
68
- var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
69
- var Range = require("../range").Range;
70
- var WorkerClient = require("../worker/worker_client").WorkerClient;
71
- var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
72
- var CStyleFoldMode = require("./folding/cstyle").FoldMode;
7
+ var DocCommentHighlightRules = function() {
73
8
 
74
- var Mode = function() {
75
- this.HighlightRules = JavaScriptHighlightRules;
76
-
77
- this.$outdent = new MatchingBraceOutdent();
78
- this.$behaviour = new CstyleBehaviour();
79
- this.foldingRules = new CStyleFoldMode();
9
+ this.$rules = {
10
+ "start" : [ {
11
+ token : "comment.doc.tag",
12
+ regex : "@[\\w\\d_]+" // TODO: fix email addresses
13
+ }, {
14
+ token : "comment.doc.tag",
15
+ regex : "\\bTODO\\b"
16
+ }, {
17
+ defaultToken : "comment.doc"
18
+ }]
19
+ };
80
20
  };
81
- oop.inherits(Mode, TextMode);
82
-
83
- (function() {
84
-
85
- this.lineCommentStart = "//";
86
- this.blockComment = {start: "/*", end: "*/"};
87
-
88
- this.getNextLineIndent = function(state, line, tab) {
89
- var indent = this.$getIndent(line);
90
21
 
91
- var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
92
- var tokens = tokenizedLine.tokens;
93
- var endState = tokenizedLine.state;
94
-
95
- if (tokens.length && tokens[tokens.length-1].type == "comment") {
96
- return indent;
97
- }
98
-
99
- if (state == "start" || state == "no_regex") {
100
- var match = line.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);
101
- if (match) {
102
- indent += tab;
103
- }
104
- } else if (state == "doc-start") {
105
- if (endState == "start" || endState == "no_regex") {
106
- return "";
107
- }
108
- var match = line.match(/^\s*(\/?)\*/);
109
- if (match) {
110
- if (match[1]) {
111
- indent += " ";
112
- }
113
- indent += "* ";
114
- }
115
- }
116
-
117
- return indent;
118
- };
22
+ oop.inherits(DocCommentHighlightRules, TextHighlightRules);
119
23
 
120
- this.checkOutdent = function(state, line, input) {
121
- return this.$outdent.checkOutdent(line, input);
24
+ DocCommentHighlightRules.getStartRule = function(start) {
25
+ return {
26
+ token : "comment.doc", // doc comment
27
+ regex : "\\/\\*(?=\\*)",
28
+ next : start
122
29
  };
30
+ };
123
31
 
124
- this.autoOutdent = function(state, doc, row) {
125
- this.$outdent.autoOutdent(doc, row);
32
+ DocCommentHighlightRules.getEndRule = function (start) {
33
+ return {
34
+ token : "comment.doc", // closing comment
35
+ regex : "\\*\\/",
36
+ next : start
126
37
  };
38
+ };
127
39
 
128
- this.createWorker = function(session) {
129
- var worker = new WorkerClient(["ace"], "ace/mode/javascript_worker", "JavaScriptWorker");
130
- worker.attachToDocument(session.getDocument());
131
-
132
- worker.on("jslint", function(results) {
133
- session.setAnnotations(results.data);
134
- });
135
-
136
- worker.on("terminate", function() {
137
- session.clearAnnotations();
138
- });
139
-
140
- return worker;
141
- };
142
40
 
143
- this.$id = "ace/mode/javascript";
144
- }).call(Mode.prototype);
41
+ exports.DocCommentHighlightRules = DocCommentHighlightRules;
145
42
 
146
- exports.Mode = Mode;
147
43
  });
148
44
 
149
- define('ace/mode/javascript_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/doc_comment_highlight_rules', 'ace/mode/text_highlight_rules'], function(require, exports, module) {
150
-
45
+ define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"], function(require, exports, module) {
46
+ "use strict";
151
47
 
152
48
  var oop = require("../lib/oop");
153
49
  var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
154
50
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
155
51
 
156
- var JavaScriptHighlightRules = function() {
52
+ var JavaScriptHighlightRules = function(options) {
157
53
  var keywordMapper = this.createKeywordMapper({
158
54
  "variable.language":
159
55
  "Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|" + // Constructors
@@ -278,19 +174,22 @@ var JavaScriptHighlightRules = function() {
278
174
  }, {
279
175
  token : ["punctuation.operator", "support.constant"],
280
176
  regex : /(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/
177
+ }, {
178
+ token : ["support.constant"],
179
+ regex : /that\b/
281
180
  }, {
282
181
  token : ["storage.type", "punctuation.operator", "support.function.firebug"],
283
- regex : /(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/
182
+ regex : /(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/
284
183
  }, {
285
184
  token : keywordMapper,
286
185
  regex : identifierRe
287
186
  }, {
288
187
  token : "keyword.operator",
289
- regex : /--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,
188
+ regex : /--|\+\+|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,
290
189
  next : "start"
291
190
  }, {
292
191
  token : "punctuation.operator",
293
- regex : /\?|\:|\,|\;|\./,
192
+ regex : /[?:,;.]/,
294
193
  next : "start"
295
194
  }, {
296
195
  token : "paren.lparen",
@@ -299,10 +198,6 @@ var JavaScriptHighlightRules = function() {
299
198
  }, {
300
199
  token : "paren.rparen",
301
200
  regex : /[\])}]/
302
- }, {
303
- token : "keyword.operator",
304
- regex : /\/=?/,
305
- next : "start"
306
201
  }, {
307
202
  token: "comment",
308
203
  regex: /^#!.*$/
@@ -363,7 +258,7 @@ var JavaScriptHighlightRules = function() {
363
258
  ],
364
259
  "regex_character_class": [
365
260
  {
366
- token: "regexp.keyword.operator",
261
+ token: "regexp.charclass.keyword.operator",
367
262
  regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
368
263
  }, {
369
264
  token: "constant.language.escape",
@@ -445,9 +340,49 @@ var JavaScriptHighlightRules = function() {
445
340
  }
446
341
  ]
447
342
  };
448
-
343
+
344
+
345
+ if (!options || !options.noES6) {
346
+ this.$rules.no_regex.unshift({
347
+ regex: "[{}]", onMatch: function(val, state, stack) {
348
+ this.next = val == "{" ? this.nextState : "";
349
+ if (val == "{" && stack.length) {
350
+ stack.unshift("start", state);
351
+ return "paren";
352
+ }
353
+ if (val == "}" && stack.length) {
354
+ stack.shift();
355
+ this.next = stack.shift();
356
+ if (this.next.indexOf("string") != -1)
357
+ return "paren.quasi.end";
358
+ }
359
+ return val == "{" ? "paren.lparen" : "paren.rparen";
360
+ },
361
+ nextState: "start"
362
+ }, {
363
+ token : "string.quasi.start",
364
+ regex : /`/,
365
+ push : [{
366
+ token : "constant.language.escape",
367
+ regex : escapedRe
368
+ }, {
369
+ token : "paren.quasi.start",
370
+ regex : /\${/,
371
+ push : "start"
372
+ }, {
373
+ token : "string.quasi.end",
374
+ regex : /`/,
375
+ next : "pop"
376
+ }, {
377
+ defaultToken: "string.quasi"
378
+ }]
379
+ });
380
+ }
381
+
449
382
  this.embedRules(DocCommentHighlightRules, "doc-",
450
383
  [ DocCommentHighlightRules.getEndRule("no_regex") ]);
384
+
385
+ this.normalizeRules();
451
386
  };
452
387
 
453
388
  oop.inherits(JavaScriptHighlightRules, TextHighlightRules);
@@ -455,52 +390,8 @@ oop.inherits(JavaScriptHighlightRules, TextHighlightRules);
455
390
  exports.JavaScriptHighlightRules = JavaScriptHighlightRules;
456
391
  });
457
392
 
458
- define('ace/mode/doc_comment_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) {
459
-
460
-
461
- var oop = require("../lib/oop");
462
- var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
463
-
464
- var DocCommentHighlightRules = function() {
465
-
466
- this.$rules = {
467
- "start" : [ {
468
- token : "comment.doc.tag",
469
- regex : "@[\\w\\d_]+" // TODO: fix email addresses
470
- }, {
471
- token : "comment.doc.tag",
472
- regex : "\\bTODO\\b"
473
- }, {
474
- defaultToken : "comment.doc"
475
- }]
476
- };
477
- };
478
-
479
- oop.inherits(DocCommentHighlightRules, TextHighlightRules);
480
-
481
- DocCommentHighlightRules.getStartRule = function(start) {
482
- return {
483
- token : "comment.doc", // doc comment
484
- regex : "\\/\\*(?=\\*)",
485
- next : start
486
- };
487
- };
488
-
489
- DocCommentHighlightRules.getEndRule = function (start) {
490
- return {
491
- token : "comment.doc", // closing comment
492
- regex : "\\*\\/",
493
- next : start
494
- };
495
- };
496
-
497
-
498
- exports.DocCommentHighlightRules = DocCommentHighlightRules;
499
-
500
- });
501
-
502
- define('ace/mode/matching_brace_outdent', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) {
503
-
393
+ define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
394
+ "use strict";
504
395
 
505
396
  var Range = require("../range").Range;
506
397
 
@@ -539,8 +430,8 @@ var MatchingBraceOutdent = function() {};
539
430
  exports.MatchingBraceOutdent = MatchingBraceOutdent;
540
431
  });
541
432
 
542
- define('ace/mode/behaviour/cstyle', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/behaviour', 'ace/token_iterator', 'ace/lib/lang'], function(require, exports, module) {
543
-
433
+ define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(require, exports, module) {
434
+ "use strict";
544
435
 
545
436
  var oop = require("../../lib/oop");
546
437
  var Behaviour = require("../behaviour").Behaviour;
@@ -552,83 +443,34 @@ var SAFE_INSERT_IN_TOKENS =
552
443
  var SAFE_INSERT_BEFORE_TOKENS =
553
444
  ["text", "paren.rparen", "punctuation.operator", "comment"];
554
445
 
555
-
556
- var autoInsertedBrackets = 0;
557
- var autoInsertedRow = -1;
558
- var autoInsertedLineEnd = "";
559
- var maybeInsertedBrackets = 0;
560
- var maybeInsertedRow = -1;
561
- var maybeInsertedLineStart = "";
562
- var maybeInsertedLineEnd = "";
563
-
564
- var CstyleBehaviour = function () {
565
-
566
- CstyleBehaviour.isSaneInsertion = function(editor, session) {
567
- var cursor = editor.getCursorPosition();
568
- var iterator = new TokenIterator(session, cursor.row, cursor.column);
569
- if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
570
- var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
571
- if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
572
- return false;
573
- }
574
- iterator.stepForward();
575
- return iterator.getCurrentTokenRow() !== cursor.row ||
576
- this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
577
- };
578
-
579
- CstyleBehaviour.$matchTokenType = function(token, types) {
580
- return types.indexOf(token.type || token) > -1;
581
- };
582
-
583
- CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
584
- var cursor = editor.getCursorPosition();
585
- var line = session.doc.getLine(cursor.row);
586
- if (!this.isAutoInsertedClosing(cursor, line, autoInsertedLineEnd[0]))
587
- autoInsertedBrackets = 0;
588
- autoInsertedRow = cursor.row;
589
- autoInsertedLineEnd = bracket + line.substr(cursor.column);
590
- autoInsertedBrackets++;
591
- };
592
-
593
- CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
594
- var cursor = editor.getCursorPosition();
595
- var line = session.doc.getLine(cursor.row);
596
- if (!this.isMaybeInsertedClosing(cursor, line))
597
- maybeInsertedBrackets = 0;
598
- maybeInsertedRow = cursor.row;
599
- maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
600
- maybeInsertedLineEnd = line.substr(cursor.column);
601
- maybeInsertedBrackets++;
602
- };
603
-
604
- CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
605
- return autoInsertedBrackets > 0 &&
606
- cursor.row === autoInsertedRow &&
607
- bracket === autoInsertedLineEnd[0] &&
608
- line.substr(cursor.column) === autoInsertedLineEnd;
609
- };
610
-
611
- CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
612
- return maybeInsertedBrackets > 0 &&
613
- cursor.row === maybeInsertedRow &&
614
- line.substr(cursor.column) === maybeInsertedLineEnd &&
615
- line.substr(0, cursor.column) == maybeInsertedLineStart;
616
- };
617
-
618
- CstyleBehaviour.popAutoInsertedClosing = function() {
619
- autoInsertedLineEnd = autoInsertedLineEnd.substr(1);
620
- autoInsertedBrackets--;
621
- };
622
-
623
- CstyleBehaviour.clearMaybeInsertedClosing = function() {
624
- maybeInsertedBrackets = 0;
625
- maybeInsertedRow = -1;
446
+ var context;
447
+ var contextCache = {}
448
+ var initContext = function(editor) {
449
+ var id = -1;
450
+ if (editor.multiSelect) {
451
+ id = editor.selection.id;
452
+ if (contextCache.rangeCount != editor.multiSelect.rangeCount)
453
+ contextCache = {rangeCount: editor.multiSelect.rangeCount};
454
+ }
455
+ if (contextCache[id])
456
+ return context = contextCache[id];
457
+ context = contextCache[id] = {
458
+ autoInsertedBrackets: 0,
459
+ autoInsertedRow: -1,
460
+ autoInsertedLineEnd: "",
461
+ maybeInsertedBrackets: 0,
462
+ maybeInsertedRow: -1,
463
+ maybeInsertedLineStart: "",
464
+ maybeInsertedLineEnd: ""
626
465
  };
466
+ };
627
467
 
628
- this.add("braces", "insertion", function (state, action, editor, session, text) {
468
+ var CstyleBehaviour = function() {
469
+ this.add("braces", "insertion", function(state, action, editor, session, text) {
629
470
  var cursor = editor.getCursorPosition();
630
471
  var line = session.doc.getLine(cursor.row);
631
472
  if (text == '{') {
473
+ initContext(editor);
632
474
  var selection = editor.getSelectionRange();
633
475
  var selected = session.doc.getTextRange(selection);
634
476
  if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
@@ -652,6 +494,7 @@ var CstyleBehaviour = function () {
652
494
  }
653
495
  }
654
496
  } else if (text == '}') {
497
+ initContext(editor);
655
498
  var rightChar = line.substring(cursor.column, cursor.column + 1);
656
499
  if (rightChar == '}') {
657
500
  var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
@@ -664,9 +507,10 @@ var CstyleBehaviour = function () {
664
507
  }
665
508
  }
666
509
  } else if (text == "\n" || text == "\r\n") {
510
+ initContext(editor);
667
511
  var closing = "";
668
512
  if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {
669
- closing = lang.stringRepeat("}", maybeInsertedBrackets);
513
+ closing = lang.stringRepeat("}", context.maybeInsertedBrackets);
670
514
  CstyleBehaviour.clearMaybeInsertedClosing();
671
515
  }
672
516
  var rightChar = line.substring(cursor.column, cursor.column + 1);
@@ -678,6 +522,7 @@ var CstyleBehaviour = function () {
678
522
  } else if (closing) {
679
523
  var next_indent = this.$getIndent(line);
680
524
  } else {
525
+ CstyleBehaviour.clearMaybeInsertedClosing();
681
526
  return;
682
527
  }
683
528
  var indent = next_indent + session.getTabString();
@@ -691,22 +536,24 @@ var CstyleBehaviour = function () {
691
536
  }
692
537
  });
693
538
 
694
- this.add("braces", "deletion", function (state, action, editor, session, range) {
539
+ this.add("braces", "deletion", function(state, action, editor, session, range) {
695
540
  var selected = session.doc.getTextRange(range);
696
541
  if (!range.isMultiLine() && selected == '{') {
542
+ initContext(editor);
697
543
  var line = session.doc.getLine(range.start.row);
698
544
  var rightChar = line.substring(range.end.column, range.end.column + 1);
699
545
  if (rightChar == '}') {
700
546
  range.end.column++;
701
547
  return range;
702
548
  } else {
703
- maybeInsertedBrackets--;
549
+ context.maybeInsertedBrackets--;
704
550
  }
705
551
  }
706
552
  });
707
553
 
708
- this.add("parens", "insertion", function (state, action, editor, session, text) {
554
+ this.add("parens", "insertion", function(state, action, editor, session, text) {
709
555
  if (text == '(') {
556
+ initContext(editor);
710
557
  var selection = editor.getSelectionRange();
711
558
  var selected = session.doc.getTextRange(selection);
712
559
  if (selected !== "" && editor.getWrapBehavioursEnabled()) {
@@ -722,6 +569,7 @@ var CstyleBehaviour = function () {
722
569
  };
723
570
  }
724
571
  } else if (text == ')') {
572
+ initContext(editor);
725
573
  var cursor = editor.getCursorPosition();
726
574
  var line = session.doc.getLine(cursor.row);
727
575
  var rightChar = line.substring(cursor.column, cursor.column + 1);
@@ -738,9 +586,10 @@ var CstyleBehaviour = function () {
738
586
  }
739
587
  });
740
588
 
741
- this.add("parens", "deletion", function (state, action, editor, session, range) {
589
+ this.add("parens", "deletion", function(state, action, editor, session, range) {
742
590
  var selected = session.doc.getTextRange(range);
743
591
  if (!range.isMultiLine() && selected == '(') {
592
+ initContext(editor);
744
593
  var line = session.doc.getLine(range.start.row);
745
594
  var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
746
595
  if (rightChar == ')') {
@@ -750,8 +599,9 @@ var CstyleBehaviour = function () {
750
599
  }
751
600
  });
752
601
 
753
- this.add("brackets", "insertion", function (state, action, editor, session, text) {
602
+ this.add("brackets", "insertion", function(state, action, editor, session, text) {
754
603
  if (text == '[') {
604
+ initContext(editor);
755
605
  var selection = editor.getSelectionRange();
756
606
  var selected = session.doc.getTextRange(selection);
757
607
  if (selected !== "" && editor.getWrapBehavioursEnabled()) {
@@ -767,6 +617,7 @@ var CstyleBehaviour = function () {
767
617
  };
768
618
  }
769
619
  } else if (text == ']') {
620
+ initContext(editor);
770
621
  var cursor = editor.getCursorPosition();
771
622
  var line = session.doc.getLine(cursor.row);
772
623
  var rightChar = line.substring(cursor.column, cursor.column + 1);
@@ -783,9 +634,10 @@ var CstyleBehaviour = function () {
783
634
  }
784
635
  });
785
636
 
786
- this.add("brackets", "deletion", function (state, action, editor, session, range) {
637
+ this.add("brackets", "deletion", function(state, action, editor, session, range) {
787
638
  var selected = session.doc.getTextRange(range);
788
639
  if (!range.isMultiLine() && selected == '[') {
640
+ initContext(editor);
789
641
  var line = session.doc.getLine(range.start.row);
790
642
  var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
791
643
  if (rightChar == ']') {
@@ -795,8 +647,9 @@ var CstyleBehaviour = function () {
795
647
  }
796
648
  });
797
649
 
798
- this.add("string_dquotes", "insertion", function (state, action, editor, session, text) {
650
+ this.add("string_dquotes", "insertion", function(state, action, editor, session, text) {
799
651
  if (text == '"' || text == "'") {
652
+ initContext(editor);
800
653
  var quote = text;
801
654
  var selection = editor.getSelectionRange();
802
655
  var selected = session.doc.getTextRange(selection);
@@ -848,9 +701,10 @@ var CstyleBehaviour = function () {
848
701
  }
849
702
  });
850
703
 
851
- this.add("string_dquotes", "deletion", function (state, action, editor, session, range) {
704
+ this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
852
705
  var selected = session.doc.getTextRange(range);
853
706
  if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
707
+ initContext(editor);
854
708
  var line = session.doc.getLine(range.start.row);
855
709
  var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
856
710
  if (rightChar == selected) {
@@ -862,13 +716,80 @@ var CstyleBehaviour = function () {
862
716
 
863
717
  };
864
718
 
719
+
720
+ CstyleBehaviour.isSaneInsertion = function(editor, session) {
721
+ var cursor = editor.getCursorPosition();
722
+ var iterator = new TokenIterator(session, cursor.row, cursor.column);
723
+ if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
724
+ var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
725
+ if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
726
+ return false;
727
+ }
728
+ iterator.stepForward();
729
+ return iterator.getCurrentTokenRow() !== cursor.row ||
730
+ this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
731
+ };
732
+
733
+ CstyleBehaviour.$matchTokenType = function(token, types) {
734
+ return types.indexOf(token.type || token) > -1;
735
+ };
736
+
737
+ CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
738
+ var cursor = editor.getCursorPosition();
739
+ var line = session.doc.getLine(cursor.row);
740
+ if (!this.isAutoInsertedClosing(cursor, line, context.autoInsertedLineEnd[0]))
741
+ context.autoInsertedBrackets = 0;
742
+ context.autoInsertedRow = cursor.row;
743
+ context.autoInsertedLineEnd = bracket + line.substr(cursor.column);
744
+ context.autoInsertedBrackets++;
745
+ };
746
+
747
+ CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
748
+ var cursor = editor.getCursorPosition();
749
+ var line = session.doc.getLine(cursor.row);
750
+ if (!this.isMaybeInsertedClosing(cursor, line))
751
+ context.maybeInsertedBrackets = 0;
752
+ context.maybeInsertedRow = cursor.row;
753
+ context.maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
754
+ context.maybeInsertedLineEnd = line.substr(cursor.column);
755
+ context.maybeInsertedBrackets++;
756
+ };
757
+
758
+ CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
759
+ return context.autoInsertedBrackets > 0 &&
760
+ cursor.row === context.autoInsertedRow &&
761
+ bracket === context.autoInsertedLineEnd[0] &&
762
+ line.substr(cursor.column) === context.autoInsertedLineEnd;
763
+ };
764
+
765
+ CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
766
+ return context.maybeInsertedBrackets > 0 &&
767
+ cursor.row === context.maybeInsertedRow &&
768
+ line.substr(cursor.column) === context.maybeInsertedLineEnd &&
769
+ line.substr(0, cursor.column) == context.maybeInsertedLineStart;
770
+ };
771
+
772
+ CstyleBehaviour.popAutoInsertedClosing = function() {
773
+ context.autoInsertedLineEnd = context.autoInsertedLineEnd.substr(1);
774
+ context.autoInsertedBrackets--;
775
+ };
776
+
777
+ CstyleBehaviour.clearMaybeInsertedClosing = function() {
778
+ if (context) {
779
+ context.maybeInsertedBrackets = 0;
780
+ context.maybeInsertedRow = -1;
781
+ }
782
+ };
783
+
784
+
785
+
865
786
  oop.inherits(CstyleBehaviour, Behaviour);
866
787
 
867
788
  exports.CstyleBehaviour = CstyleBehaviour;
868
789
  });
869
790
 
870
- define('ace/mode/folding/cstyle', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/range', 'ace/mode/folding/fold_mode'], function(require, exports, module) {
871
-
791
+ define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
792
+ "use strict";
872
793
 
873
794
  var oop = require("../../lib/oop");
874
795
  var Range = require("../../range").Range;
@@ -962,15 +883,102 @@ oop.inherits(FoldMode, BaseFoldMode);
962
883
 
963
884
  });
964
885
 
965
- define('ace/mode/sjs_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/javascript_highlight_rules', 'ace/mode/text_highlight_rules'], function(require, exports, module) {
886
+ define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"], function(require, exports, module) {
887
+ "use strict";
966
888
 
889
+ var oop = require("../lib/oop");
890
+ var TextMode = require("./text").Mode;
891
+ var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;
892
+ var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
893
+ var Range = require("../range").Range;
894
+ var WorkerClient = require("../worker/worker_client").WorkerClient;
895
+ var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
896
+ var CStyleFoldMode = require("./folding/cstyle").FoldMode;
897
+
898
+ var Mode = function() {
899
+ this.HighlightRules = JavaScriptHighlightRules;
900
+
901
+ this.$outdent = new MatchingBraceOutdent();
902
+ this.$behaviour = new CstyleBehaviour();
903
+ this.foldingRules = new CStyleFoldMode();
904
+ };
905
+ oop.inherits(Mode, TextMode);
906
+
907
+ (function() {
908
+
909
+ this.lineCommentStart = "//";
910
+ this.blockComment = {start: "/*", end: "*/"};
911
+
912
+ this.getNextLineIndent = function(state, line, tab) {
913
+ var indent = this.$getIndent(line);
914
+
915
+ var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
916
+ var tokens = tokenizedLine.tokens;
917
+ var endState = tokenizedLine.state;
918
+
919
+ if (tokens.length && tokens[tokens.length-1].type == "comment") {
920
+ return indent;
921
+ }
922
+
923
+ if (state == "start" || state == "no_regex") {
924
+ var match = line.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);
925
+ if (match) {
926
+ indent += tab;
927
+ }
928
+ } else if (state == "doc-start") {
929
+ if (endState == "start" || endState == "no_regex") {
930
+ return "";
931
+ }
932
+ var match = line.match(/^\s*(\/?)\*/);
933
+ if (match) {
934
+ if (match[1]) {
935
+ indent += " ";
936
+ }
937
+ indent += "* ";
938
+ }
939
+ }
940
+
941
+ return indent;
942
+ };
943
+
944
+ this.checkOutdent = function(state, line, input) {
945
+ return this.$outdent.checkOutdent(line, input);
946
+ };
947
+
948
+ this.autoOutdent = function(state, doc, row) {
949
+ this.$outdent.autoOutdent(doc, row);
950
+ };
951
+
952
+ this.createWorker = function(session) {
953
+ var worker = new WorkerClient(["ace"], "ace/mode/javascript_worker", "JavaScriptWorker");
954
+ worker.attachToDocument(session.getDocument());
955
+
956
+ worker.on("jslint", function(results) {
957
+ session.setAnnotations(results.data);
958
+ });
959
+
960
+ worker.on("terminate", function() {
961
+ session.clearAnnotations();
962
+ });
963
+
964
+ return worker;
965
+ };
966
+
967
+ this.$id = "ace/mode/javascript";
968
+ }).call(Mode.prototype);
969
+
970
+ exports.Mode = Mode;
971
+ });
972
+
973
+ define("ace/mode/sjs_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/javascript_highlight_rules","ace/mode/text_highlight_rules"], function(require, exports, module) {
974
+ "use strict";
967
975
 
968
976
  var oop = require("../lib/oop");
969
977
  var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;
970
978
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
971
979
 
972
980
  var SJSHighlightRules = function() {
973
- var parent = new JavaScriptHighlightRules();
981
+ var parent = new JavaScriptHighlightRules({noES6: true});
974
982
  var escapedRe = "\\\\(?:x[0-9a-fA-F]{2}|" + // hex
975
983
  "u[0-9a-fA-F]{4}|" + // unicode
976
984
  "[0-2][0-7]{0,2}|" + // oct
@@ -1106,10 +1114,10 @@ var SJSHighlightRules = function() {
1106
1114
  }
1107
1115
  ];
1108
1116
  var embeddableRules = [];
1109
- for (var i=0; i<this.$rules.no_regex.length; i++) {
1117
+ for (var i=0; i < this.$rules.no_regex.length; i++) {
1110
1118
  var rule = this.$rules.no_regex[i];
1111
1119
  var token = String(rule.token);
1112
- if(token.indexOf('paren') == -1 && (!rule.next || rule.next.isContextAware)) {
1120
+ if (token.indexOf('paren') == -1 && (!rule.next || rule.next.isContextAware)) {
1113
1121
  embeddableRules.push(rule);
1114
1122
  }
1115
1123
  };
@@ -1152,3 +1160,29 @@ oop.inherits(SJSHighlightRules, TextHighlightRules);
1152
1160
 
1153
1161
  exports.SJSHighlightRules = SJSHighlightRules;
1154
1162
  });
1163
+
1164
+ define("ace/mode/sjs",["require","exports","module","ace/lib/oop","ace/mode/javascript","ace/mode/sjs_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"], function(require, exports, module) {
1165
+ "use strict";
1166
+ var oop = require("../lib/oop");
1167
+ var JSMode = require("./javascript").Mode;
1168
+ var SJSHighlightRules = require("./sjs_highlight_rules").SJSHighlightRules;
1169
+ var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
1170
+ var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
1171
+ var CStyleFoldMode = require("./folding/cstyle").FoldMode;
1172
+
1173
+ var Mode = function() {
1174
+ this.HighlightRules = SJSHighlightRules;
1175
+ this.$outdent = new MatchingBraceOutdent();
1176
+ this.$behaviour = new CstyleBehaviour();
1177
+ this.foldingRules = new CStyleFoldMode();
1178
+ };
1179
+ oop.inherits(Mode, JSMode);
1180
+ (function() {
1181
+ this.createWorker = function(session) {
1182
+ return null;
1183
+ }
1184
+ this.$id = "ace/mode/sjs";
1185
+ }).call(Mode.prototype);
1186
+
1187
+ exports.Mode = Mode;
1188
+ });