ace-rails-ap 4.1.3 → 4.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (437) hide show
  1. checksums.yaml +5 -5
  2. data/.gitmodules +1 -1
  3. data/Gemfile +2 -3
  4. data/ace-rails-ap.gemspec +0 -2
  5. data/lib/ace/rails/version.rb +1 -1
  6. data/update.sh +1 -1
  7. data/vendor/assets/javascripts/ace/ace.js +5192 -3414
  8. data/vendor/assets/javascripts/ace/ext-beautify.js +281 -288
  9. data/vendor/assets/javascripts/ace/ext-code_lens.js +238 -0
  10. data/vendor/assets/javascripts/ace/ext-elastic_tabstops_lite.js +6 -3
  11. data/vendor/assets/javascripts/ace/ext-emmet.js +353 -246
  12. data/vendor/assets/javascripts/ace/ext-error_marker.js +6 -3
  13. data/vendor/assets/javascripts/ace/ext-keybinding_menu.js +61 -38
  14. data/vendor/assets/javascripts/ace/ext-language_tools.js +532 -343
  15. data/vendor/assets/javascripts/ace/ext-linking.js +8 -5
  16. data/vendor/assets/javascripts/ace/ext-modelist.js +46 -12
  17. data/vendor/assets/javascripts/ace/ext-options.js +793 -0
  18. data/vendor/assets/javascripts/ace/ext-prompt.js +2783 -0
  19. data/vendor/assets/javascripts/ace/ext-rtl.js +122 -0
  20. data/vendor/assets/javascripts/ace/ext-searchbox.js +45 -40
  21. data/vendor/assets/javascripts/ace/ext-settings_menu.js +520 -369
  22. data/vendor/assets/javascripts/ace/ext-spellcheck.js +6 -4
  23. data/vendor/assets/javascripts/ace/ext-split.js +7 -46
  24. data/vendor/assets/javascripts/ace/ext-static_highlight.js +90 -22
  25. data/vendor/assets/javascripts/ace/ext-statusbar.js +9 -6
  26. data/vendor/assets/javascripts/ace/ext-textarea.js +21 -18
  27. data/vendor/assets/javascripts/ace/ext-themelist.js +10 -6
  28. data/vendor/assets/javascripts/ace/ext-whitespace.js +13 -6
  29. data/vendor/assets/javascripts/ace/keybinding-emacs.js +49 -61
  30. data/vendor/assets/javascripts/ace/keybinding-sublime.js +422 -0
  31. data/vendor/assets/javascripts/ace/keybinding-vim.js +620 -287
  32. data/vendor/assets/javascripts/ace/keybinding-vscode.js +262 -0
  33. data/vendor/assets/javascripts/ace/mode-abap.js +10 -3
  34. data/vendor/assets/javascripts/ace/mode-abc.js +14 -4
  35. data/vendor/assets/javascripts/ace/mode-actionscript.js +13 -5
  36. data/vendor/assets/javascripts/ace/mode-ada.js +54 -4
  37. data/vendor/assets/javascripts/ace/mode-alda.js +311 -0
  38. data/vendor/assets/javascripts/ace/mode-apache_conf.js +12 -5
  39. data/vendor/assets/javascripts/ace/mode-apex.js +457 -0
  40. data/vendor/assets/javascripts/ace/mode-applescript.js +11 -4
  41. data/vendor/assets/javascripts/ace/mode-aql.js +102 -0
  42. data/vendor/assets/javascripts/ace/mode-asciidoc.js +9 -2
  43. data/vendor/assets/javascripts/ace/mode-asl.js +422 -0
  44. data/vendor/assets/javascripts/ace/mode-assembly_x86.js +11 -4
  45. data/vendor/assets/javascripts/ace/mode-autohotkey.js +17 -8
  46. data/vendor/assets/javascripts/ace/mode-batchfile.js +12 -5
  47. data/vendor/assets/javascripts/ace/mode-c9search.js +9 -3
  48. data/vendor/assets/javascripts/ace/mode-c_cpp.js +23 -7
  49. data/vendor/assets/javascripts/ace/mode-cirru.js +11 -4
  50. data/vendor/assets/javascripts/ace/mode-clojure.js +9 -1
  51. data/vendor/assets/javascripts/ace/mode-cobol.js +8 -1
  52. data/vendor/assets/javascripts/ace/mode-coffee.js +12 -4
  53. data/vendor/assets/javascripts/ace/mode-coldfusion.js +163 -134
  54. data/vendor/assets/javascripts/ace/mode-crystal.js +642 -0
  55. data/vendor/assets/javascripts/ace/mode-csharp.js +13 -6
  56. data/vendor/assets/javascripts/ace/mode-csound_document.js +4036 -0
  57. data/vendor/assets/javascripts/ace/mode-csound_orchestra.js +2966 -0
  58. data/vendor/assets/javascripts/ace/mode-csound_score.js +462 -0
  59. data/vendor/assets/javascripts/ace/mode-csp.js +59 -0
  60. data/vendor/assets/javascripts/ace/mode-css.js +48 -27
  61. data/vendor/assets/javascripts/ace/mode-curly.js +162 -133
  62. data/vendor/assets/javascripts/ace/mode-d.js +12 -5
  63. data/vendor/assets/javascripts/ace/mode-dart.js +46 -20
  64. data/vendor/assets/javascripts/ace/mode-diff.js +11 -3
  65. data/vendor/assets/javascripts/ace/mode-django.js +164 -134
  66. data/vendor/assets/javascripts/ace/mode-dockerfile.js +12 -4
  67. data/vendor/assets/javascripts/ace/mode-dot.js +11 -4
  68. data/vendor/assets/javascripts/ace/mode-drools.js +46 -5
  69. data/vendor/assets/javascripts/ace/mode-edifact.js +166 -0
  70. data/vendor/assets/javascripts/ace/mode-eiffel.js +8 -1
  71. data/vendor/assets/javascripts/ace/mode-ejs.js +832 -298
  72. data/vendor/assets/javascripts/ace/mode-elixir.js +11 -4
  73. data/vendor/assets/javascripts/ace/mode-elm.js +10 -3
  74. data/vendor/assets/javascripts/ace/mode-erlang.js +13 -5
  75. data/vendor/assets/javascripts/ace/mode-forth.js +12 -5
  76. data/vendor/assets/javascripts/ace/mode-fortran.js +10 -3
  77. data/vendor/assets/javascripts/ace/mode-fsharp.js +316 -0
  78. data/vendor/assets/javascripts/ace/{mode-mipsassembler.js → mode-fsl.js} +91 -28
  79. data/vendor/assets/javascripts/ace/mode-ftl.js +23 -12
  80. data/vendor/assets/javascripts/ace/mode-gcode.js +8 -1
  81. data/vendor/assets/javascripts/ace/mode-gherkin.js +9 -4
  82. data/vendor/assets/javascripts/ace/mode-gitignore.js +8 -1
  83. data/vendor/assets/javascripts/ace/mode-glsl.js +24 -8
  84. data/vendor/assets/javascripts/ace/mode-gobstones.js +267 -99
  85. data/vendor/assets/javascripts/ace/mode-golang.js +11 -4
  86. data/vendor/assets/javascripts/ace/mode-graphqlschema.js +11 -3
  87. data/vendor/assets/javascripts/ace/mode-groovy.js +14 -5
  88. data/vendor/assets/javascripts/ace/mode-haml.js +442 -116
  89. data/vendor/assets/javascripts/ace/mode-handlebars.js +162 -133
  90. data/vendor/assets/javascripts/ace/mode-haskell.js +14 -6
  91. data/vendor/assets/javascripts/ace/mode-haskell_cabal.js +8 -1
  92. data/vendor/assets/javascripts/ace/mode-haxe.js +11 -4
  93. data/vendor/assets/javascripts/ace/mode-hjson.js +13 -6
  94. data/vendor/assets/javascripts/ace/mode-html.js +162 -133
  95. data/vendor/assets/javascripts/ace/mode-html_elixir.js +165 -136
  96. data/vendor/assets/javascripts/ace/mode-html_ruby.js +832 -298
  97. data/vendor/assets/javascripts/ace/mode-ini.js +8 -1
  98. data/vendor/assets/javascripts/ace/mode-io.js +14 -12
  99. data/vendor/assets/javascripts/ace/mode-jack.js +10 -3
  100. data/vendor/assets/javascripts/ace/mode-jade.js +272 -376
  101. data/vendor/assets/javascripts/ace/mode-java.js +110 -7
  102. data/vendor/assets/javascripts/ace/mode-javascript.js +14 -5
  103. data/vendor/assets/javascripts/ace/mode-json.js +13 -3
  104. data/vendor/assets/javascripts/ace/mode-json5.js +360 -0
  105. data/vendor/assets/javascripts/ace/mode-jsoniq.js +25 -12
  106. data/vendor/assets/javascripts/ace/mode-jsp.js +60 -15
  107. data/vendor/assets/javascripts/ace/mode-jssm.js +325 -0
  108. data/vendor/assets/javascripts/ace/mode-jsx.js +11 -4
  109. data/vendor/assets/javascripts/ace/mode-julia.js +12 -5
  110. data/vendor/assets/javascripts/ace/mode-kotlin.js +18 -7
  111. data/vendor/assets/javascripts/ace/mode-latex.js +87 -15
  112. data/vendor/assets/javascripts/ace/mode-less.js +47 -27
  113. data/vendor/assets/javascripts/ace/mode-liquid.js +2030 -472
  114. data/vendor/assets/javascripts/ace/mode-lisp.js +9 -2
  115. data/vendor/assets/javascripts/ace/mode-livescript.js +10 -2
  116. data/vendor/assets/javascripts/ace/mode-logiql.js +10 -3
  117. data/vendor/assets/javascripts/ace/mode-logtalk.js +352 -0
  118. data/vendor/assets/javascripts/ace/mode-lsl.js +11 -3
  119. data/vendor/assets/javascripts/ace/mode-lua.js +40 -12
  120. data/vendor/assets/javascripts/ace/mode-luapage.js +194 -144
  121. data/vendor/assets/javascripts/ace/mode-lucene.js +106 -22
  122. data/vendor/assets/javascripts/ace/mode-makefile.js +11 -3
  123. data/vendor/assets/javascripts/ace/mode-markdown.js +530 -201
  124. data/vendor/assets/javascripts/ace/mode-mask.js +101 -84
  125. data/vendor/assets/javascripts/ace/mode-matlab.js +8 -1
  126. data/vendor/assets/javascripts/ace/mode-maze.js +11 -3
  127. data/vendor/assets/javascripts/ace/mode-mediawiki.js +592 -0
  128. data/vendor/assets/javascripts/ace/mode-mel.js +11 -4
  129. data/vendor/assets/javascripts/ace/mode-mixal.js +122 -0
  130. data/vendor/assets/javascripts/ace/mode-mushcode.js +9 -2
  131. data/vendor/assets/javascripts/ace/mode-mysql.js +11 -4
  132. data/vendor/assets/javascripts/ace/mode-nginx.js +298 -0
  133. data/vendor/assets/javascripts/ace/mode-nim.js +363 -0
  134. data/vendor/assets/javascripts/ace/mode-nix.js +23 -7
  135. data/vendor/assets/javascripts/ace/mode-nsis.js +15 -8
  136. data/vendor/assets/javascripts/ace/mode-nunjucks.js +2698 -0
  137. data/vendor/assets/javascripts/ace/mode-objectivec.js +23 -8
  138. data/vendor/assets/javascripts/ace/mode-ocaml.js +8 -1
  139. data/vendor/assets/javascripts/ace/mode-pascal.js +92 -67
  140. data/vendor/assets/javascripts/ace/mode-perl.js +11 -3
  141. data/vendor/assets/javascripts/ace/mode-perl6.js +593 -0
  142. data/vendor/assets/javascripts/ace/mode-pgsql.js +314 -71
  143. data/vendor/assets/javascripts/ace/mode-php.js +1042 -995
  144. data/vendor/assets/javascripts/ace/mode-php_laravel_blade.js +13104 -0
  145. data/vendor/assets/javascripts/ace/mode-pig.js +13 -6
  146. data/vendor/assets/javascripts/ace/mode-plain_text.js +8 -1
  147. data/vendor/assets/javascripts/ace/mode-powershell.js +10 -3
  148. data/vendor/assets/javascripts/ace/mode-praat.js +17 -7
  149. data/vendor/assets/javascripts/ace/mode-prisma.js +489 -0
  150. data/vendor/assets/javascripts/ace/mode-prolog.js +12 -5
  151. data/vendor/assets/javascripts/ace/mode-properties.js +8 -1
  152. data/vendor/assets/javascripts/ace/mode-protobuf.js +23 -7
  153. data/vendor/assets/javascripts/ace/mode-puppet.js +368 -0
  154. data/vendor/assets/javascripts/ace/mode-python.js +306 -63
  155. data/vendor/assets/javascripts/ace/mode-qml.js +381 -0
  156. data/vendor/assets/javascripts/ace/mode-r.js +15 -4
  157. data/vendor/assets/javascripts/ace/mode-razor.js +166 -136
  158. data/vendor/assets/javascripts/ace/mode-rdoc.js +41 -3
  159. data/vendor/assets/javascripts/ace/mode-red.js +450 -0
  160. data/vendor/assets/javascripts/ace/mode-redshift.js +360 -0
  161. data/vendor/assets/javascripts/ace/mode-rhtml.js +162 -133
  162. data/vendor/assets/javascripts/ace/mode-rst.js +9 -1
  163. data/vendor/assets/javascripts/ace/mode-ruby.js +678 -166
  164. data/vendor/assets/javascripts/ace/mode-rust.js +16 -7
  165. data/vendor/assets/javascripts/ace/mode-sass.js +211 -116
  166. data/vendor/assets/javascripts/ace/mode-scad.js +11 -4
  167. data/vendor/assets/javascripts/ace/mode-scala.js +14 -5
  168. data/vendor/assets/javascripts/ace/mode-scheme.js +9 -2
  169. data/vendor/assets/javascripts/ace/mode-scss.js +412 -125
  170. data/vendor/assets/javascripts/ace/mode-sh.js +12 -4
  171. data/vendor/assets/javascripts/ace/mode-sjs.js +16 -7
  172. data/vendor/assets/javascripts/ace/mode-slim.js +5240 -0
  173. data/vendor/assets/javascripts/ace/mode-smarty.js +164 -135
  174. data/vendor/assets/javascripts/ace/mode-snippets.js +24 -16
  175. data/vendor/assets/javascripts/ace/mode-soy_template.js +164 -135
  176. data/vendor/assets/javascripts/ace/mode-space.js +8 -1
  177. data/vendor/assets/javascripts/ace/mode-sparql.js +13 -6
  178. data/vendor/assets/javascripts/ace/mode-sql.js +10 -2
  179. data/vendor/assets/javascripts/ace/mode-sqlserver.js +13 -5
  180. data/vendor/assets/javascripts/ace/mode-stylus.js +20 -10
  181. data/vendor/assets/javascripts/ace/mode-svg.js +27 -13
  182. data/vendor/assets/javascripts/ace/mode-swift.js +21 -8
  183. data/vendor/assets/javascripts/ace/mode-tcl.js +14 -3
  184. data/vendor/assets/javascripts/ace/mode-terraform.js +400 -0
  185. data/vendor/assets/javascripts/ace/mode-tex.js +9 -1
  186. data/vendor/assets/javascripts/ace/mode-text.js +8 -0
  187. data/vendor/assets/javascripts/ace/mode-textile.js +9 -1
  188. data/vendor/assets/javascripts/ace/mode-toml.js +9 -2
  189. data/vendor/assets/javascripts/ace/mode-tsx.js +28 -31
  190. data/vendor/assets/javascripts/ace/mode-turtle.js +13 -6
  191. data/vendor/assets/javascripts/ace/mode-twig.js +163 -134
  192. data/vendor/assets/javascripts/ace/mode-typescript.js +28 -31
  193. data/vendor/assets/javascripts/ace/mode-vala.js +14 -6
  194. data/vendor/assets/javascripts/ace/mode-vbscript.js +453 -17
  195. data/vendor/assets/javascripts/ace/mode-velocity.js +163 -133
  196. data/vendor/assets/javascripts/ace/mode-verilog.js +19 -5
  197. data/vendor/assets/javascripts/ace/mode-vhdl.js +13 -7
  198. data/vendor/assets/javascripts/ace/mode-visualforce.js +2640 -0
  199. data/vendor/assets/javascripts/ace/mode-wollok.js +17 -8
  200. data/vendor/assets/javascripts/ace/mode-xml.js +21 -9
  201. data/vendor/assets/javascripts/ace/mode-xquery.js +25 -12
  202. data/vendor/assets/javascripts/ace/mode-yaml.js +59 -18
  203. data/vendor/assets/javascripts/ace/mode-zeek.js +539 -0
  204. data/vendor/assets/javascripts/ace/snippets/abap.js +8 -6
  205. data/vendor/assets/javascripts/ace/snippets/abc.js +8 -1
  206. data/vendor/assets/javascripts/ace/snippets/actionscript.js +8 -1
  207. data/vendor/assets/javascripts/ace/snippets/ada.js +8 -6
  208. data/vendor/assets/javascripts/ace/snippets/alda.js +9 -0
  209. data/vendor/assets/javascripts/ace/snippets/apache_conf.js +8 -6
  210. data/vendor/assets/javascripts/ace/snippets/apex.js +9 -0
  211. data/vendor/assets/javascripts/ace/snippets/applescript.js +8 -6
  212. data/vendor/assets/javascripts/ace/snippets/aql.js +9 -0
  213. data/vendor/assets/javascripts/ace/snippets/asciidoc.js +8 -6
  214. data/vendor/assets/javascripts/ace/snippets/asl.js +9 -0
  215. data/vendor/assets/javascripts/ace/snippets/assembly_x86.js +8 -6
  216. data/vendor/assets/javascripts/ace/snippets/autohotkey.js +8 -6
  217. data/vendor/assets/javascripts/ace/snippets/batchfile.js +8 -6
  218. data/vendor/assets/javascripts/ace/snippets/c9search.js +8 -6
  219. data/vendor/assets/javascripts/ace/snippets/c_cpp.js +8 -1
  220. data/vendor/assets/javascripts/ace/snippets/cirru.js +8 -6
  221. data/vendor/assets/javascripts/ace/snippets/clojure.js +8 -1
  222. data/vendor/assets/javascripts/ace/snippets/cobol.js +8 -6
  223. data/vendor/assets/javascripts/ace/snippets/coffee.js +8 -1
  224. data/vendor/assets/javascripts/ace/snippets/coldfusion.js +8 -6
  225. data/vendor/assets/javascripts/ace/snippets/crystal.js +9 -0
  226. data/vendor/assets/javascripts/ace/snippets/csharp.js +8 -6
  227. data/vendor/assets/javascripts/ace/snippets/csound_document.js +24 -0
  228. data/vendor/assets/javascripts/ace/snippets/csound_orchestra.js +61 -0
  229. data/vendor/assets/javascripts/ace/snippets/csound_score.js +9 -0
  230. data/vendor/assets/javascripts/ace/snippets/csp.js +9 -0
  231. data/vendor/assets/javascripts/ace/snippets/css.js +8 -1
  232. data/vendor/assets/javascripts/ace/snippets/curly.js +8 -6
  233. data/vendor/assets/javascripts/ace/snippets/d.js +8 -6
  234. data/vendor/assets/javascripts/ace/snippets/dart.js +8 -1
  235. data/vendor/assets/javascripts/ace/snippets/diff.js +8 -1
  236. data/vendor/assets/javascripts/ace/snippets/django.js +8 -1
  237. data/vendor/assets/javascripts/ace/snippets/dockerfile.js +8 -6
  238. data/vendor/assets/javascripts/ace/snippets/dot.js +8 -6
  239. data/vendor/assets/javascripts/ace/snippets/drools.js +8 -1
  240. data/vendor/assets/javascripts/ace/snippets/edifact.js +254 -0
  241. data/vendor/assets/javascripts/ace/snippets/eiffel.js +8 -6
  242. data/vendor/assets/javascripts/ace/snippets/ejs.js +8 -6
  243. data/vendor/assets/javascripts/ace/snippets/elixir.js +8 -6
  244. data/vendor/assets/javascripts/ace/snippets/elm.js +8 -6
  245. data/vendor/assets/javascripts/ace/snippets/erlang.js +8 -1
  246. data/vendor/assets/javascripts/ace/snippets/forth.js +8 -6
  247. data/vendor/assets/javascripts/ace/snippets/fortran.js +8 -6
  248. data/vendor/assets/javascripts/ace/snippets/fsharp.js +9 -0
  249. data/vendor/assets/javascripts/ace/snippets/fsl.js +14 -0
  250. data/vendor/assets/javascripts/ace/snippets/ftl.js +8 -6
  251. data/vendor/assets/javascripts/ace/snippets/gcode.js +8 -6
  252. data/vendor/assets/javascripts/ace/snippets/gherkin.js +8 -6
  253. data/vendor/assets/javascripts/ace/snippets/gitignore.js +8 -6
  254. data/vendor/assets/javascripts/ace/snippets/glsl.js +8 -6
  255. data/vendor/assets/javascripts/ace/snippets/gobstones.js +1701 -24
  256. data/vendor/assets/javascripts/ace/snippets/golang.js +8 -6
  257. data/vendor/assets/javascripts/ace/snippets/graphqlschema.js +8 -1
  258. data/vendor/assets/javascripts/ace/snippets/groovy.js +8 -6
  259. data/vendor/assets/javascripts/ace/snippets/haml.js +8 -1
  260. data/vendor/assets/javascripts/ace/snippets/handlebars.js +8 -6
  261. data/vendor/assets/javascripts/ace/snippets/haskell.js +8 -1
  262. data/vendor/assets/javascripts/ace/snippets/haskell_cabal.js +8 -6
  263. data/vendor/assets/javascripts/ace/snippets/haxe.js +8 -6
  264. data/vendor/assets/javascripts/ace/snippets/hjson.js +8 -6
  265. data/vendor/assets/javascripts/ace/snippets/html.js +36 -2
  266. data/vendor/assets/javascripts/ace/snippets/html_elixir.js +8 -6
  267. data/vendor/assets/javascripts/ace/snippets/html_ruby.js +8 -6
  268. data/vendor/assets/javascripts/ace/snippets/ini.js +8 -6
  269. data/vendor/assets/javascripts/ace/snippets/io.js +8 -1
  270. data/vendor/assets/javascripts/ace/snippets/jack.js +8 -6
  271. data/vendor/assets/javascripts/ace/snippets/jade.js +8 -6
  272. data/vendor/assets/javascripts/ace/snippets/java.js +8 -1
  273. data/vendor/assets/javascripts/ace/snippets/javascript.js +8 -1
  274. data/vendor/assets/javascripts/ace/snippets/json.js +8 -6
  275. data/vendor/assets/javascripts/ace/snippets/json5.js +9 -0
  276. data/vendor/assets/javascripts/ace/snippets/jsoniq.js +8 -1
  277. data/vendor/assets/javascripts/ace/snippets/jsp.js +8 -1
  278. data/vendor/assets/javascripts/ace/snippets/jssm.js +9 -0
  279. data/vendor/assets/javascripts/ace/snippets/jsx.js +8 -6
  280. data/vendor/assets/javascripts/ace/snippets/julia.js +8 -6
  281. data/vendor/assets/javascripts/ace/snippets/kotlin.js +8 -6
  282. data/vendor/assets/javascripts/ace/snippets/latex.js +8 -6
  283. data/vendor/assets/javascripts/ace/snippets/less.js +8 -6
  284. data/vendor/assets/javascripts/ace/snippets/liquid.js +890 -2
  285. data/vendor/assets/javascripts/ace/snippets/lisp.js +8 -6
  286. data/vendor/assets/javascripts/ace/snippets/livescript.js +8 -6
  287. data/vendor/assets/javascripts/ace/snippets/logiql.js +8 -6
  288. data/vendor/assets/javascripts/ace/snippets/logtalk.js +9 -0
  289. data/vendor/assets/javascripts/ace/snippets/lsl.js +8 -1
  290. data/vendor/assets/javascripts/ace/snippets/lua.js +8 -1
  291. data/vendor/assets/javascripts/ace/snippets/luapage.js +8 -6
  292. data/vendor/assets/javascripts/ace/snippets/lucene.js +8 -6
  293. data/vendor/assets/javascripts/ace/snippets/makefile.js +8 -1
  294. data/vendor/assets/javascripts/ace/snippets/markdown.js +8 -1
  295. data/vendor/assets/javascripts/ace/snippets/mask.js +8 -6
  296. data/vendor/assets/javascripts/ace/snippets/matlab.js +8 -6
  297. data/vendor/assets/javascripts/ace/snippets/maze.js +8 -1
  298. data/vendor/assets/javascripts/ace/snippets/mediawiki.js +9 -0
  299. data/vendor/assets/javascripts/ace/snippets/mel.js +8 -6
  300. data/vendor/assets/javascripts/ace/snippets/mixal.js +9 -0
  301. data/vendor/assets/javascripts/ace/snippets/mushcode.js +8 -6
  302. data/vendor/assets/javascripts/ace/snippets/mysql.js +8 -6
  303. data/vendor/assets/javascripts/ace/snippets/nginx.js +9 -0
  304. data/vendor/assets/javascripts/ace/snippets/nim.js +9 -0
  305. data/vendor/assets/javascripts/ace/snippets/nix.js +8 -6
  306. data/vendor/assets/javascripts/ace/snippets/nsis.js +8 -6
  307. data/vendor/assets/javascripts/ace/snippets/nunjucks.js +9 -0
  308. data/vendor/assets/javascripts/ace/snippets/objectivec.js +8 -6
  309. data/vendor/assets/javascripts/ace/snippets/ocaml.js +8 -6
  310. data/vendor/assets/javascripts/ace/snippets/pascal.js +8 -6
  311. data/vendor/assets/javascripts/ace/snippets/perl.js +8 -1
  312. data/vendor/assets/javascripts/ace/snippets/perl6.js +9 -0
  313. data/vendor/assets/javascripts/ace/snippets/pgsql.js +8 -6
  314. data/vendor/assets/javascripts/ace/snippets/php.js +49 -36
  315. data/vendor/assets/javascripts/ace/snippets/php_laravel_blade.js +9 -0
  316. data/vendor/assets/javascripts/ace/snippets/pig.js +8 -6
  317. data/vendor/assets/javascripts/ace/snippets/plain_text.js +8 -6
  318. data/vendor/assets/javascripts/ace/snippets/powershell.js +8 -6
  319. data/vendor/assets/javascripts/ace/snippets/praat.js +8 -6
  320. data/vendor/assets/javascripts/ace/snippets/prisma.js +9 -0
  321. data/vendor/assets/javascripts/ace/snippets/prolog.js +8 -6
  322. data/vendor/assets/javascripts/ace/snippets/properties.js +8 -6
  323. data/vendor/assets/javascripts/ace/snippets/protobuf.js +8 -6
  324. data/vendor/assets/javascripts/ace/snippets/puppet.js +9 -0
  325. data/vendor/assets/javascripts/ace/snippets/python.js +8 -1
  326. data/vendor/assets/javascripts/ace/snippets/qml.js +9 -0
  327. data/vendor/assets/javascripts/ace/snippets/r.js +8 -1
  328. data/vendor/assets/javascripts/ace/snippets/razor.js +8 -1
  329. data/vendor/assets/javascripts/ace/snippets/rdoc.js +8 -6
  330. data/vendor/assets/javascripts/ace/snippets/red.js +9 -0
  331. data/vendor/assets/javascripts/ace/snippets/redshift.js +9 -0
  332. data/vendor/assets/javascripts/ace/snippets/rhtml.js +8 -6
  333. data/vendor/assets/javascripts/ace/snippets/rst.js +8 -1
  334. data/vendor/assets/javascripts/ace/snippets/ruby.js +8 -1
  335. data/vendor/assets/javascripts/ace/snippets/rust.js +8 -6
  336. data/vendor/assets/javascripts/ace/snippets/sass.js +8 -6
  337. data/vendor/assets/javascripts/ace/snippets/scad.js +8 -6
  338. data/vendor/assets/javascripts/ace/snippets/scala.js +8 -6
  339. data/vendor/assets/javascripts/ace/snippets/scheme.js +8 -6
  340. data/vendor/assets/javascripts/ace/snippets/scss.js +8 -6
  341. data/vendor/assets/javascripts/ace/snippets/sh.js +8 -1
  342. data/vendor/assets/javascripts/ace/snippets/sjs.js +8 -6
  343. data/vendor/assets/javascripts/ace/snippets/slim.js +9 -0
  344. data/vendor/assets/javascripts/ace/snippets/smarty.js +8 -6
  345. data/vendor/assets/javascripts/ace/snippets/snippets.js +8 -1
  346. data/vendor/assets/javascripts/ace/snippets/soy_template.js +8 -6
  347. data/vendor/assets/javascripts/ace/snippets/space.js +8 -6
  348. data/vendor/assets/javascripts/ace/snippets/sparql.js +8 -6
  349. data/vendor/assets/javascripts/ace/snippets/sql.js +8 -1
  350. data/vendor/assets/javascripts/ace/snippets/sqlserver.js +8 -1
  351. data/vendor/assets/javascripts/ace/snippets/stylus.js +8 -6
  352. data/vendor/assets/javascripts/ace/snippets/svg.js +8 -6
  353. data/vendor/assets/javascripts/ace/snippets/swift.js +8 -6
  354. data/vendor/assets/javascripts/ace/snippets/tcl.js +8 -1
  355. data/vendor/assets/javascripts/ace/snippets/terraform.js +9 -0
  356. data/vendor/assets/javascripts/ace/snippets/tex.js +8 -1
  357. data/vendor/assets/javascripts/ace/snippets/text.js +8 -6
  358. data/vendor/assets/javascripts/ace/snippets/textile.js +8 -1
  359. data/vendor/assets/javascripts/ace/snippets/toml.js +8 -6
  360. data/vendor/assets/javascripts/ace/snippets/tsx.js +8 -6
  361. data/vendor/assets/javascripts/ace/snippets/turtle.js +8 -6
  362. data/vendor/assets/javascripts/ace/snippets/twig.js +8 -6
  363. data/vendor/assets/javascripts/ace/snippets/typescript.js +8 -6
  364. data/vendor/assets/javascripts/ace/snippets/vala.js +8 -1
  365. data/vendor/assets/javascripts/ace/snippets/vbscript.js +8 -6
  366. data/vendor/assets/javascripts/ace/snippets/velocity.js +8 -1
  367. data/vendor/assets/javascripts/ace/snippets/verilog.js +8 -6
  368. data/vendor/assets/javascripts/ace/snippets/vhdl.js +8 -6
  369. data/vendor/assets/javascripts/ace/snippets/visualforce.js +9 -0
  370. data/vendor/assets/javascripts/ace/snippets/wollok.js +8 -1
  371. data/vendor/assets/javascripts/ace/snippets/xml.js +8 -6
  372. data/vendor/assets/javascripts/ace/snippets/xquery.js +8 -1
  373. data/vendor/assets/javascripts/ace/snippets/yaml.js +8 -6
  374. data/vendor/assets/javascripts/ace/snippets/zeek.js +9 -0
  375. data/vendor/assets/javascripts/ace/theme-ambiance.js +11 -8
  376. data/vendor/assets/javascripts/ace/theme-chaos.js +9 -2
  377. data/vendor/assets/javascripts/ace/theme-chrome.js +8 -1
  378. data/vendor/assets/javascripts/ace/theme-clouds.js +8 -1
  379. data/vendor/assets/javascripts/ace/theme-clouds_midnight.js +8 -1
  380. data/vendor/assets/javascripts/ace/theme-cobalt.js +8 -1
  381. data/vendor/assets/javascripts/ace/theme-crimson_editor.js +8 -1
  382. data/vendor/assets/javascripts/ace/theme-dawn.js +8 -1
  383. data/vendor/assets/javascripts/ace/theme-dracula.js +135 -0
  384. data/vendor/assets/javascripts/ace/theme-dreamweaver.js +8 -1
  385. data/vendor/assets/javascripts/ace/theme-eclipse.js +8 -1
  386. data/vendor/assets/javascripts/ace/theme-github.js +8 -1
  387. data/vendor/assets/javascripts/ace/theme-gob.js +8 -1
  388. data/vendor/assets/javascripts/ace/theme-gruvbox.js +8 -1
  389. data/vendor/assets/javascripts/ace/theme-idle_fingers.js +8 -1
  390. data/vendor/assets/javascripts/ace/theme-iplastic.js +8 -1
  391. data/vendor/assets/javascripts/ace/theme-katzenmilch.js +8 -1
  392. data/vendor/assets/javascripts/ace/theme-kr_theme.js +8 -1
  393. data/vendor/assets/javascripts/ace/theme-kuroir.js +8 -1
  394. data/vendor/assets/javascripts/ace/theme-merbivore.js +8 -1
  395. data/vendor/assets/javascripts/ace/theme-merbivore_soft.js +8 -1
  396. data/vendor/assets/javascripts/ace/theme-mono_industrial.js +8 -1
  397. data/vendor/assets/javascripts/ace/theme-monokai.js +8 -1
  398. data/vendor/assets/javascripts/ace/theme-nord_dark.js +102 -0
  399. data/vendor/assets/javascripts/ace/theme-pastel_on_dark.js +8 -1
  400. data/vendor/assets/javascripts/ace/theme-solarized_dark.js +8 -1
  401. data/vendor/assets/javascripts/ace/theme-solarized_light.js +9 -2
  402. data/vendor/assets/javascripts/ace/theme-sqlserver.js +8 -1
  403. data/vendor/assets/javascripts/ace/theme-terminal.js +8 -1
  404. data/vendor/assets/javascripts/ace/theme-textmate.js +9 -1
  405. data/vendor/assets/javascripts/ace/theme-tomorrow.js +8 -1
  406. data/vendor/assets/javascripts/ace/theme-tomorrow_night.js +8 -1
  407. data/vendor/assets/javascripts/ace/theme-tomorrow_night_blue.js +8 -1
  408. data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright.js +8 -1
  409. data/vendor/assets/javascripts/ace/theme-tomorrow_night_eighties.js +8 -1
  410. data/vendor/assets/javascripts/ace/theme-twilight.js +8 -1
  411. data/vendor/assets/javascripts/ace/theme-vibrant_ink.js +8 -1
  412. data/vendor/assets/javascripts/ace/theme-xcode.js +8 -1
  413. data/vendor/assets/javascripts/ace/worker-base.js +1421 -0
  414. data/vendor/assets/javascripts/ace/worker-coffee.js +55 -742
  415. data/vendor/assets/javascripts/ace/worker-css.js +66 -739
  416. data/vendor/assets/javascripts/ace/worker-html.js +55 -738
  417. data/vendor/assets/javascripts/ace/worker-javascript.js +6693 -4209
  418. data/vendor/assets/javascripts/ace/worker-json.js +56 -737
  419. data/vendor/assets/javascripts/ace/worker-lua.js +56 -738
  420. data/vendor/assets/javascripts/ace/worker-php.js +897 -1512
  421. data/vendor/assets/javascripts/ace/worker-xml.js +129 -808
  422. data/vendor/assets/javascripts/ace/worker-xquery.js +54 -737
  423. metadata +74 -19
  424. data/vendor/assets/javascripts/ace/ext-chromevox.js +0 -540
  425. data/vendor/assets/javascripts/ace/ext-old_ie.js +0 -502
  426. data/vendor/assets/javascripts/ace/mode-bash.js +0 -247
  427. data/vendor/assets/javascripts/ace/mode-bro.js +0 -327
  428. data/vendor/assets/javascripts/ace/mode-lean.js +0 -281
  429. data/vendor/assets/javascripts/ace/mode-live_script.js +0 -481
  430. data/vendor/assets/javascripts/ace/mode-mips_assembler.js +0 -235
  431. data/vendor/assets/javascripts/ace/mode-swig.js +0 -1099
  432. data/vendor/assets/javascripts/ace/snippets/bro.js +0 -7
  433. data/vendor/assets/javascripts/ace/snippets/lean.js +0 -7
  434. data/vendor/assets/javascripts/ace/snippets/live_script.js +0 -7
  435. data/vendor/assets/javascripts/ace/snippets/mips_assembler.js +0 -7
  436. data/vendor/assets/javascripts/ace/snippets/mipsassembler.js +0 -7
  437. data/vendor/assets/javascripts/ace/snippets/swig.js +0 -7
@@ -1,5 +1,5 @@
1
1
  "no use strict";
2
- ;(function(window) {
2
+ !(function(window) {
3
3
  if (typeof window.window != "undefined" && window.document)
4
4
  return;
5
5
  if (window.require && window.define)
@@ -134,7 +134,7 @@ window.define = function(id, deps, factory) {
134
134
  exports: {},
135
135
  factory: function() {
136
136
  var module = this;
137
- var returnExports = factory.apply(this, deps.map(function(dep) {
137
+ var returnExports = factory.apply(this, deps.slice(0, factory.length).map(function(dep) {
138
138
  switch (dep) {
139
139
  // Because "require", "exports" and "module" aren't actual
140
140
  // dependencies, we must handle them seperately.
@@ -209,7 +209,6 @@ window.onmessage = function(e) {
209
209
  }
210
210
  else if (msg.init) {
211
211
  window.initBaseUrls(msg.tlns);
212
- require("ace/lib/es5-shim");
213
212
  sender = window.sender = window.initSender();
214
213
  var clazz = require(msg.module)[msg.classname];
215
214
  main = window.main = new clazz(sender);
@@ -217,7 +216,7 @@ window.onmessage = function(e) {
217
216
  };
218
217
  })(this);
219
218
 
220
- define("ace/lib/oop",["require","exports","module"], function(require, exports, module) {
219
+ define("ace/lib/oop",[], function(require, exports, module) {
221
220
  "use strict";
222
221
 
223
222
  exports.inherits = function(ctor, superCtor) {
@@ -245,7 +244,7 @@ exports.implement = function(proto, mixin) {
245
244
 
246
245
  });
247
246
 
248
- define("ace/range",["require","exports","module"], function(require, exports, module) {
247
+ define("ace/range",[], function(require, exports, module) {
249
248
  "use strict";
250
249
  var comparePoints = function(p1, p2) {
251
250
  return p1.row - p2.row || p1.column - p2.column;
@@ -450,9 +449,9 @@ var Range = function(startRow, startColumn, endRow, endColumn) {
450
449
  };
451
450
  this.collapseRows = function() {
452
451
  if (this.end.column == 0)
453
- return new Range(this.start.row, 0, Math.max(this.start.row, this.end.row-1), 0)
452
+ return new Range(this.start.row, 0, Math.max(this.start.row, this.end.row-1), 0);
454
453
  else
455
- return new Range(this.start.row, 0, this.end.row, 0)
454
+ return new Range(this.start.row, 0, this.end.row, 0);
456
455
  };
457
456
  this.toScreenRange = function(session) {
458
457
  var screenPosStart = session.documentToScreenPosition(this.start);
@@ -484,7 +483,7 @@ Range.comparePoints = function(p1, p2) {
484
483
  exports.Range = Range;
485
484
  });
486
485
 
487
- define("ace/apply_delta",["require","exports","module"], function(require, exports, module) {
486
+ define("ace/apply_delta",[], function(require, exports, module) {
488
487
  "use strict";
489
488
 
490
489
  function throwDeltaError(delta, errorText){
@@ -546,10 +545,10 @@ exports.applyDelta = function(docLines, delta, doNotValidate) {
546
545
  }
547
546
  break;
548
547
  }
549
- }
548
+ };
550
549
  });
551
550
 
552
- define("ace/lib/event_emitter",["require","exports","module"], function(require, exports, module) {
551
+ define("ace/lib/event_emitter",[], function(require, exports, module) {
553
552
  "use strict";
554
553
 
555
554
  var EventEmitter = {};
@@ -599,15 +598,20 @@ EventEmitter._signal = function(eventName, e) {
599
598
 
600
599
  EventEmitter.once = function(eventName, callback) {
601
600
  var _self = this;
602
- callback && this.addEventListener(eventName, function newCallback() {
603
- _self.removeEventListener(eventName, newCallback);
601
+ this.on(eventName, function newCallback() {
602
+ _self.off(eventName, newCallback);
604
603
  callback.apply(null, arguments);
605
604
  });
605
+ if (!callback) {
606
+ return new Promise(function(resolve) {
607
+ callback = resolve;
608
+ });
609
+ }
606
610
  };
607
611
 
608
612
 
609
613
  EventEmitter.setDefaultHandler = function(eventName, callback) {
610
- var handlers = this._defaultHandlers
614
+ var handlers = this._defaultHandlers;
611
615
  if (!handlers)
612
616
  handlers = this._defaultHandlers = {_disabled_: {}};
613
617
 
@@ -624,13 +628,12 @@ EventEmitter.setDefaultHandler = function(eventName, callback) {
624
628
  handlers[eventName] = callback;
625
629
  };
626
630
  EventEmitter.removeDefaultHandler = function(eventName, callback) {
627
- var handlers = this._defaultHandlers
631
+ var handlers = this._defaultHandlers;
628
632
  if (!handlers)
629
633
  return;
630
634
  var disabled = handlers._disabled_[eventName];
631
635
 
632
636
  if (handlers[eventName] == callback) {
633
- var old = handlers[eventName];
634
637
  if (disabled)
635
638
  this.setDefaultHandler(eventName, disabled.pop());
636
639
  } else if (disabled) {
@@ -668,14 +671,16 @@ EventEmitter.removeEventListener = function(eventName, callback) {
668
671
  };
669
672
 
670
673
  EventEmitter.removeAllListeners = function(eventName) {
671
- if (this._eventRegistry) this._eventRegistry[eventName] = [];
674
+ if (!eventName) this._eventRegistry = this._defaultHandlers = undefined;
675
+ if (this._eventRegistry) this._eventRegistry[eventName] = undefined;
676
+ if (this._defaultHandlers) this._defaultHandlers[eventName] = undefined;
672
677
  };
673
678
 
674
679
  exports.EventEmitter = EventEmitter;
675
680
 
676
681
  });
677
682
 
678
- define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"], function(require, exports, module) {
683
+ define("ace/anchor",[], function(require, exports, module) {
679
684
  "use strict";
680
685
 
681
686
  var oop = require("./lib/oop");
@@ -768,7 +773,7 @@ var Anchor = exports.Anchor = function(doc, row, column) {
768
773
  });
769
774
  };
770
775
  this.detach = function() {
771
- this.document.removeEventListener("change", this.$onChange);
776
+ this.document.off("change", this.$onChange);
772
777
  };
773
778
  this.attach = function(doc) {
774
779
  this.document = doc || this.document;
@@ -800,7 +805,7 @@ var Anchor = exports.Anchor = function(doc, row, column) {
800
805
 
801
806
  });
802
807
 
803
- define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"], function(require, exports, module) {
808
+ define("ace/document",[], function(require, exports, module) {
804
809
  "use strict";
805
810
 
806
811
  var oop = require("./lib/oop");
@@ -1091,28 +1096,33 @@ var Document = function(textOrLines) {
1091
1096
  return;
1092
1097
  }
1093
1098
 
1094
- if (isInsert && delta.lines.length > 20000)
1099
+ if (isInsert && delta.lines.length > 20000) {
1095
1100
  this.$splitAndapplyLargeDelta(delta, 20000);
1096
- applyDelta(this.$lines, delta, doNotValidate);
1097
- this._signal("change", delta);
1101
+ }
1102
+ else {
1103
+ applyDelta(this.$lines, delta, doNotValidate);
1104
+ this._signal("change", delta);
1105
+ }
1106
+ };
1107
+
1108
+ this.$safeApplyDelta = function(delta) {
1109
+ var docLength = this.$lines.length;
1110
+ if (
1111
+ delta.action == "remove" && delta.start.row < docLength && delta.end.row < docLength
1112
+ || delta.action == "insert" && delta.start.row <= docLength
1113
+ ) {
1114
+ this.applyDelta(delta);
1115
+ }
1098
1116
  };
1099
1117
 
1100
1118
  this.$splitAndapplyLargeDelta = function(delta, MAX) {
1101
1119
  var lines = delta.lines;
1102
- var l = lines.length;
1120
+ var l = lines.length - MAX + 1;
1103
1121
  var row = delta.start.row;
1104
1122
  var column = delta.start.column;
1105
- var from = 0, to = 0;
1106
- do {
1107
- from = to;
1123
+ for (var from = 0, to = 0; from < l; from = to) {
1108
1124
  to += MAX - 1;
1109
1125
  var chunk = lines.slice(from, to);
1110
- if (to > l) {
1111
- delta.lines = chunk;
1112
- delta.start.row = row + from;
1113
- delta.start.column = column;
1114
- break;
1115
- }
1116
1126
  chunk.push("");
1117
1127
  this.applyDelta({
1118
1128
  start: this.pos(row + from, column),
@@ -1120,10 +1130,14 @@ var Document = function(textOrLines) {
1120
1130
  action: delta.action,
1121
1131
  lines: chunk
1122
1132
  }, true);
1123
- } while(true);
1133
+ }
1134
+ delta.lines = lines.slice(from);
1135
+ delta.start.row = row + from;
1136
+ delta.start.column = column;
1137
+ this.applyDelta(delta, true);
1124
1138
  };
1125
1139
  this.revertDelta = function(delta) {
1126
- this.applyDelta({
1140
+ this.$safeApplyDelta({
1127
1141
  start: this.clonePos(delta.start),
1128
1142
  end: this.clonePos(delta.end),
1129
1143
  action: (delta.action == "insert" ? "remove" : "insert"),
@@ -1138,7 +1152,7 @@ var Document = function(textOrLines) {
1138
1152
  if (index < 0)
1139
1153
  return {row: i, column: index + lines[i].length + newlineLength};
1140
1154
  }
1141
- return {row: l-1, column: lines[l-1].length};
1155
+ return {row: l-1, column: index + lines[l-1].length + newlineLength};
1142
1156
  };
1143
1157
  this.positionToIndex = function(pos, startRow) {
1144
1158
  var lines = this.$lines || this.getAllLines();
@@ -1156,7 +1170,7 @@ var Document = function(textOrLines) {
1156
1170
  exports.Document = Document;
1157
1171
  });
1158
1172
 
1159
- define("ace/lib/lang",["require","exports","module"], function(require, exports, module) {
1173
+ define("ace/lib/lang",[], function(require, exports, module) {
1160
1174
  "use strict";
1161
1175
 
1162
1176
  exports.last = function(a) {
@@ -1258,7 +1272,7 @@ exports.escapeRegExp = function(str) {
1258
1272
  };
1259
1273
 
1260
1274
  exports.escapeHTML = function(str) {
1261
- return str.replace(/&/g, "&#38;").replace(/"/g, "&#34;").replace(/'/g, "&#39;").replace(/</g, "&#60;");
1275
+ return ("" + str).replace(/&/g, "&#38;").replace(/"/g, "&#34;").replace(/'/g, "&#39;").replace(/</g, "&#60;");
1262
1276
  };
1263
1277
 
1264
1278
  exports.getMatchOffsets = function(string, regExp) {
@@ -1344,7 +1358,7 @@ exports.delayedCall = function(fcn, defaultTimeout) {
1344
1358
  };
1345
1359
  });
1346
1360
 
1347
- define("ace/worker/mirror",["require","exports","module","ace/range","ace/document","ace/lib/lang"], function(require, exports, module) {
1361
+ define("ace/worker/mirror",[], function(require, exports, module) {
1348
1362
  "use strict";
1349
1363
 
1350
1364
  var Range = require("../range").Range;
@@ -1406,7 +1420,7 @@ var Mirror = exports.Mirror = function(sender) {
1406
1420
 
1407
1421
  });
1408
1422
 
1409
- define("ace/mode/json/json_parse",["require","exports","module"], function(require, exports, module) {
1423
+ define("ace/mode/json/json_parse",[], function(require, exports, module) {
1410
1424
  "use strict";
1411
1425
 
1412
1426
  var at, // The index of the current character
@@ -1512,6 +1526,8 @@ define("ace/mode/json/json_parse",["require","exports","module"], function(requi
1512
1526
  } else {
1513
1527
  break;
1514
1528
  }
1529
+ } else if (ch == "\n" || ch == "\r") {
1530
+ break;
1515
1531
  } else {
1516
1532
  string += ch;
1517
1533
  }
@@ -1660,7 +1676,7 @@ define("ace/mode/json/json_parse",["require","exports","module"], function(requi
1660
1676
  };
1661
1677
  });
1662
1678
 
1663
- define("ace/mode/json_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/json/json_parse"], function(require, exports, module) {
1679
+ define("ace/mode/json_worker",[], function(require, exports, module) {
1664
1680
  "use strict";
1665
1681
 
1666
1682
  var oop = require("../lib/oop");
@@ -1697,700 +1713,3 @@ oop.inherits(JsonWorker, Mirror);
1697
1713
  }).call(JsonWorker.prototype);
1698
1714
 
1699
1715
  });
1700
-
1701
- define("ace/lib/es5-shim",["require","exports","module"], function(require, exports, module) {
1702
-
1703
- function Empty() {}
1704
-
1705
- if (!Function.prototype.bind) {
1706
- Function.prototype.bind = function bind(that) { // .length is 1
1707
- var target = this;
1708
- if (typeof target != "function") {
1709
- throw new TypeError("Function.prototype.bind called on incompatible " + target);
1710
- }
1711
- var args = slice.call(arguments, 1); // for normal call
1712
- var bound = function () {
1713
-
1714
- if (this instanceof bound) {
1715
-
1716
- var result = target.apply(
1717
- this,
1718
- args.concat(slice.call(arguments))
1719
- );
1720
- if (Object(result) === result) {
1721
- return result;
1722
- }
1723
- return this;
1724
-
1725
- } else {
1726
- return target.apply(
1727
- that,
1728
- args.concat(slice.call(arguments))
1729
- );
1730
-
1731
- }
1732
-
1733
- };
1734
- if(target.prototype) {
1735
- Empty.prototype = target.prototype;
1736
- bound.prototype = new Empty();
1737
- Empty.prototype = null;
1738
- }
1739
- return bound;
1740
- };
1741
- }
1742
- var call = Function.prototype.call;
1743
- var prototypeOfArray = Array.prototype;
1744
- var prototypeOfObject = Object.prototype;
1745
- var slice = prototypeOfArray.slice;
1746
- var _toString = call.bind(prototypeOfObject.toString);
1747
- var owns = call.bind(prototypeOfObject.hasOwnProperty);
1748
- var defineGetter;
1749
- var defineSetter;
1750
- var lookupGetter;
1751
- var lookupSetter;
1752
- var supportsAccessors;
1753
- if ((supportsAccessors = owns(prototypeOfObject, "__defineGetter__"))) {
1754
- defineGetter = call.bind(prototypeOfObject.__defineGetter__);
1755
- defineSetter = call.bind(prototypeOfObject.__defineSetter__);
1756
- lookupGetter = call.bind(prototypeOfObject.__lookupGetter__);
1757
- lookupSetter = call.bind(prototypeOfObject.__lookupSetter__);
1758
- }
1759
- if ([1,2].splice(0).length != 2) {
1760
- if(function() { // test IE < 9 to splice bug - see issue #138
1761
- function makeArray(l) {
1762
- var a = new Array(l+2);
1763
- a[0] = a[1] = 0;
1764
- return a;
1765
- }
1766
- var array = [], lengthBefore;
1767
-
1768
- array.splice.apply(array, makeArray(20));
1769
- array.splice.apply(array, makeArray(26));
1770
-
1771
- lengthBefore = array.length; //46
1772
- array.splice(5, 0, "XXX"); // add one element
1773
-
1774
- lengthBefore + 1 == array.length
1775
-
1776
- if (lengthBefore + 1 == array.length) {
1777
- return true;// has right splice implementation without bugs
1778
- }
1779
- }()) {//IE 6/7
1780
- var array_splice = Array.prototype.splice;
1781
- Array.prototype.splice = function(start, deleteCount) {
1782
- if (!arguments.length) {
1783
- return [];
1784
- } else {
1785
- return array_splice.apply(this, [
1786
- start === void 0 ? 0 : start,
1787
- deleteCount === void 0 ? (this.length - start) : deleteCount
1788
- ].concat(slice.call(arguments, 2)))
1789
- }
1790
- };
1791
- } else {//IE8
1792
- Array.prototype.splice = function(pos, removeCount){
1793
- var length = this.length;
1794
- if (pos > 0) {
1795
- if (pos > length)
1796
- pos = length;
1797
- } else if (pos == void 0) {
1798
- pos = 0;
1799
- } else if (pos < 0) {
1800
- pos = Math.max(length + pos, 0);
1801
- }
1802
-
1803
- if (!(pos+removeCount < length))
1804
- removeCount = length - pos;
1805
-
1806
- var removed = this.slice(pos, pos+removeCount);
1807
- var insert = slice.call(arguments, 2);
1808
- var add = insert.length;
1809
- if (pos === length) {
1810
- if (add) {
1811
- this.push.apply(this, insert);
1812
- }
1813
- } else {
1814
- var remove = Math.min(removeCount, length - pos);
1815
- var tailOldPos = pos + remove;
1816
- var tailNewPos = tailOldPos + add - remove;
1817
- var tailCount = length - tailOldPos;
1818
- var lengthAfterRemove = length - remove;
1819
-
1820
- if (tailNewPos < tailOldPos) { // case A
1821
- for (var i = 0; i < tailCount; ++i) {
1822
- this[tailNewPos+i] = this[tailOldPos+i];
1823
- }
1824
- } else if (tailNewPos > tailOldPos) { // case B
1825
- for (i = tailCount; i--; ) {
1826
- this[tailNewPos+i] = this[tailOldPos+i];
1827
- }
1828
- } // else, add == remove (nothing to do)
1829
-
1830
- if (add && pos === lengthAfterRemove) {
1831
- this.length = lengthAfterRemove; // truncate array
1832
- this.push.apply(this, insert);
1833
- } else {
1834
- this.length = lengthAfterRemove + add; // reserves space
1835
- for (i = 0; i < add; ++i) {
1836
- this[pos+i] = insert[i];
1837
- }
1838
- }
1839
- }
1840
- return removed;
1841
- };
1842
- }
1843
- }
1844
- if (!Array.isArray) {
1845
- Array.isArray = function isArray(obj) {
1846
- return _toString(obj) == "[object Array]";
1847
- };
1848
- }
1849
- var boxedString = Object("a"),
1850
- splitString = boxedString[0] != "a" || !(0 in boxedString);
1851
-
1852
- if (!Array.prototype.forEach) {
1853
- Array.prototype.forEach = function forEach(fun /*, thisp*/) {
1854
- var object = toObject(this),
1855
- self = splitString && _toString(this) == "[object String]" ?
1856
- this.split("") :
1857
- object,
1858
- thisp = arguments[1],
1859
- i = -1,
1860
- length = self.length >>> 0;
1861
- if (_toString(fun) != "[object Function]") {
1862
- throw new TypeError(); // TODO message
1863
- }
1864
-
1865
- while (++i < length) {
1866
- if (i in self) {
1867
- fun.call(thisp, self[i], i, object);
1868
- }
1869
- }
1870
- };
1871
- }
1872
- if (!Array.prototype.map) {
1873
- Array.prototype.map = function map(fun /*, thisp*/) {
1874
- var object = toObject(this),
1875
- self = splitString && _toString(this) == "[object String]" ?
1876
- this.split("") :
1877
- object,
1878
- length = self.length >>> 0,
1879
- result = Array(length),
1880
- thisp = arguments[1];
1881
- if (_toString(fun) != "[object Function]") {
1882
- throw new TypeError(fun + " is not a function");
1883
- }
1884
-
1885
- for (var i = 0; i < length; i++) {
1886
- if (i in self)
1887
- result[i] = fun.call(thisp, self[i], i, object);
1888
- }
1889
- return result;
1890
- };
1891
- }
1892
- if (!Array.prototype.filter) {
1893
- Array.prototype.filter = function filter(fun /*, thisp */) {
1894
- var object = toObject(this),
1895
- self = splitString && _toString(this) == "[object String]" ?
1896
- this.split("") :
1897
- object,
1898
- length = self.length >>> 0,
1899
- result = [],
1900
- value,
1901
- thisp = arguments[1];
1902
- if (_toString(fun) != "[object Function]") {
1903
- throw new TypeError(fun + " is not a function");
1904
- }
1905
-
1906
- for (var i = 0; i < length; i++) {
1907
- if (i in self) {
1908
- value = self[i];
1909
- if (fun.call(thisp, value, i, object)) {
1910
- result.push(value);
1911
- }
1912
- }
1913
- }
1914
- return result;
1915
- };
1916
- }
1917
- if (!Array.prototype.every) {
1918
- Array.prototype.every = function every(fun /*, thisp */) {
1919
- var object = toObject(this),
1920
- self = splitString && _toString(this) == "[object String]" ?
1921
- this.split("") :
1922
- object,
1923
- length = self.length >>> 0,
1924
- thisp = arguments[1];
1925
- if (_toString(fun) != "[object Function]") {
1926
- throw new TypeError(fun + " is not a function");
1927
- }
1928
-
1929
- for (var i = 0; i < length; i++) {
1930
- if (i in self && !fun.call(thisp, self[i], i, object)) {
1931
- return false;
1932
- }
1933
- }
1934
- return true;
1935
- };
1936
- }
1937
- if (!Array.prototype.some) {
1938
- Array.prototype.some = function some(fun /*, thisp */) {
1939
- var object = toObject(this),
1940
- self = splitString && _toString(this) == "[object String]" ?
1941
- this.split("") :
1942
- object,
1943
- length = self.length >>> 0,
1944
- thisp = arguments[1];
1945
- if (_toString(fun) != "[object Function]") {
1946
- throw new TypeError(fun + " is not a function");
1947
- }
1948
-
1949
- for (var i = 0; i < length; i++) {
1950
- if (i in self && fun.call(thisp, self[i], i, object)) {
1951
- return true;
1952
- }
1953
- }
1954
- return false;
1955
- };
1956
- }
1957
- if (!Array.prototype.reduce) {
1958
- Array.prototype.reduce = function reduce(fun /*, initial*/) {
1959
- var object = toObject(this),
1960
- self = splitString && _toString(this) == "[object String]" ?
1961
- this.split("") :
1962
- object,
1963
- length = self.length >>> 0;
1964
- if (_toString(fun) != "[object Function]") {
1965
- throw new TypeError(fun + " is not a function");
1966
- }
1967
- if (!length && arguments.length == 1) {
1968
- throw new TypeError("reduce of empty array with no initial value");
1969
- }
1970
-
1971
- var i = 0;
1972
- var result;
1973
- if (arguments.length >= 2) {
1974
- result = arguments[1];
1975
- } else {
1976
- do {
1977
- if (i in self) {
1978
- result = self[i++];
1979
- break;
1980
- }
1981
- if (++i >= length) {
1982
- throw new TypeError("reduce of empty array with no initial value");
1983
- }
1984
- } while (true);
1985
- }
1986
-
1987
- for (; i < length; i++) {
1988
- if (i in self) {
1989
- result = fun.call(void 0, result, self[i], i, object);
1990
- }
1991
- }
1992
-
1993
- return result;
1994
- };
1995
- }
1996
- if (!Array.prototype.reduceRight) {
1997
- Array.prototype.reduceRight = function reduceRight(fun /*, initial*/) {
1998
- var object = toObject(this),
1999
- self = splitString && _toString(this) == "[object String]" ?
2000
- this.split("") :
2001
- object,
2002
- length = self.length >>> 0;
2003
- if (_toString(fun) != "[object Function]") {
2004
- throw new TypeError(fun + " is not a function");
2005
- }
2006
- if (!length && arguments.length == 1) {
2007
- throw new TypeError("reduceRight of empty array with no initial value");
2008
- }
2009
-
2010
- var result, i = length - 1;
2011
- if (arguments.length >= 2) {
2012
- result = arguments[1];
2013
- } else {
2014
- do {
2015
- if (i in self) {
2016
- result = self[i--];
2017
- break;
2018
- }
2019
- if (--i < 0) {
2020
- throw new TypeError("reduceRight of empty array with no initial value");
2021
- }
2022
- } while (true);
2023
- }
2024
-
2025
- do {
2026
- if (i in this) {
2027
- result = fun.call(void 0, result, self[i], i, object);
2028
- }
2029
- } while (i--);
2030
-
2031
- return result;
2032
- };
2033
- }
2034
- if (!Array.prototype.indexOf || ([0, 1].indexOf(1, 2) != -1)) {
2035
- Array.prototype.indexOf = function indexOf(sought /*, fromIndex */ ) {
2036
- var self = splitString && _toString(this) == "[object String]" ?
2037
- this.split("") :
2038
- toObject(this),
2039
- length = self.length >>> 0;
2040
-
2041
- if (!length) {
2042
- return -1;
2043
- }
2044
-
2045
- var i = 0;
2046
- if (arguments.length > 1) {
2047
- i = toInteger(arguments[1]);
2048
- }
2049
- i = i >= 0 ? i : Math.max(0, length + i);
2050
- for (; i < length; i++) {
2051
- if (i in self && self[i] === sought) {
2052
- return i;
2053
- }
2054
- }
2055
- return -1;
2056
- };
2057
- }
2058
- if (!Array.prototype.lastIndexOf || ([0, 1].lastIndexOf(0, -3) != -1)) {
2059
- Array.prototype.lastIndexOf = function lastIndexOf(sought /*, fromIndex */) {
2060
- var self = splitString && _toString(this) == "[object String]" ?
2061
- this.split("") :
2062
- toObject(this),
2063
- length = self.length >>> 0;
2064
-
2065
- if (!length) {
2066
- return -1;
2067
- }
2068
- var i = length - 1;
2069
- if (arguments.length > 1) {
2070
- i = Math.min(i, toInteger(arguments[1]));
2071
- }
2072
- i = i >= 0 ? i : length - Math.abs(i);
2073
- for (; i >= 0; i--) {
2074
- if (i in self && sought === self[i]) {
2075
- return i;
2076
- }
2077
- }
2078
- return -1;
2079
- };
2080
- }
2081
- if (!Object.getPrototypeOf) {
2082
- Object.getPrototypeOf = function getPrototypeOf(object) {
2083
- return object.__proto__ || (
2084
- object.constructor ?
2085
- object.constructor.prototype :
2086
- prototypeOfObject
2087
- );
2088
- };
2089
- }
2090
- if (!Object.getOwnPropertyDescriptor) {
2091
- var ERR_NON_OBJECT = "Object.getOwnPropertyDescriptor called on a " +
2092
- "non-object: ";
2093
- Object.getOwnPropertyDescriptor = function getOwnPropertyDescriptor(object, property) {
2094
- if ((typeof object != "object" && typeof object != "function") || object === null)
2095
- throw new TypeError(ERR_NON_OBJECT + object);
2096
- if (!owns(object, property))
2097
- return;
2098
-
2099
- var descriptor, getter, setter;
2100
- descriptor = { enumerable: true, configurable: true };
2101
- if (supportsAccessors) {
2102
- var prototype = object.__proto__;
2103
- object.__proto__ = prototypeOfObject;
2104
-
2105
- var getter = lookupGetter(object, property);
2106
- var setter = lookupSetter(object, property);
2107
- object.__proto__ = prototype;
2108
-
2109
- if (getter || setter) {
2110
- if (getter) descriptor.get = getter;
2111
- if (setter) descriptor.set = setter;
2112
- return descriptor;
2113
- }
2114
- }
2115
- descriptor.value = object[property];
2116
- return descriptor;
2117
- };
2118
- }
2119
- if (!Object.getOwnPropertyNames) {
2120
- Object.getOwnPropertyNames = function getOwnPropertyNames(object) {
2121
- return Object.keys(object);
2122
- };
2123
- }
2124
- if (!Object.create) {
2125
- var createEmpty;
2126
- if (Object.prototype.__proto__ === null) {
2127
- createEmpty = function () {
2128
- return { "__proto__": null };
2129
- };
2130
- } else {
2131
- createEmpty = function () {
2132
- var empty = {};
2133
- for (var i in empty)
2134
- empty[i] = null;
2135
- empty.constructor =
2136
- empty.hasOwnProperty =
2137
- empty.propertyIsEnumerable =
2138
- empty.isPrototypeOf =
2139
- empty.toLocaleString =
2140
- empty.toString =
2141
- empty.valueOf =
2142
- empty.__proto__ = null;
2143
- return empty;
2144
- }
2145
- }
2146
-
2147
- Object.create = function create(prototype, properties) {
2148
- var object;
2149
- if (prototype === null) {
2150
- object = createEmpty();
2151
- } else {
2152
- if (typeof prototype != "object")
2153
- throw new TypeError("typeof prototype["+(typeof prototype)+"] != 'object'");
2154
- var Type = function () {};
2155
- Type.prototype = prototype;
2156
- object = new Type();
2157
- object.__proto__ = prototype;
2158
- }
2159
- if (properties !== void 0)
2160
- Object.defineProperties(object, properties);
2161
- return object;
2162
- };
2163
- }
2164
-
2165
- function doesDefinePropertyWork(object) {
2166
- try {
2167
- Object.defineProperty(object, "sentinel", {});
2168
- return "sentinel" in object;
2169
- } catch (exception) {
2170
- }
2171
- }
2172
- if (Object.defineProperty) {
2173
- var definePropertyWorksOnObject = doesDefinePropertyWork({});
2174
- var definePropertyWorksOnDom = typeof document == "undefined" ||
2175
- doesDefinePropertyWork(document.createElement("div"));
2176
- if (!definePropertyWorksOnObject || !definePropertyWorksOnDom) {
2177
- var definePropertyFallback = Object.defineProperty;
2178
- }
2179
- }
2180
-
2181
- if (!Object.defineProperty || definePropertyFallback) {
2182
- var ERR_NON_OBJECT_DESCRIPTOR = "Property description must be an object: ";
2183
- var ERR_NON_OBJECT_TARGET = "Object.defineProperty called on non-object: "
2184
- var ERR_ACCESSORS_NOT_SUPPORTED = "getters & setters can not be defined " +
2185
- "on this javascript engine";
2186
-
2187
- Object.defineProperty = function defineProperty(object, property, descriptor) {
2188
- if ((typeof object != "object" && typeof object != "function") || object === null)
2189
- throw new TypeError(ERR_NON_OBJECT_TARGET + object);
2190
- if ((typeof descriptor != "object" && typeof descriptor != "function") || descriptor === null)
2191
- throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR + descriptor);
2192
- if (definePropertyFallback) {
2193
- try {
2194
- return definePropertyFallback.call(Object, object, property, descriptor);
2195
- } catch (exception) {
2196
- }
2197
- }
2198
- if (owns(descriptor, "value")) {
2199
-
2200
- if (supportsAccessors && (lookupGetter(object, property) ||
2201
- lookupSetter(object, property)))
2202
- {
2203
- var prototype = object.__proto__;
2204
- object.__proto__ = prototypeOfObject;
2205
- delete object[property];
2206
- object[property] = descriptor.value;
2207
- object.__proto__ = prototype;
2208
- } else {
2209
- object[property] = descriptor.value;
2210
- }
2211
- } else {
2212
- if (!supportsAccessors)
2213
- throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);
2214
- if (owns(descriptor, "get"))
2215
- defineGetter(object, property, descriptor.get);
2216
- if (owns(descriptor, "set"))
2217
- defineSetter(object, property, descriptor.set);
2218
- }
2219
-
2220
- return object;
2221
- };
2222
- }
2223
- if (!Object.defineProperties) {
2224
- Object.defineProperties = function defineProperties(object, properties) {
2225
- for (var property in properties) {
2226
- if (owns(properties, property))
2227
- Object.defineProperty(object, property, properties[property]);
2228
- }
2229
- return object;
2230
- };
2231
- }
2232
- if (!Object.seal) {
2233
- Object.seal = function seal(object) {
2234
- return object;
2235
- };
2236
- }
2237
- if (!Object.freeze) {
2238
- Object.freeze = function freeze(object) {
2239
- return object;
2240
- };
2241
- }
2242
- try {
2243
- Object.freeze(function () {});
2244
- } catch (exception) {
2245
- Object.freeze = (function freeze(freezeObject) {
2246
- return function freeze(object) {
2247
- if (typeof object == "function") {
2248
- return object;
2249
- } else {
2250
- return freezeObject(object);
2251
- }
2252
- };
2253
- })(Object.freeze);
2254
- }
2255
- if (!Object.preventExtensions) {
2256
- Object.preventExtensions = function preventExtensions(object) {
2257
- return object;
2258
- };
2259
- }
2260
- if (!Object.isSealed) {
2261
- Object.isSealed = function isSealed(object) {
2262
- return false;
2263
- };
2264
- }
2265
- if (!Object.isFrozen) {
2266
- Object.isFrozen = function isFrozen(object) {
2267
- return false;
2268
- };
2269
- }
2270
- if (!Object.isExtensible) {
2271
- Object.isExtensible = function isExtensible(object) {
2272
- if (Object(object) === object) {
2273
- throw new TypeError(); // TODO message
2274
- }
2275
- var name = '';
2276
- while (owns(object, name)) {
2277
- name += '?';
2278
- }
2279
- object[name] = true;
2280
- var returnValue = owns(object, name);
2281
- delete object[name];
2282
- return returnValue;
2283
- };
2284
- }
2285
- if (!Object.keys) {
2286
- var hasDontEnumBug = true,
2287
- dontEnums = [
2288
- "toString",
2289
- "toLocaleString",
2290
- "valueOf",
2291
- "hasOwnProperty",
2292
- "isPrototypeOf",
2293
- "propertyIsEnumerable",
2294
- "constructor"
2295
- ],
2296
- dontEnumsLength = dontEnums.length;
2297
-
2298
- for (var key in {"toString": null}) {
2299
- hasDontEnumBug = false;
2300
- }
2301
-
2302
- Object.keys = function keys(object) {
2303
-
2304
- if (
2305
- (typeof object != "object" && typeof object != "function") ||
2306
- object === null
2307
- ) {
2308
- throw new TypeError("Object.keys called on a non-object");
2309
- }
2310
-
2311
- var keys = [];
2312
- for (var name in object) {
2313
- if (owns(object, name)) {
2314
- keys.push(name);
2315
- }
2316
- }
2317
-
2318
- if (hasDontEnumBug) {
2319
- for (var i = 0, ii = dontEnumsLength; i < ii; i++) {
2320
- var dontEnum = dontEnums[i];
2321
- if (owns(object, dontEnum)) {
2322
- keys.push(dontEnum);
2323
- }
2324
- }
2325
- }
2326
- return keys;
2327
- };
2328
-
2329
- }
2330
- if (!Date.now) {
2331
- Date.now = function now() {
2332
- return new Date().getTime();
2333
- };
2334
- }
2335
- var ws = "\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003" +
2336
- "\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028" +
2337
- "\u2029\uFEFF";
2338
- if (!String.prototype.trim || ws.trim()) {
2339
- ws = "[" + ws + "]";
2340
- var trimBeginRegexp = new RegExp("^" + ws + ws + "*"),
2341
- trimEndRegexp = new RegExp(ws + ws + "*$");
2342
- String.prototype.trim = function trim() {
2343
- return String(this).replace(trimBeginRegexp, "").replace(trimEndRegexp, "");
2344
- };
2345
- }
2346
-
2347
- function toInteger(n) {
2348
- n = +n;
2349
- if (n !== n) { // isNaN
2350
- n = 0;
2351
- } else if (n !== 0 && n !== (1/0) && n !== -(1/0)) {
2352
- n = (n > 0 || -1) * Math.floor(Math.abs(n));
2353
- }
2354
- return n;
2355
- }
2356
-
2357
- function isPrimitive(input) {
2358
- var type = typeof input;
2359
- return (
2360
- input === null ||
2361
- type === "undefined" ||
2362
- type === "boolean" ||
2363
- type === "number" ||
2364
- type === "string"
2365
- );
2366
- }
2367
-
2368
- function toPrimitive(input) {
2369
- var val, valueOf, toString;
2370
- if (isPrimitive(input)) {
2371
- return input;
2372
- }
2373
- valueOf = input.valueOf;
2374
- if (typeof valueOf === "function") {
2375
- val = valueOf.call(input);
2376
- if (isPrimitive(val)) {
2377
- return val;
2378
- }
2379
- }
2380
- toString = input.toString;
2381
- if (typeof toString === "function") {
2382
- val = toString.call(input);
2383
- if (isPrimitive(val)) {
2384
- return val;
2385
- }
2386
- }
2387
- throw new TypeError();
2388
- }
2389
- var toObject = function (o) {
2390
- if (o == null) { // this matches both null and undefined
2391
- throw new TypeError("can't convert "+o+" to object");
2392
- }
2393
- return Object(o);
2394
- };
2395
-
2396
- });