bedrock_sass 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (466) hide show
  1. checksums.yaml +4 -4
  2. data/assets/_vendor/ace/ace.js +255 -589
  3. data/assets/_vendor/ace/ext-beautify.js +1 -2
  4. data/assets/_vendor/ace/ext-elastic_tabstops_lite.js +2 -2
  5. data/assets/_vendor/ace/ext-emmet.js +4 -4
  6. data/assets/_vendor/ace/ext-error_marker.js +1 -2
  7. data/assets/_vendor/ace/ext-keybinding_menu.js +1 -2
  8. data/assets/_vendor/ace/ext-language_tools.js +5 -9
  9. data/assets/_vendor/ace/ext-linking.js +1 -2
  10. data/assets/_vendor/ace/ext-modelist.js +9 -5
  11. data/assets/_vendor/ace/ext-options.js +10 -7
  12. data/assets/_vendor/ace/ext-rtl.js +1 -2
  13. data/assets/_vendor/ace/ext-searchbox.js +8 -4
  14. data/assets/_vendor/ace/ext-settings_menu.js +10 -7
  15. data/assets/_vendor/ace/ext-spellcheck.js +1 -2
  16. data/assets/_vendor/ace/ext-split.js +1 -2
  17. data/assets/_vendor/ace/ext-static_highlight.js +11 -8
  18. data/assets/_vendor/ace/ext-statusbar.js +1 -2
  19. data/assets/_vendor/ace/ext-textarea.js +1 -5
  20. data/assets/_vendor/ace/ext-themelist.js +2 -4
  21. data/assets/_vendor/ace/ext-whitespace.js +1 -2
  22. data/assets/_vendor/ace/keybinding-emacs.js +6 -2
  23. data/assets/_vendor/ace/keybinding-vim.js +13 -25
  24. data/assets/_vendor/ace/mode-abap.js +2 -3
  25. data/assets/_vendor/ace/mode-abc.js +3 -2
  26. data/assets/_vendor/ace/mode-actionscript.js +2 -2
  27. data/assets/_vendor/ace/mode-ada.js +1 -2
  28. data/assets/_vendor/ace/mode-apache_conf.js +2 -2
  29. data/assets/_vendor/ace/mode-apex.js +457 -0
  30. data/assets/_vendor/ace/mode-applescript.js +1 -2
  31. data/assets/_vendor/ace/mode-asciidoc.js +2 -2
  32. data/assets/_vendor/ace/mode-asl.js +1 -2
  33. data/assets/_vendor/ace/mode-assembly_x86.js +2 -2
  34. data/assets/_vendor/ace/mode-autohotkey.js +1 -2
  35. data/assets/_vendor/ace/mode-batchfile.js +2 -2
  36. data/assets/_vendor/ace/mode-bro.js +2 -2
  37. data/assets/_vendor/ace/mode-c9search.js +1 -2
  38. data/assets/_vendor/ace/mode-c_cpp.js +2 -2
  39. data/assets/_vendor/ace/mode-cirru.js +1 -2
  40. data/assets/_vendor/ace/mode-clojure.js +2 -2
  41. data/assets/_vendor/ace/mode-cobol.js +1 -2
  42. data/assets/_vendor/ace/mode-coffee.js +1 -2
  43. data/assets/_vendor/ace/mode-coldfusion.js +3 -2
  44. data/assets/_vendor/ace/mode-csharp.js +3 -3
  45. data/assets/_vendor/ace/mode-csound_document.js +319 -80
  46. data/assets/_vendor/ace/mode-csound_orchestra.js +323 -86
  47. data/assets/_vendor/ace/mode-csound_score.js +1 -2
  48. data/assets/_vendor/ace/mode-csp.js +1 -2
  49. data/assets/_vendor/ace/mode-css.js +2 -2
  50. data/assets/_vendor/ace/mode-curly.js +3 -2
  51. data/assets/_vendor/ace/mode-d.js +2 -2
  52. data/assets/_vendor/ace/mode-dart.js +24 -14
  53. data/assets/_vendor/ace/mode-diff.js +4 -4
  54. data/assets/_vendor/ace/mode-django.js +3 -2
  55. data/assets/_vendor/ace/mode-dockerfile.js +3 -2
  56. data/assets/_vendor/ace/mode-dot.js +1 -2
  57. data/assets/_vendor/ace/mode-drools.js +3 -2
  58. data/assets/_vendor/ace/mode-edifact.js +2 -2
  59. data/assets/_vendor/ace/mode-eiffel.js +1 -2
  60. data/assets/_vendor/ace/mode-ejs.js +5 -2
  61. data/assets/_vendor/ace/mode-elixir.js +2 -2
  62. data/assets/_vendor/ace/mode-elm.js +1 -2
  63. data/assets/_vendor/ace/mode-erlang.js +2 -2
  64. data/assets/_vendor/ace/mode-forth.js +2 -2
  65. data/assets/_vendor/ace/mode-fortran.js +1 -2
  66. data/assets/_vendor/ace/mode-fsharp.js +1 -2
  67. data/assets/_vendor/ace/mode-fsl.js +258 -0
  68. data/assets/_vendor/ace/mode-ftl.js +3 -2
  69. data/assets/_vendor/ace/mode-gcode.js +1 -2
  70. data/assets/_vendor/ace/mode-gherkin.js +2 -4
  71. data/assets/_vendor/ace/mode-gitignore.js +1 -2
  72. data/assets/_vendor/ace/mode-glsl.js +2 -2
  73. data/assets/_vendor/ace/mode-gobstones.js +3 -2
  74. data/assets/_vendor/ace/mode-golang.js +1 -2
  75. data/assets/_vendor/ace/mode-graphqlschema.js +1 -2
  76. data/assets/_vendor/ace/mode-groovy.js +4 -2
  77. data/assets/_vendor/ace/mode-haml.js +5 -2
  78. data/assets/_vendor/ace/mode-handlebars.js +3 -2
  79. data/assets/_vendor/ace/mode-haskell.js +2 -2
  80. data/assets/_vendor/ace/mode-haskell_cabal.js +1 -2
  81. data/assets/_vendor/ace/mode-haxe.js +2 -2
  82. data/assets/_vendor/ace/mode-hjson.js +2 -2
  83. data/assets/_vendor/ace/mode-html.js +3 -2
  84. data/assets/_vendor/ace/mode-html_elixir.js +4 -2
  85. data/assets/_vendor/ace/mode-html_ruby.js +5 -2
  86. data/assets/_vendor/ace/mode-ini.js +1 -2
  87. data/assets/_vendor/ace/mode-io.js +2 -2
  88. data/assets/_vendor/ace/mode-jack.js +1 -2
  89. data/assets/_vendor/ace/mode-jade.js +14 -115
  90. data/assets/_vendor/ace/mode-java.js +64 -3
  91. data/assets/_vendor/ace/mode-javascript.js +2 -2
  92. data/assets/_vendor/ace/mode-json.js +1 -2
  93. data/assets/_vendor/ace/mode-jsoniq.js +8 -2317
  94. data/assets/_vendor/ace/mode-jsp.js +4 -2
  95. data/assets/_vendor/ace/mode-jssm.js +2 -2
  96. data/assets/_vendor/ace/mode-jsx.js +1 -2
  97. data/assets/_vendor/ace/mode-julia.js +2 -2
  98. data/assets/_vendor/ace/mode-kotlin.js +2 -2
  99. data/assets/_vendor/ace/mode-latex.js +1 -2
  100. data/assets/_vendor/ace/mode-less.js +4 -2
  101. data/assets/_vendor/ace/mode-liquid.js +2026 -477
  102. data/assets/_vendor/ace/mode-lisp.js +2 -2
  103. data/assets/_vendor/ace/mode-livescript.js +1 -2
  104. data/assets/_vendor/ace/mode-logiql.js +2 -2
  105. data/assets/_vendor/ace/mode-logtalk.js +352 -0
  106. data/assets/_vendor/ace/mode-lsl.js +1 -2
  107. data/assets/_vendor/ace/mode-lua.js +1 -2
  108. data/assets/_vendor/ace/mode-luapage.js +3 -2
  109. data/assets/_vendor/ace/mode-lucene.js +2 -3
  110. data/assets/_vendor/ace/mode-makefile.js +3 -2
  111. data/assets/_vendor/ace/mode-markdown.js +5 -2
  112. data/assets/_vendor/ace/mode-mask.js +3 -2
  113. data/assets/_vendor/ace/mode-matlab.js +1 -2
  114. data/assets/_vendor/ace/mode-maze.js +2 -2
  115. data/assets/_vendor/ace/mode-mel.js +2 -2
  116. data/assets/_vendor/ace/mode-mixal.js +1 -2
  117. data/assets/_vendor/ace/mode-mushcode.js +2 -2
  118. data/assets/_vendor/ace/mode-mysql.js +3 -4
  119. data/assets/_vendor/ace/mode-nix.js +2 -2
  120. data/assets/_vendor/ace/mode-nsis.js +2 -2
  121. data/assets/_vendor/ace/mode-objectivec.js +3 -2
  122. data/assets/_vendor/ace/mode-ocaml.js +1 -2
  123. data/assets/_vendor/ace/mode-pascal.js +2 -2
  124. data/assets/_vendor/ace/mode-perl.js +2 -2
  125. data/assets/_vendor/ace/mode-perl6.js +593 -0
  126. data/assets/_vendor/ace/mode-pgsql.js +304 -69
  127. data/assets/_vendor/ace/mode-php.js +844 -1029
  128. data/assets/_vendor/ace/mode-php_laravel_blade.js +844 -1029
  129. data/assets/_vendor/ace/mode-pig.js +2 -2
  130. data/assets/_vendor/ace/mode-plain_text.js +1 -2
  131. data/assets/_vendor/ace/mode-powershell.js +2 -2
  132. data/assets/_vendor/ace/mode-praat.js +2 -2
  133. data/assets/_vendor/ace/mode-prolog.js +2 -2
  134. data/assets/_vendor/ace/mode-properties.js +1 -2
  135. data/assets/_vendor/ace/mode-protobuf.js +2 -2
  136. data/assets/_vendor/ace/mode-puppet.js +1 -2
  137. data/assets/_vendor/ace/mode-python.js +297 -63
  138. data/assets/_vendor/ace/mode-r.js +3 -2
  139. data/assets/_vendor/ace/mode-razor.js +9 -3
  140. data/assets/_vendor/ace/mode-rdoc.js +2 -2
  141. data/assets/_vendor/ace/mode-red.js +2 -2
  142. data/assets/_vendor/ace/mode-redshift.js +1 -2
  143. data/assets/_vendor/ace/mode-rhtml.js +5 -2
  144. data/assets/_vendor/ace/mode-rst.js +1 -2
  145. data/assets/_vendor/ace/mode-ruby.js +3 -2
  146. data/assets/_vendor/ace/mode-rust.js +2 -2
  147. data/assets/_vendor/ace/mode-sass.js +205 -117
  148. data/assets/_vendor/ace/mode-scad.js +2 -2
  149. data/assets/_vendor/ace/mode-scala.js +3 -2
  150. data/assets/_vendor/ace/mode-scheme.js +2 -2
  151. data/assets/_vendor/ace/mode-scss.js +204 -115
  152. data/assets/_vendor/ace/mode-sh.js +3 -2
  153. data/assets/_vendor/ace/mode-sjs.js +2 -2
  154. data/assets/_vendor/ace/mode-slim.js +18 -117
  155. data/assets/_vendor/ace/mode-smarty.js +3 -2
  156. data/assets/_vendor/ace/mode-snippets.js +1 -2
  157. data/assets/_vendor/ace/mode-soy_template.js +4 -2
  158. data/assets/_vendor/ace/mode-space.js +1 -2
  159. data/assets/_vendor/ace/mode-sparql.js +2 -2
  160. data/assets/_vendor/ace/mode-sql.js +2 -3
  161. data/assets/_vendor/ace/mode-sqlserver.js +2 -2
  162. data/assets/_vendor/ace/mode-stylus.js +3 -2
  163. data/assets/_vendor/ace/mode-svg.js +2 -2
  164. data/assets/_vendor/ace/mode-swift.js +1 -2
  165. data/assets/_vendor/ace/mode-tcl.js +2 -2
  166. data/assets/_vendor/ace/mode-terraform.js +1 -2
  167. data/assets/_vendor/ace/mode-tex.js +2 -2
  168. data/assets/_vendor/ace/mode-text.js +1 -2
  169. data/assets/_vendor/ace/mode-textile.js +1 -2
  170. data/assets/_vendor/ace/mode-toml.js +1 -2
  171. data/assets/_vendor/ace/mode-tsx.js +2 -2
  172. data/assets/_vendor/ace/mode-turtle.js +2 -2
  173. data/assets/_vendor/ace/mode-twig.js +3 -2
  174. data/assets/_vendor/ace/mode-typescript.js +2 -2
  175. data/assets/_vendor/ace/mode-vala.js +2 -2
  176. data/assets/_vendor/ace/mode-vbscript.js +1 -2
  177. data/assets/_vendor/ace/mode-velocity.js +4 -2
  178. data/assets/_vendor/ace/mode-verilog.js +1 -2
  179. data/assets/_vendor/ace/mode-vhdl.js +1 -2
  180. data/assets/_vendor/ace/mode-visualforce.js +2641 -0
  181. data/assets/_vendor/ace/mode-wollok.js +3 -2
  182. data/assets/_vendor/ace/mode-xml.js +1 -2
  183. data/assets/_vendor/ace/mode-xquery.js +8 -2287
  184. data/assets/_vendor/ace/mode-yaml.js +1 -2
  185. data/assets/_vendor/ace/snippets/abap.js +2 -3
  186. data/assets/_vendor/ace/snippets/abc.js +1 -2
  187. data/assets/_vendor/ace/snippets/actionscript.js +1 -2
  188. data/assets/_vendor/ace/snippets/ada.js +2 -3
  189. data/assets/_vendor/ace/snippets/apache_conf.js +2 -3
  190. data/assets/_vendor/ace/snippets/apex.js +14 -0
  191. data/assets/_vendor/ace/snippets/applescript.js +2 -3
  192. data/assets/_vendor/ace/snippets/asciidoc.js +2 -3
  193. data/assets/_vendor/ace/snippets/asl.js +2 -3
  194. data/assets/_vendor/ace/snippets/assembly_x86.js +2 -3
  195. data/assets/_vendor/ace/snippets/autohotkey.js +2 -3
  196. data/assets/_vendor/ace/snippets/batchfile.js +2 -3
  197. data/assets/_vendor/ace/snippets/bro.js +1 -2
  198. data/assets/_vendor/ace/snippets/c9search.js +2 -3
  199. data/assets/_vendor/ace/snippets/c_cpp.js +1 -2
  200. data/assets/_vendor/ace/snippets/cirru.js +2 -3
  201. data/assets/_vendor/ace/snippets/clojure.js +1 -2
  202. data/assets/_vendor/ace/snippets/cobol.js +2 -3
  203. data/assets/_vendor/ace/snippets/coffee.js +1 -2
  204. data/assets/_vendor/ace/snippets/coldfusion.js +2 -3
  205. data/assets/_vendor/ace/snippets/csharp.js +2 -3
  206. data/assets/_vendor/ace/snippets/csound_document.js +1 -2
  207. data/assets/_vendor/ace/snippets/csound_orchestra.js +1 -2
  208. data/assets/_vendor/ace/snippets/csound_score.js +2 -3
  209. data/assets/_vendor/ace/snippets/csp.js +1 -2
  210. data/assets/_vendor/ace/snippets/css.js +1 -2
  211. data/assets/_vendor/ace/snippets/curly.js +2 -3
  212. data/assets/_vendor/ace/snippets/d.js +2 -3
  213. data/assets/_vendor/ace/snippets/dart.js +1 -2
  214. data/assets/_vendor/ace/snippets/diff.js +1 -2
  215. data/assets/_vendor/ace/snippets/django.js +1 -2
  216. data/assets/_vendor/ace/snippets/dockerfile.js +2 -3
  217. data/assets/_vendor/ace/snippets/dot.js +2 -3
  218. data/assets/_vendor/ace/snippets/drools.js +1 -2
  219. data/assets/_vendor/ace/snippets/edifact.js +1 -2
  220. data/assets/_vendor/ace/snippets/eiffel.js +2 -3
  221. data/assets/_vendor/ace/snippets/ejs.js +2 -3
  222. data/assets/_vendor/ace/snippets/elixir.js +1 -2
  223. data/assets/_vendor/ace/snippets/elm.js +2 -3
  224. data/assets/_vendor/ace/snippets/erlang.js +1 -2
  225. data/assets/_vendor/ace/snippets/forth.js +2 -3
  226. data/assets/_vendor/ace/snippets/fortran.js +2 -3
  227. data/assets/_vendor/ace/snippets/fsharp.js +2 -3
  228. data/assets/_vendor/ace/snippets/fsl.js +14 -0
  229. data/assets/_vendor/ace/snippets/ftl.js +2 -3
  230. data/assets/_vendor/ace/snippets/gcode.js +2 -3
  231. data/assets/_vendor/ace/snippets/gherkin.js +2 -3
  232. data/assets/_vendor/ace/snippets/gitignore.js +2 -3
  233. data/assets/_vendor/ace/snippets/glsl.js +2 -3
  234. data/assets/_vendor/ace/snippets/gobstones.js +1 -2
  235. data/assets/_vendor/ace/snippets/golang.js +2 -3
  236. data/assets/_vendor/ace/snippets/graphqlschema.js +1 -2
  237. data/assets/_vendor/ace/snippets/groovy.js +2 -3
  238. data/assets/_vendor/ace/snippets/haml.js +1 -2
  239. data/assets/_vendor/ace/snippets/handlebars.js +2 -3
  240. data/assets/_vendor/ace/snippets/haskell.js +1 -2
  241. data/assets/_vendor/ace/snippets/haskell_cabal.js +2 -3
  242. data/assets/_vendor/ace/snippets/haxe.js +2 -3
  243. data/assets/_vendor/ace/snippets/hjson.js +1 -2
  244. data/assets/_vendor/ace/snippets/html.js +1 -2
  245. data/assets/_vendor/ace/snippets/html_elixir.js +2 -3
  246. data/assets/_vendor/ace/snippets/html_ruby.js +2 -3
  247. data/assets/_vendor/ace/snippets/ini.js +2 -3
  248. data/assets/_vendor/ace/snippets/io.js +1 -2
  249. data/assets/_vendor/ace/snippets/jack.js +2 -3
  250. data/assets/_vendor/ace/snippets/jade.js +2 -3
  251. data/assets/_vendor/ace/snippets/java.js +1 -2
  252. data/assets/_vendor/ace/snippets/javascript.js +1 -2
  253. data/assets/_vendor/ace/snippets/json.js +2 -3
  254. data/assets/_vendor/ace/snippets/jsoniq.js +1 -2
  255. data/assets/_vendor/ace/snippets/jsp.js +1 -2
  256. data/assets/_vendor/ace/snippets/jssm.js +1 -2
  257. data/assets/_vendor/ace/snippets/jsx.js +2 -3
  258. data/assets/_vendor/ace/snippets/julia.js +2 -3
  259. data/assets/_vendor/ace/snippets/kotlin.js +1 -2
  260. data/assets/_vendor/ace/snippets/latex.js +2 -3
  261. data/assets/_vendor/ace/snippets/less.js +2 -3
  262. data/assets/_vendor/ace/snippets/liquid.js +883 -3
  263. data/assets/_vendor/ace/snippets/lisp.js +2 -3
  264. data/assets/_vendor/ace/snippets/livescript.js +2 -3
  265. data/assets/_vendor/ace/snippets/logiql.js +2 -3
  266. data/assets/_vendor/ace/snippets/logtalk.js +14 -0
  267. data/assets/_vendor/ace/snippets/lsl.js +1 -2
  268. data/assets/_vendor/ace/snippets/lua.js +1 -2
  269. data/assets/_vendor/ace/snippets/luapage.js +2 -3
  270. data/assets/_vendor/ace/snippets/lucene.js +2 -3
  271. data/assets/_vendor/ace/snippets/makefile.js +1 -2
  272. data/assets/_vendor/ace/snippets/markdown.js +1 -2
  273. data/assets/_vendor/ace/snippets/mask.js +2 -3
  274. data/assets/_vendor/ace/snippets/matlab.js +2 -3
  275. data/assets/_vendor/ace/snippets/maze.js +1 -2
  276. data/assets/_vendor/ace/snippets/mel.js +2 -3
  277. data/assets/_vendor/ace/snippets/mixal.js +2 -3
  278. data/assets/_vendor/ace/snippets/mushcode.js +2 -3
  279. data/assets/_vendor/ace/snippets/mysql.js +2 -3
  280. data/assets/_vendor/ace/snippets/nix.js +2 -3
  281. data/assets/_vendor/ace/snippets/nsis.js +1 -2
  282. data/assets/_vendor/ace/snippets/objectivec.js +2 -3
  283. data/assets/_vendor/ace/snippets/ocaml.js +2 -3
  284. data/assets/_vendor/ace/snippets/pascal.js +2 -3
  285. data/assets/_vendor/ace/snippets/perl.js +1 -2
  286. data/assets/_vendor/ace/snippets/perl6.js +14 -0
  287. data/assets/_vendor/ace/snippets/pgsql.js +2 -3
  288. data/assets/_vendor/ace/snippets/php.js +1 -2
  289. data/assets/_vendor/ace/snippets/php_laravel_blade.js +2 -3
  290. data/assets/_vendor/ace/snippets/pig.js +2 -3
  291. data/assets/_vendor/ace/snippets/plain_text.js +2 -3
  292. data/assets/_vendor/ace/snippets/powershell.js +2 -3
  293. data/assets/_vendor/ace/snippets/praat.js +2 -3
  294. data/assets/_vendor/ace/snippets/prolog.js +2 -3
  295. data/assets/_vendor/ace/snippets/properties.js +2 -3
  296. data/assets/_vendor/ace/snippets/protobuf.js +1 -2
  297. data/assets/_vendor/ace/snippets/puppet.js +2 -3
  298. data/assets/_vendor/ace/snippets/python.js +1 -2
  299. data/assets/_vendor/ace/snippets/r.js +1 -2
  300. data/assets/_vendor/ace/snippets/razor.js +1 -2
  301. data/assets/_vendor/ace/snippets/rdoc.js +2 -3
  302. data/assets/_vendor/ace/snippets/red.js +1 -2
  303. data/assets/_vendor/ace/snippets/redshift.js +2 -3
  304. data/assets/_vendor/ace/snippets/rhtml.js +2 -3
  305. data/assets/_vendor/ace/snippets/rst.js +1 -2
  306. data/assets/_vendor/ace/snippets/ruby.js +1 -2
  307. data/assets/_vendor/ace/snippets/rust.js +2 -3
  308. data/assets/_vendor/ace/snippets/sass.js +2 -3
  309. data/assets/_vendor/ace/snippets/scad.js +2 -3
  310. data/assets/_vendor/ace/snippets/scala.js +2 -3
  311. data/assets/_vendor/ace/snippets/scheme.js +2 -3
  312. data/assets/_vendor/ace/snippets/scss.js +2 -3
  313. data/assets/_vendor/ace/snippets/sh.js +1 -2
  314. data/assets/_vendor/ace/snippets/sjs.js +2 -3
  315. data/assets/_vendor/ace/snippets/slim.js +2 -3
  316. data/assets/_vendor/ace/snippets/smarty.js +2 -3
  317. data/assets/_vendor/ace/snippets/snippets.js +1 -2
  318. data/assets/_vendor/ace/snippets/soy_template.js +2 -3
  319. data/assets/_vendor/ace/snippets/space.js +2 -3
  320. data/assets/_vendor/ace/snippets/sparql.js +1 -2
  321. data/assets/_vendor/ace/snippets/sql.js +1 -2
  322. data/assets/_vendor/ace/snippets/sqlserver.js +1 -2
  323. data/assets/_vendor/ace/snippets/stylus.js +2 -3
  324. data/assets/_vendor/ace/snippets/svg.js +2 -3
  325. data/assets/_vendor/ace/snippets/swift.js +2 -3
  326. data/assets/_vendor/ace/snippets/tcl.js +1 -2
  327. data/assets/_vendor/ace/snippets/terraform.js +2 -3
  328. data/assets/_vendor/ace/snippets/tex.js +1 -2
  329. data/assets/_vendor/ace/snippets/text.js +2 -3
  330. data/assets/_vendor/ace/snippets/textile.js +1 -2
  331. data/assets/_vendor/ace/snippets/toml.js +2 -3
  332. data/assets/_vendor/ace/snippets/tsx.js +2 -3
  333. data/assets/_vendor/ace/snippets/turtle.js +1 -2
  334. data/assets/_vendor/ace/snippets/twig.js +2 -3
  335. data/assets/_vendor/ace/snippets/typescript.js +2 -3
  336. data/assets/_vendor/ace/snippets/vala.js +1 -2
  337. data/assets/_vendor/ace/snippets/vbscript.js +2 -3
  338. data/assets/_vendor/ace/snippets/velocity.js +1 -2
  339. data/assets/_vendor/ace/snippets/verilog.js +2 -3
  340. data/assets/_vendor/ace/snippets/vhdl.js +2 -3
  341. data/assets/_vendor/ace/snippets/visualforce.js +14 -0
  342. data/assets/_vendor/ace/snippets/wollok.js +1 -2
  343. data/assets/_vendor/ace/snippets/xml.js +2 -3
  344. data/assets/_vendor/ace/snippets/xquery.js +1 -2
  345. data/assets/_vendor/ace/snippets/yaml.js +2 -3
  346. data/assets/_vendor/ace/theme-ambiance.js +1 -2
  347. data/assets/_vendor/ace/theme-chaos.js +1 -2
  348. data/assets/_vendor/ace/theme-chrome.js +1 -2
  349. data/assets/_vendor/ace/theme-clouds.js +1 -2
  350. data/assets/_vendor/ace/theme-clouds_midnight.js +1 -2
  351. data/assets/_vendor/ace/theme-cobalt.js +1 -2
  352. data/assets/_vendor/ace/theme-crimson_editor.js +1 -2
  353. data/assets/_vendor/ace/theme-dawn.js +1 -2
  354. data/assets/_vendor/ace/theme-dracula.js +1 -2
  355. data/assets/_vendor/ace/theme-dreamweaver.js +1 -2
  356. data/assets/_vendor/ace/theme-eclipse.js +1 -2
  357. data/assets/_vendor/ace/theme-github.js +3 -3
  358. data/assets/_vendor/ace/theme-gob.js +1 -2
  359. data/assets/_vendor/ace/theme-gruvbox.js +1 -2
  360. data/assets/_vendor/ace/theme-idle_fingers.js +1 -2
  361. data/assets/_vendor/ace/theme-iplastic.js +1 -2
  362. data/assets/_vendor/ace/theme-katzenmilch.js +1 -2
  363. data/assets/_vendor/ace/theme-kr_theme.js +1 -2
  364. data/assets/_vendor/ace/theme-kuroir.js +1 -2
  365. data/assets/_vendor/ace/theme-merbivore.js +1 -2
  366. data/assets/_vendor/ace/theme-merbivore_soft.js +1 -2
  367. data/assets/_vendor/ace/theme-mono_industrial.js +1 -2
  368. data/assets/_vendor/ace/theme-monokai.js +1 -2
  369. data/assets/_vendor/ace/theme-pastel_on_dark.js +1 -2
  370. data/assets/_vendor/ace/theme-solarized_dark.js +1 -2
  371. data/assets/_vendor/ace/theme-solarized_light.js +1 -2
  372. data/assets/_vendor/ace/theme-sqlserver.js +1 -2
  373. data/assets/_vendor/ace/theme-terminal.js +1 -2
  374. data/assets/_vendor/ace/theme-textmate.js +1 -2
  375. data/assets/_vendor/ace/theme-tomorrow.js +1 -2
  376. data/assets/_vendor/ace/theme-tomorrow_night.js +1 -2
  377. data/assets/_vendor/ace/theme-tomorrow_night_blue.js +1 -2
  378. data/assets/_vendor/ace/theme-tomorrow_night_bright.js +1 -2
  379. data/assets/_vendor/ace/theme-tomorrow_night_eighties.js +1 -2
  380. data/assets/_vendor/ace/theme-twilight.js +1 -2
  381. data/assets/_vendor/ace/theme-vibrant_ink.js +1 -2
  382. data/assets/_vendor/ace/theme-xcode.js +1 -2
  383. data/assets/_vendor/ace/worker-coffee.js +11 -20
  384. data/assets/_vendor/ace/worker-css.js +23 -20
  385. data/assets/_vendor/ace/worker-html.js +25 -31
  386. data/assets/_vendor/ace/worker-javascript.js +76 -36
  387. data/assets/_vendor/ace/worker-json.js +25 -20
  388. data/assets/_vendor/ace/worker-lua.js +68 -69
  389. data/assets/_vendor/ace/worker-php.js +12 -20
  390. data/assets/_vendor/ace/worker-xml.js +12 -22
  391. data/assets/_vendor/ace/worker-xquery.js +44 -12378
  392. data/assets/_vendor/tinymce/plugins/advlist/plugin.js +137 -137
  393. data/assets/_vendor/tinymce/plugins/anchor/plugin.js +102 -102
  394. data/assets/_vendor/tinymce/plugins/autolink/plugin.js +154 -154
  395. data/assets/_vendor/tinymce/plugins/autoresize/plugin.js +145 -145
  396. data/assets/_vendor/tinymce/plugins/autosave/plugin.js +207 -217
  397. data/assets/_vendor/tinymce/plugins/autosave/plugin.min.js +1 -1
  398. data/assets/_vendor/tinymce/plugins/bbcode/plugin.js +89 -89
  399. data/assets/_vendor/tinymce/plugins/charmap/plugin.js +1246 -1246
  400. data/assets/_vendor/tinymce/plugins/code/plugin.js +80 -80
  401. data/assets/_vendor/tinymce/plugins/codesample/plugin.js +852 -852
  402. data/assets/_vendor/tinymce/plugins/colorpicker/plugin.js +109 -109
  403. data/assets/_vendor/tinymce/plugins/contextmenu/plugin.js +144 -144
  404. data/assets/_vendor/tinymce/plugins/directionality/plugin.js +53 -53
  405. data/assets/_vendor/tinymce/plugins/emoticons/plugin.js +74 -74
  406. data/assets/_vendor/tinymce/plugins/fullpage/plugin.js +464 -464
  407. data/assets/_vendor/tinymce/plugins/fullscreen/plugin.js +152 -152
  408. data/assets/_vendor/tinymce/plugins/help/plugin.js +639 -678
  409. data/assets/_vendor/tinymce/plugins/help/plugin.min.js +1 -1
  410. data/assets/_vendor/tinymce/plugins/hr/plugin.js +29 -29
  411. data/assets/_vendor/tinymce/plugins/image/plugin.js +1119 -1126
  412. data/assets/_vendor/tinymce/plugins/image/plugin.min.js +1 -1
  413. data/assets/_vendor/tinymce/plugins/imagetools/plugin.js +3414 -3445
  414. data/assets/_vendor/tinymce/plugins/imagetools/plugin.min.js +1 -1
  415. data/assets/_vendor/tinymce/plugins/importcss/plugin.js +230 -230
  416. data/assets/_vendor/tinymce/plugins/insertdatetime/plugin.js +152 -152
  417. data/assets/_vendor/tinymce/plugins/legacyoutput/plugin.js +193 -193
  418. data/assets/_vendor/tinymce/plugins/link/plugin.js +646 -646
  419. data/assets/_vendor/tinymce/plugins/lists/plugin.js +2103 -1037
  420. data/assets/_vendor/tinymce/plugins/lists/plugin.min.js +1 -1
  421. data/assets/_vendor/tinymce/plugins/media/plugin.js +1050 -1050
  422. data/assets/_vendor/tinymce/plugins/nonbreaking/plugin.js +69 -69
  423. data/assets/_vendor/tinymce/plugins/noneditable/plugin.js +98 -98
  424. data/assets/_vendor/tinymce/plugins/pagebreak/plugin.js +91 -91
  425. data/assets/_vendor/tinymce/plugins/paste/plugin.js +1725 -1364
  426. data/assets/_vendor/tinymce/plugins/paste/plugin.min.js +1 -1
  427. data/assets/_vendor/tinymce/plugins/preview/plugin.js +107 -107
  428. data/assets/_vendor/tinymce/plugins/print/plugin.js +28 -28
  429. data/assets/_vendor/tinymce/plugins/save/plugin.js +101 -101
  430. data/assets/_vendor/tinymce/plugins/searchreplace/plugin.js +535 -537
  431. data/assets/_vendor/tinymce/plugins/searchreplace/plugin.min.js +1 -1
  432. data/assets/_vendor/tinymce/plugins/spellchecker/plugin.js +683 -681
  433. data/assets/_vendor/tinymce/plugins/spellchecker/plugin.min.js +1 -1
  434. data/assets/_vendor/tinymce/plugins/tabfocus/plugin.js +95 -95
  435. data/assets/_vendor/tinymce/plugins/table/plugin.js +8927 -9805
  436. data/assets/_vendor/tinymce/plugins/table/plugin.min.js +1 -1
  437. data/assets/_vendor/tinymce/plugins/template/plugin.js +305 -311
  438. data/assets/_vendor/tinymce/plugins/template/plugin.min.js +1 -1
  439. data/assets/_vendor/tinymce/plugins/textcolor/plugin.js +317 -317
  440. data/assets/_vendor/tinymce/plugins/textpattern/plugin.js +575 -329
  441. data/assets/_vendor/tinymce/plugins/textpattern/plugin.min.js +1 -1
  442. data/assets/_vendor/tinymce/plugins/toc/plugin.js +201 -201
  443. data/assets/_vendor/tinymce/plugins/visualblocks/plugin.js +113 -113
  444. data/assets/_vendor/tinymce/plugins/visualchars/plugin.js +419 -471
  445. data/assets/_vendor/tinymce/plugins/visualchars/plugin.min.js +1 -1
  446. data/assets/_vendor/tinymce/plugins/wordcount/plugin.js +371 -308
  447. data/assets/_vendor/tinymce/plugins/wordcount/plugin.min.js +1 -1
  448. data/assets/_vendor/tinymce/skins/lightgray/fonts/tinymce.eot +0 -0
  449. data/assets/_vendor/tinymce/skins/lightgray/fonts/tinymce.svg +1 -0
  450. data/assets/_vendor/tinymce/skins/lightgray/fonts/tinymce.ttf +0 -0
  451. data/assets/_vendor/tinymce/skins/lightgray/fonts/tinymce.woff +0 -0
  452. data/assets/_vendor/tinymce/skins/lightgray/skin.min.css +1 -1
  453. data/assets/_vendor/tinymce/themes/inlite/theme.js +9272 -9686
  454. data/assets/_vendor/tinymce/themes/inlite/theme.min.js +1 -1
  455. data/assets/_vendor/tinymce/themes/mobile/theme.js +12130 -13042
  456. data/assets/_vendor/tinymce/themes/mobile/theme.min.js +1 -1
  457. data/assets/_vendor/tinymce/themes/modern/theme.js +9090 -9504
  458. data/assets/_vendor/tinymce/themes/modern/theme.min.js +1 -1
  459. data/assets/_vendor/tinymce/tinymce.js +24914 -25218
  460. data/assets/bedrock/js/bedrock.js +1 -1
  461. data/assets/bedrock/scss/components/no-content.scss +5 -0
  462. data/assets/bedrock/scss/components/select-box.scss +1 -1
  463. data/lib/bedrock_sass.rb +51 -16
  464. data/lib/bedrock_sass/engine.rb +3 -2
  465. data/lib/bedrock_sass/version.rb +1 -1
  466. metadata +17 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e1032d99c0623f10aa4071727f7337be5b3006faa688f5b9d8660f7be3e079aa
4
- data.tar.gz: d223fdcf1a2c813e8d54126e48ccf9f311366d5896b5079d53a1b5f951713724
3
+ metadata.gz: 4cf8f79d000c9c15188638bfb16c5c0a4a4fbff13c2168cf149c14277b8b0ee5
4
+ data.tar.gz: abf5ecf91ec14cce51e6a0e3f5d6a5c368179785c476e33b325b8e75edcbf87f
5
5
  SHA512:
6
- metadata.gz: f6764a4691e9a69ed8c85f8a522edc0f0f8bdd9a6208c1307390017b36aa8459e0fdc05e8681bdf05934f2ce4d147c51b7d72e6c1a98f222a5fa4f7da39ec008
7
- data.tar.gz: d923d856c944b4ab5474a610ed705e46beb509a76cfd559fd369e30abcb99b2acd124153162399c36f76ac9494f9db2d4a7f18913337b269fc067240fad7ee28
6
+ metadata.gz: cec115b6433d3bde90df020df30ea31edd60719453ad92007b35f60d74254109a271c2a649886f2176b1570f47485d5f2485b426ac1fd9c97a096377bca8af40
7
+ data.tar.gz: 8eeeeb557ac339da9b0748ce48ec1379eedb0e2dc172d4c0312be6906d08da79ca063e334458f4905037870e67aad1808357aeeaf44becd26f548bc26d080eab
@@ -175,6 +175,7 @@ exportAce(ACE_NAMESPACE);
175
175
 
176
176
  define("ace/lib/regexp",["require","exports","module"], function(require, exports, module) {
177
177
  "use strict";
178
+
178
179
  var real = {
179
180
  exec: RegExp.prototype.exec,
180
181
  test: RegExp.prototype.test,
@@ -224,6 +225,7 @@ define("ace/lib/regexp",["require","exports","module"], function(require, export
224
225
  return !!match;
225
226
  };
226
227
  }
228
+
227
229
  function getNativeFlags (regex) {
228
230
  return (regex.global ? "g" : "") +
229
231
  (regex.ignoreCase ? "i" : "") +
@@ -246,8 +248,6 @@ define("ace/lib/regexp",["require","exports","module"], function(require, export
246
248
 
247
249
  define("ace/lib/es5-shim",["require","exports","module"], function(require, exports, module) {
248
250
 
249
- //
250
- //
251
251
  function Empty() {}
252
252
 
253
253
  if (!Function.prototype.bind) {
@@ -260,6 +260,7 @@ if (!Function.prototype.bind) {
260
260
  var bound = function () {
261
261
 
262
262
  if (this instanceof bound) {
263
+
263
264
  var result = target.apply(
264
265
  this,
265
266
  args.concat(slice.call(arguments))
@@ -283,7 +284,6 @@ if (!Function.prototype.bind) {
283
284
  bound.prototype = new Empty();
284
285
  Empty.prototype = null;
285
286
  }
286
- //
287
287
  return bound;
288
288
  };
289
289
  }
@@ -304,9 +304,6 @@ if ((supportsAccessors = owns(prototypeOfObject, "__defineGetter__"))) {
304
304
  lookupGetter = call.bind(prototypeOfObject.__lookupGetter__);
305
305
  lookupSetter = call.bind(prototypeOfObject.__lookupSetter__);
306
306
  }
307
-
308
- //
309
- //
310
307
  if ([1,2].splice(0).length != 2) {
311
308
  if(function() { // test IE < 9 to splice bug - see issue #138
312
309
  function makeArray(l) {
@@ -629,9 +626,6 @@ if (!Array.prototype.lastIndexOf || ([0, 1].lastIndexOf(0, -3) != -1)) {
629
626
  return -1;
630
627
  };
631
628
  }
632
-
633
- //
634
- //
635
629
  if (!Object.getPrototypeOf) {
636
630
  Object.getPrototypeOf = function getPrototypeOf(object) {
637
631
  return object.__proto__ || (
@@ -715,6 +709,7 @@ if (!Object.create) {
715
709
  return object;
716
710
  };
717
711
  }
712
+
718
713
  function doesDefinePropertyWork(object) {
719
714
  try {
720
715
  Object.defineProperty(object, "sentinel", {});
@@ -880,18 +875,11 @@ if (!Object.keys) {
880
875
  };
881
876
 
882
877
  }
883
-
884
- //
885
- //
886
878
  if (!Date.now) {
887
879
  Date.now = function now() {
888
880
  return new Date().getTime();
889
881
  };
890
882
  }
891
-
892
-
893
- //
894
- //
895
883
  var ws = "\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003" +
896
884
  "\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028" +
897
885
  "\u2029\uFEFF";
@@ -904,8 +892,6 @@ if (!String.prototype.trim || ws.trim()) {
904
892
  };
905
893
  }
906
894
 
907
- //
908
- //
909
895
  function toInteger(n) {
910
896
  n = +n;
911
897
  if (n !== n) { // isNaN
@@ -1160,13 +1146,18 @@ exports.hasCssString = function(id, doc) {
1160
1146
  }
1161
1147
  };
1162
1148
 
1163
- exports.importCssString = function importCssString(cssText, id, container) {
1164
- var root = container && container.getRootNode
1165
- ? container.getRootNode()
1166
- : document;
1149
+ exports.importCssString = function importCssString(cssText, id, target) {
1150
+ var container = target;
1151
+ if (!target || !target.getRootNode) {
1152
+ container = document;
1153
+ } else {
1154
+ container = target.getRootNode();
1155
+ if (!container || container == target)
1156
+ container = document;
1157
+ }
1167
1158
 
1168
- var doc = root.ownerDocument || root;
1169
- if (id && exports.hasCssString(id, root))
1159
+ var doc = container.ownerDocument || container;
1160
+ if (id && exports.hasCssString(id, container))
1170
1161
  return null;
1171
1162
 
1172
1163
  if (id)
@@ -1177,9 +1168,9 @@ exports.importCssString = function importCssString(cssText, id, container) {
1177
1168
  if (id)
1178
1169
  style.id = id;
1179
1170
 
1180
- if (root == doc)
1181
- root = exports.getDocumentHead(doc);
1182
- root.insertBefore(style, root.firstChild);
1171
+ if (container == doc)
1172
+ container = exports.getDocumentHead(doc);
1173
+ container.insertBefore(style, container.firstChild);
1183
1174
  };
1184
1175
 
1185
1176
  exports.importCssStylsheet = function(uri, doc) {
@@ -1292,11 +1283,9 @@ exports.implement = function(proto, mixin) {
1292
1283
 
1293
1284
  });
1294
1285
 
1295
- define("ace/lib/keys",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop"], function(require, exports, module) {
1286
+ define("ace/lib/keys",["require","exports","module","ace/lib/oop"], function(require, exports, module) {
1296
1287
  "use strict";
1297
1288
 
1298
- require("./fixoldbrowsers");
1299
-
1300
1289
  var oop = require("./oop");
1301
1290
  var Keys = (function() {
1302
1291
  var ret = {
@@ -2204,477 +2193,7 @@ exports.delayedCall = function(fcn, defaultTimeout) {
2204
2193
  };
2205
2194
  });
2206
2195
 
2207
- define("ace/keyboard/textinput_ios",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/lib/keys"], function(require, exports, module) {
2208
- "use strict";
2209
-
2210
- var event = require("../lib/event");
2211
- var useragent = require("../lib/useragent");
2212
- var dom = require("../lib/dom");
2213
- var lang = require("../lib/lang");
2214
- var KEYS = require("../lib/keys");
2215
- var MODS = KEYS.KEY_MODS;
2216
- var BROKEN_SETDATA = useragent.isChrome < 18;
2217
- var USE_IE_MIME_TYPE = useragent.isIE;
2218
-
2219
- var TextInput = function(parentNode, host) {
2220
- var self = this;
2221
- var text = dom.createElement("textarea");
2222
- text.className = useragent.isIOS ? "ace_text-input ace_text-input-ios" : "ace_text-input";
2223
-
2224
- if (useragent.isTouchPad)
2225
- text.setAttribute("x-palm-disable-auto-cap", true);
2226
-
2227
- text.setAttribute("wrap", "off");
2228
- text.setAttribute("autocorrect", "off");
2229
- text.setAttribute("autocapitalize", "off");
2230
- text.setAttribute("spellcheck", false);
2231
-
2232
- text.style.opacity = "0";
2233
- parentNode.insertBefore(text, parentNode.firstChild);
2234
-
2235
- var PLACEHOLDER = "\n aaaa a\n";
2236
-
2237
- var copied = false;
2238
- var cut = false;
2239
- var pasted = false;
2240
- var inComposition = false;
2241
- var tempStyle = '';
2242
- var isSelectionEmpty = true;
2243
- try { var isFocused = document.activeElement === text; } catch(e) {}
2244
-
2245
- event.addListener(text, "blur", function(e) {
2246
- host.onBlur(e);
2247
- isFocused = false;
2248
- });
2249
- event.addListener(text, "focus", function(e) {
2250
- isFocused = true;
2251
- host.onFocus(e);
2252
- resetSelection();
2253
- });
2254
- this.focus = function() {
2255
- if (tempStyle) return text.focus();
2256
- text.style.position = "fixed";
2257
- text.focus();
2258
- };
2259
- this.blur = function() {
2260
- text.blur();
2261
- };
2262
- this.isFocused = function() {
2263
- return isFocused;
2264
- };
2265
- var syncSelection = lang.delayedCall(function() {
2266
- isFocused && resetSelection(isSelectionEmpty);
2267
- });
2268
- var syncValue = lang.delayedCall(function() {
2269
- if (!inComposition) {
2270
- text.value = PLACEHOLDER;
2271
- isFocused && resetSelection();
2272
- }
2273
- });
2274
-
2275
- function resetSelection(isEmpty) {
2276
- if (inComposition)
2277
- return;
2278
- inComposition = true;
2279
-
2280
- if (inputHandler) {
2281
- selectionStart = 0;
2282
- selectionEnd = isEmpty ? 0 : text.value.length - 1;
2283
- } else {
2284
- var selectionStart = 4;
2285
- var selectionEnd = 5;
2286
- }
2287
- try {
2288
- text.setSelectionRange(selectionStart, selectionEnd);
2289
- } catch(e) {}
2290
-
2291
- inComposition = false;
2292
- }
2293
-
2294
- function resetValue() {
2295
- if (inComposition)
2296
- return;
2297
- text.value = PLACEHOLDER;
2298
- if (useragent.isWebKit)
2299
- syncValue.schedule();
2300
- }
2301
-
2302
- useragent.isWebKit || host.addEventListener('changeSelection', function() {
2303
- if (host.selection.isEmpty() != isSelectionEmpty) {
2304
- isSelectionEmpty = !isSelectionEmpty;
2305
- syncSelection.schedule();
2306
- }
2307
- });
2308
-
2309
- resetValue();
2310
- if (isFocused)
2311
- host.onFocus();
2312
-
2313
-
2314
- var isAllSelected = function(text) {
2315
- return text.selectionStart === 0 && text.selectionEnd === text.value.length;
2316
- };
2317
-
2318
- var onSelect = function(e) {
2319
- if (isAllSelected(text)) {
2320
- host.selectAll();
2321
- resetSelection();
2322
- } else if (inputHandler) {
2323
- resetSelection(host.selection.isEmpty());
2324
- }
2325
- };
2326
-
2327
- var inputHandler = null;
2328
- this.setInputHandler = function(cb) {inputHandler = cb;};
2329
- this.getInputHandler = function() {return inputHandler;};
2330
- var afterContextMenu = false;
2331
-
2332
- var sendText = function(data) {
2333
- if (text.selectionStart === 4 && text.selectionEnd === 5) {
2334
- return;
2335
- }
2336
- if (inputHandler) {
2337
- data = inputHandler(data);
2338
- inputHandler = null;
2339
- }
2340
- if (pasted) {
2341
- resetSelection();
2342
- if (data)
2343
- host.onPaste(data);
2344
- pasted = false;
2345
- } else if (data == PLACEHOLDER.substr(0) && text.selectionStart === 4) {
2346
- if (afterContextMenu)
2347
- host.execCommand("del", {source: "ace"});
2348
- else // some versions of android do not fire keydown when pressing backspace
2349
- host.execCommand("backspace", {source: "ace"});
2350
- } else if (!copied) {
2351
- if (data.substring(0, 9) == PLACEHOLDER && data.length > PLACEHOLDER.length)
2352
- data = data.substr(9);
2353
- else if (data.substr(0, 4) == PLACEHOLDER.substr(0, 4))
2354
- data = data.substr(4, data.length - PLACEHOLDER.length + 1);
2355
- else if (data.charAt(data.length - 1) == PLACEHOLDER.charAt(0))
2356
- data = data.slice(0, -1);
2357
- if (data == PLACEHOLDER.charAt(0)) {
2358
- } else if (data.charAt(data.length - 1) == PLACEHOLDER.charAt(0))
2359
- data = data.slice(0, -1);
2360
-
2361
- if (data)
2362
- host.onTextInput(data);
2363
- }
2364
- if (copied) {
2365
- copied = false;
2366
- }
2367
- if (afterContextMenu)
2368
- afterContextMenu = false;
2369
- };
2370
- var onInput = function(e) {
2371
- if (inComposition)
2372
- return;
2373
- var data = text.value;
2374
- sendText(data);
2375
- resetValue();
2376
- };
2377
-
2378
- var handleClipboardData = function(e, data, forceIEMime) {
2379
- var clipboardData = e.clipboardData || window.clipboardData;
2380
- if (!clipboardData || BROKEN_SETDATA)
2381
- return;
2382
- var mime = USE_IE_MIME_TYPE || forceIEMime ? "Text" : "text/plain";
2383
- try {
2384
- if (data) {
2385
- return clipboardData.setData(mime, data) !== false;
2386
- } else {
2387
- return clipboardData.getData(mime);
2388
- }
2389
- } catch(e) {
2390
- if (!forceIEMime)
2391
- return handleClipboardData(e, data, true);
2392
- }
2393
- };
2394
-
2395
- var doCopy = function(e, isCut) {
2396
- var data = host.getCopyText();
2397
- if (!data)
2398
- return event.preventDefault(e);
2399
-
2400
- if (handleClipboardData(e, data)) {
2401
- if (useragent.isIOS) {
2402
- cut = isCut;
2403
- text.value = "\n aa" + data + "a a\n";
2404
- text.setSelectionRange(4, 4 + data.length);
2405
- copied = {
2406
- value: data
2407
- };
2408
- }
2409
- isCut ? host.onCut() : host.onCopy();
2410
- if (!useragent.isIOS) event.preventDefault(e);
2411
- } else {
2412
- copied = true;
2413
- text.value = data;
2414
- text.select();
2415
- setTimeout(function(){
2416
- copied = false;
2417
- resetValue();
2418
- resetSelection();
2419
- isCut ? host.onCut() : host.onCopy();
2420
- });
2421
- }
2422
- };
2423
-
2424
- var onCut = function(e) {
2425
- doCopy(e, true);
2426
- };
2427
-
2428
- var onCopy = function(e) {
2429
- doCopy(e, false);
2430
- };
2431
-
2432
- var onPaste = function(e) {
2433
- var data = handleClipboardData(e);
2434
- if (typeof data == "string") {
2435
- if (data)
2436
- host.onPaste(data, e);
2437
- if (useragent.isIE)
2438
- setTimeout(resetSelection);
2439
- event.preventDefault(e);
2440
- }
2441
- else {
2442
- text.value = "";
2443
- pasted = true;
2444
- }
2445
- };
2446
-
2447
- event.addCommandKeyListener(text, host.onCommandKey.bind(host));
2448
-
2449
- event.addListener(text, "select", onSelect);
2450
-
2451
- event.addListener(text, "input", onInput);
2452
-
2453
- event.addListener(text, "cut", onCut);
2454
- event.addListener(text, "copy", onCopy);
2455
- event.addListener(text, "paste", onPaste);
2456
- var onCompositionStart = function(e) {
2457
- if (inComposition || !host.onCompositionStart || host.$readOnly)
2458
- return;
2459
- inComposition = {};
2460
- inComposition.canUndo = host.session.$undoManager;
2461
- host.onCompositionStart();
2462
- setTimeout(onCompositionUpdate, 0);
2463
- host.on("mousedown", onCompositionEnd);
2464
- if (inComposition.canUndo && !host.selection.isEmpty()) {
2465
- host.insert("");
2466
- host.session.markUndoGroup();
2467
- host.selection.clearSelection();
2468
- }
2469
- host.session.markUndoGroup();
2470
- };
2471
-
2472
- var onCompositionUpdate = function() {
2473
- if (!inComposition || !host.onCompositionUpdate || host.$readOnly)
2474
- return;
2475
- var val = text.value.replace(/\x01/g, "");
2476
- if (inComposition.lastValue === val) return;
2477
-
2478
- host.onCompositionUpdate(val);
2479
- if (inComposition.lastValue)
2480
- host.undo();
2481
- if (inComposition.canUndo)
2482
- inComposition.lastValue = val;
2483
- if (inComposition.lastValue) {
2484
- var r = host.selection.getRange();
2485
- host.insert(inComposition.lastValue);
2486
- host.session.markUndoGroup();
2487
- inComposition.range = host.selection.getRange();
2488
- host.selection.setRange(r);
2489
- host.selection.clearSelection();
2490
- }
2491
- };
2492
-
2493
- var onCompositionEnd = function(e) {
2494
- if (!host.onCompositionEnd || host.$readOnly) return;
2495
- var c = inComposition;
2496
- inComposition = false;
2497
- var timer = setTimeout(function() {
2498
- timer = null;
2499
- var str = text.value.replace(/\x01/g, "");
2500
- if (inComposition)
2501
- return;
2502
- else if (str == c.lastValue)
2503
- resetValue();
2504
- else if (!c.lastValue && str) {
2505
- resetValue();
2506
- sendText(str);
2507
- }
2508
- });
2509
- inputHandler = function compositionInputHandler(str) {
2510
- if (timer)
2511
- clearTimeout(timer);
2512
- str = str.replace(/\x01/g, "");
2513
- if (str == c.lastValue)
2514
- return "";
2515
- if (c.lastValue && timer)
2516
- host.undo();
2517
- return str;
2518
- };
2519
- host.onCompositionEnd();
2520
- host.removeListener("mousedown", onCompositionEnd);
2521
- if (e.type == "compositionend" && c.range) {
2522
- host.selection.setRange(c.range);
2523
- }
2524
- var needsOnInput =
2525
- (!!useragent.isChrome && useragent.isChrome >= 53) ||
2526
- (!!useragent.isWebKit && useragent.isWebKit >= 603);
2527
-
2528
- if (needsOnInput) {
2529
- onInput();
2530
- }
2531
- };
2532
-
2533
-
2534
-
2535
- var syncComposition = lang.delayedCall(onCompositionUpdate, 50);
2536
-
2537
- event.addListener(text, "compositionstart", onCompositionStart);
2538
- event.addListener(text, "compositionupdate", function(){syncComposition.schedule();});
2539
- event.addListener(text, "keyup", function(){syncComposition.schedule();});
2540
- event.addListener(text, "keydown", function(){syncComposition.schedule();});
2541
- event.addListener(text, "compositionend", onCompositionEnd);
2542
-
2543
- this.getElement = function() {
2544
- return text;
2545
- };
2546
-
2547
- this.setReadOnly = function(readOnly) {
2548
- text.readOnly = readOnly;
2549
- };
2550
-
2551
- this.onContextMenu = function(e) {
2552
- afterContextMenu = true;
2553
- resetSelection(host.selection.isEmpty());
2554
- host._emit("nativecontextmenu", {target: host, domEvent: e});
2555
- this.moveToMouse(e, true);
2556
- };
2557
-
2558
- this.moveToMouse = function(e, bringToFront) {
2559
- if (!tempStyle)
2560
- tempStyle = text.style.cssText;
2561
- text.style.cssText = (bringToFront ? "z-index:100000;" : "")
2562
- + "height:" + text.style.height + ";"
2563
- + (useragent.isIE ? "opacity:0.1;" : "");
2564
-
2565
- var rect = host.container.getBoundingClientRect();
2566
- var style = dom.computedStyle(host.container);
2567
- var top = rect.top + (parseInt(style.borderTopWidth) || 0);
2568
- var left = rect.left + (parseInt(rect.borderLeftWidth) || 0);
2569
- var maxTop = rect.bottom - top - text.clientHeight -2;
2570
- var move = function(e) {
2571
- text.style.left = e.clientX - left - 2 + "px";
2572
- text.style.top = Math.min(e.clientY - top - 2, maxTop) + "px";
2573
- };
2574
- move(e);
2575
-
2576
- if (e.type != "mousedown")
2577
- return;
2578
-
2579
- if (host.renderer.$keepTextAreaAtCursor)
2580
- host.renderer.$keepTextAreaAtCursor = null;
2581
-
2582
- clearTimeout(closeTimeout);
2583
- if (useragent.isWin)
2584
- event.capture(host.container, move, onContextMenuClose);
2585
- };
2586
-
2587
- this.onContextMenuClose = onContextMenuClose;
2588
- var closeTimeout;
2589
- function onContextMenuClose() {
2590
- clearTimeout(closeTimeout);
2591
- closeTimeout = setTimeout(function () {
2592
- if (tempStyle) {
2593
- text.style.cssText = tempStyle;
2594
- tempStyle = '';
2595
- }
2596
- if (host.renderer.$keepTextAreaAtCursor == null) {
2597
- host.renderer.$keepTextAreaAtCursor = true;
2598
- host.renderer.$moveTextAreaToCursor();
2599
- }
2600
- }, 0);
2601
- }
2602
-
2603
- var onContextMenu = function(e) {
2604
- host.textInput.onContextMenu(e);
2605
- onContextMenuClose();
2606
- };
2607
- event.addListener(text, "mouseup", onContextMenu);
2608
- event.addListener(text, "mousedown", function(e) {
2609
- e.preventDefault();
2610
- onContextMenuClose();
2611
- });
2612
- event.addListener(host.renderer.scroller, "contextmenu", onContextMenu);
2613
- event.addListener(text, "contextmenu", onContextMenu);
2614
-
2615
- if (useragent.isIOS) {
2616
- var typingResetTimeout = null;
2617
- var typing = false;
2618
-
2619
- parentNode.addEventListener("keydown", function (e) {
2620
- if (typingResetTimeout) clearTimeout(typingResetTimeout);
2621
- typing = true;
2622
- });
2623
-
2624
- parentNode.addEventListener("keyup", function (e) {
2625
- typingResetTimeout = setTimeout(function () {
2626
- typing = false;
2627
- }, 100);
2628
- });
2629
- var detectArrowKeys = function(e) {
2630
- if (document.activeElement !== text) return;
2631
- if (typing) return;
2632
-
2633
- if (cut) {
2634
- return setTimeout(function () {
2635
- cut = false;
2636
- }, 100);
2637
- }
2638
- var selectionStart = text.selectionStart;
2639
- var selectionEnd = text.selectionEnd;
2640
- text.setSelectionRange(4, 5);
2641
- if (selectionStart == selectionEnd) {
2642
- switch (selectionStart) {
2643
- case 0: host.onCommandKey(null, 0, KEYS.up); break;
2644
- case 1: host.onCommandKey(null, 0, KEYS.home); break;
2645
- case 2: host.onCommandKey(null, MODS.option, KEYS.left); break;
2646
- case 4: host.onCommandKey(null, 0, KEYS.left); break;
2647
- case 5: host.onCommandKey(null, 0, KEYS.right); break;
2648
- case 7: host.onCommandKey(null, MODS.option, KEYS.right); break;
2649
- case 8: host.onCommandKey(null, 0, KEYS.end); break;
2650
- case 9: host.onCommandKey(null, 0, KEYS.down); break;
2651
- }
2652
- } else {
2653
- switch (selectionEnd) {
2654
- case 6: host.onCommandKey(null, MODS.shift, KEYS.right); break;
2655
- case 7: host.onCommandKey(null, MODS.shift | MODS.option, KEYS.right); break;
2656
- case 8: host.onCommandKey(null, MODS.shift, KEYS.end); break;
2657
- case 9: host.onCommandKey(null, MODS.shift, KEYS.down); break;
2658
- }
2659
- switch (selectionStart) {
2660
- case 0: host.onCommandKey(null, MODS.shift, KEYS.up); break;
2661
- case 1: host.onCommandKey(null, MODS.shift, KEYS.home); break;
2662
- case 2: host.onCommandKey(null, MODS.shift | MODS.option, KEYS.left); break;
2663
- case 3: host.onCommandKey(null, MODS.shift, KEYS.left); break;
2664
- }
2665
- }
2666
- };
2667
- document.addEventListener("selectionchange", detectArrowKeys);
2668
- host.on("destroy", function() {
2669
- document.removeEventListener("selectionchange", detectArrowKeys);
2670
- });
2671
- }
2672
- };
2673
-
2674
- exports.TextInput = TextInput;
2675
- });
2676
-
2677
- define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/keyboard/textinput_ios"], function(require, exports, module) {
2196
+ define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/lib/keys"], function(require, exports, module) {
2678
2197
  "use strict";
2679
2198
 
2680
2199
  var event = require("../lib/event");
@@ -2686,11 +2205,12 @@ var USE_IE_MIME_TYPE = useragent.isIE;
2686
2205
  var HAS_FOCUS_ARGS = useragent.isChrome > 63;
2687
2206
  var MAX_LINE_LENGTH = 400;
2688
2207
 
2689
- var TextInputIOS = require("./textinput_ios").TextInput;
2208
+ var KEYS = require("../lib/keys");
2209
+ var MODS = KEYS.KEY_MODS;
2210
+ var isIOS = useragent.isIOS;
2211
+ var valueResetRegex = isIOS ? /\s/ : /\n/;
2212
+
2690
2213
  var TextInput = function(parentNode, host) {
2691
- if (useragent.isIOS)
2692
- return TextInputIOS.call(this, parentNode, host);
2693
-
2694
2214
  var text = dom.createElement("textarea");
2695
2215
  text.className = "ace_text-input";
2696
2216
 
@@ -2729,19 +2249,31 @@ var TextInput = function(parentNode, host) {
2729
2249
  event.addListener(text, "focus", function(e) {
2730
2250
  if (ignoreFocusEvents) return;
2731
2251
  isFocused = true;
2252
+ if (useragent.isEdge) {
2253
+ try {
2254
+ if (!document.hasFocus())
2255
+ return;
2256
+ } catch(e) {}
2257
+ }
2732
2258
  host.onFocus(e);
2733
- resetSelection();
2259
+ if (useragent.isEdge)
2260
+ setTimeout(resetSelection);
2261
+ else
2262
+ resetSelection();
2734
2263
  });
2735
2264
  this.$focusScroll = false;
2736
2265
  this.focus = function() {
2737
2266
  if (tempStyle || HAS_FOCUS_ARGS || this.$focusScroll == "browser")
2738
2267
  return text.focus({ preventScroll: true });
2739
- if (!document.documentElement.contains(text))
2740
- return;
2268
+
2741
2269
  var top = text.style.top;
2742
2270
  text.style.position = "fixed";
2743
2271
  text.style.top = "0px";
2744
- var isTransformed = text.getBoundingClientRect().top != 0;
2272
+ try {
2273
+ var isTransformed = text.getBoundingClientRect().top != 0;
2274
+ } catch(e) {
2275
+ return;
2276
+ }
2745
2277
  var ancestors = [];
2746
2278
  if (isTransformed) {
2747
2279
  var t = text.parentElement;
@@ -2783,7 +2315,25 @@ var TextInput = function(parentNode, host) {
2783
2315
  resetSelection();
2784
2316
  });
2785
2317
 
2786
- function resetSelection() {
2318
+ var resetSelection = isIOS
2319
+ ? function(value) {
2320
+ if (!isFocused || (copied && !value)) return;
2321
+ if (!value)
2322
+ value = "";
2323
+ var newValue = "\n ab" + value + "cde fg\n";
2324
+ if (newValue != text.value)
2325
+ text.value = lastValue = newValue;
2326
+
2327
+ var selectionStart = 4;
2328
+ var selectionEnd = 4 + (value.length || (host.selection.isEmpty() ? 0 : 1));
2329
+
2330
+ if (lastSelectionStart != selectionStart || lastSelectionEnd != selectionEnd) {
2331
+ text.setSelectionRange(selectionStart, selectionEnd);
2332
+ }
2333
+ lastSelectionStart = selectionStart;
2334
+ lastSelectionEnd = selectionEnd;
2335
+ }
2336
+ : function() {
2787
2337
  if (inComposition || sendingText)
2788
2338
  return;
2789
2339
  if (!isFocused && !afterContextMenu)
@@ -2829,7 +2379,11 @@ var TextInput = function(parentNode, host) {
2829
2379
  lastSelectionStart = text.selectionStart;
2830
2380
  lastSelectionEnd = text.selectionEnd;
2831
2381
  }
2832
- if (lastSelectionEnd != selectionEnd || lastSelectionStart != selectionStart) {
2382
+ if (
2383
+ lastSelectionEnd != selectionEnd
2384
+ || lastSelectionStart != selectionStart
2385
+ || text.selectionEnd != lastSelectionEnd // on ie edge selectionEnd changes silently after the initialization
2386
+ ) {
2833
2387
  try {
2834
2388
  text.setSelectionRange(selectionStart, selectionEnd);
2835
2389
  lastSelectionStart = selectionStart;
@@ -2837,7 +2391,7 @@ var TextInput = function(parentNode, host) {
2837
2391
  } catch(e){}
2838
2392
  }
2839
2393
  inComposition = false;
2840
- }
2394
+ };
2841
2395
 
2842
2396
  if (isFocused)
2843
2397
  host.onFocus();
@@ -2926,7 +2480,7 @@ var TextInput = function(parentNode, host) {
2926
2480
  return onCompositionUpdate();
2927
2481
  var data = text.value;
2928
2482
  var inserted = sendText(data, true);
2929
- if (data.length > MAX_LINE_LENGTH + 100 || /\n/.test(inserted))
2483
+ if (data.length > MAX_LINE_LENGTH + 100 || valueResetRegex.test(inserted))
2930
2484
  resetSelection();
2931
2485
  };
2932
2486
 
@@ -2953,6 +2507,13 @@ var TextInput = function(parentNode, host) {
2953
2507
  return event.preventDefault(e);
2954
2508
 
2955
2509
  if (handleClipboardData(e, data)) {
2510
+ if (isIOS) {
2511
+ resetSelection(data);
2512
+ copied = data;
2513
+ setTimeout(function () {
2514
+ copied = false;
2515
+ }, 10);
2516
+ }
2956
2517
  isCut ? host.onCut() : host.onCopy();
2957
2518
  event.preventDefault(e);
2958
2519
  } else {
@@ -3186,6 +2747,87 @@ var TextInput = function(parentNode, host) {
3186
2747
  });
3187
2748
  event.addListener(host.renderer.scroller, "contextmenu", onContextMenu);
3188
2749
  event.addListener(text, "contextmenu", onContextMenu);
2750
+
2751
+ if (isIOS)
2752
+ addIosSelectionHandler(parentNode, host, text);
2753
+
2754
+ function addIosSelectionHandler(parentNode, host, text) {
2755
+ var typingResetTimeout = null;
2756
+ var typing = false;
2757
+
2758
+ text.addEventListener("keydown", function (e) {
2759
+ if (typingResetTimeout) clearTimeout(typingResetTimeout);
2760
+ typing = true;
2761
+ }, true);
2762
+
2763
+ text.addEventListener("keyup", function (e) {
2764
+ typingResetTimeout = setTimeout(function () {
2765
+ typing = false;
2766
+ }, 100);
2767
+ }, true);
2768
+ var detectArrowKeys = function(e) {
2769
+ if (document.activeElement !== text) return;
2770
+ if (typing || inComposition) return;
2771
+
2772
+ if (copied) {
2773
+ return;
2774
+ }
2775
+ var selectionStart = text.selectionStart;
2776
+ var selectionEnd = text.selectionEnd;
2777
+
2778
+ var key = null;
2779
+ var modifier = 0;
2780
+ console.log(selectionStart, selectionEnd);
2781
+ if (selectionStart == 0) {
2782
+ key = KEYS.up;
2783
+ } else if (selectionStart == 1) {
2784
+ key = KEYS.home;
2785
+ } else if (selectionEnd > lastSelectionEnd && lastValue[selectionEnd] == "\n") {
2786
+ key = KEYS.end;
2787
+ } else if (selectionStart < lastSelectionStart && lastValue[selectionStart - 1] == " ") {
2788
+ key = KEYS.left;
2789
+ modifier = MODS.option;
2790
+ } else if (
2791
+ selectionStart < lastSelectionStart
2792
+ || (
2793
+ selectionStart == lastSelectionStart
2794
+ && lastSelectionEnd != lastSelectionStart
2795
+ && selectionStart == selectionEnd
2796
+ )
2797
+ ) {
2798
+ key = KEYS.left;
2799
+ } else if (selectionEnd > lastSelectionEnd && lastValue.slice(0, selectionEnd).split("\n").length > 2) {
2800
+ key = KEYS.down;
2801
+ } else if (selectionEnd > lastSelectionEnd && lastValue[selectionEnd - 1] == " ") {
2802
+ key = KEYS.right;
2803
+ modifier = MODS.option;
2804
+ } else if (
2805
+ selectionEnd > lastSelectionEnd
2806
+ || (
2807
+ selectionEnd == lastSelectionEnd
2808
+ && lastSelectionEnd != lastSelectionStart
2809
+ && selectionStart == selectionEnd
2810
+ )
2811
+ ) {
2812
+ key = KEYS.right;
2813
+ }
2814
+
2815
+ if (selectionStart !== selectionEnd)
2816
+ modifier |= MODS.shift;
2817
+
2818
+ if (key) {
2819
+ host.onCommandKey(null, modifier, key);
2820
+ lastSelectionStart = selectionStart;
2821
+ lastSelectionEnd = selectionEnd;
2822
+ resetSelection("");
2823
+ }
2824
+ };
2825
+ document.addEventListener("selectionchange", detectArrowKeys);
2826
+ host.on("destroy", function() {
2827
+ document.removeEventListener("selectionchange", detectArrowKeys);
2828
+ });
2829
+ }
2830
+
3189
2831
  };
3190
2832
 
3191
2833
  exports.TextInput = TextInput;
@@ -3197,7 +2839,7 @@ define("ace/mouse/default_handlers",["require","exports","module","ace/lib/usera
3197
2839
  var useragent = require("../lib/useragent");
3198
2840
 
3199
2841
  var DRAG_OFFSET = 0; // pixels
3200
- var SCROLL_COOLDOWN_T = 250; // milliseconds
2842
+ var SCROLL_COOLDOWN_T = 550; // milliseconds
3201
2843
 
3202
2844
  function DefaultHandlers(mouseHandler) {
3203
2845
  mouseHandler.$clickSelection = null;
@@ -3422,8 +3064,8 @@ function DefaultHandlers(mouseHandler) {
3422
3064
  if (canScroll) {
3423
3065
  prevScroll.allowed = t;
3424
3066
  } else if (t - prevScroll.allowed < SCROLL_COOLDOWN_T) {
3425
- var isSlower = Math.abs(vx) <= 1.1 * Math.abs(prevScroll.vx)
3426
- && Math.abs(vy) <= 1.1 * Math.abs(prevScroll.vy);
3067
+ var isSlower = Math.abs(vx) <= 1.5 * Math.abs(prevScroll.vx)
3068
+ && Math.abs(vy) <= 1.5 * Math.abs(prevScroll.vy);
3427
3069
  if (isSlower) {
3428
3070
  canScroll = true;
3429
3071
  prevScroll.allowed = t;
@@ -4236,10 +3878,15 @@ EventEmitter._signal = function(eventName, e) {
4236
3878
 
4237
3879
  EventEmitter.once = function(eventName, callback) {
4238
3880
  var _self = this;
4239
- callback && this.addEventListener(eventName, function newCallback() {
3881
+ this.addEventListener(eventName, function newCallback() {
4240
3882
  _self.removeEventListener(eventName, newCallback);
4241
3883
  callback.apply(null, arguments);
4242
3884
  });
3885
+ if (!callback) {
3886
+ return new Promise(function(resolve) {
3887
+ callback = resolve;
3888
+ });
3889
+ }
4243
3890
  };
4244
3891
 
4245
3892
 
@@ -5011,43 +4658,33 @@ var ArabicAlefBetIntervalsEnd = ['\u063A', '\u064a'];
5011
4658
  var dir = 0, hiLevel = 0;
5012
4659
  var lastArabic = false, hasUBAT_AL = false, hasUBAT_B = false, hasUBAT_S = false, hasBlockSep = false, hasSegSep = false;
5013
4660
 
5014
- var impTab_LTR = [
5015
- [ 0, 3, 0, 1, 0, 0, 0 ],
5016
- [ 0, 3, 0, 1, 2, 2, 0 ],
5017
- [ 0, 3, 0, 0x11, 2, 0, 1 ],
5018
- [ 0, 3, 5, 5, 4, 1, 0 ],
5019
- [ 0, 3, 0x15, 0x15, 4, 0, 1 ],
5020
- [ 0, 3, 5, 5, 4, 2, 0 ]
4661
+ var impTab_LTR = [ [ 0, 3, 0, 1, 0, 0, 0 ], [ 0, 3, 0, 1, 2, 2, 0 ], [ 0, 3, 0, 0x11, 2, 0, 1 ], [ 0, 3, 5, 5, 4, 1, 0 ], [ 0, 3, 0x15, 0x15, 4, 0, 1 ], [ 0, 3, 5, 5, 4, 2, 0 ]
5021
4662
  ];
5022
4663
 
5023
- var impTab_RTL = [
5024
- [ 2, 0, 1, 1, 0, 1, 0 ],
5025
- [ 2, 0, 1, 1, 0, 2, 0 ],
5026
- [ 2, 0, 2, 1, 3, 2, 0 ],
5027
- [ 2, 0, 2, 0x21, 3, 1, 1 ]
4664
+ var impTab_RTL = [ [ 2, 0, 1, 1, 0, 1, 0 ], [ 2, 0, 1, 1, 0, 2, 0 ], [ 2, 0, 2, 1, 3, 2, 0 ], [ 2, 0, 2, 0x21, 3, 1, 1 ]
5028
4665
  ];
5029
4666
 
5030
4667
  var LTR = 0, RTL = 1;
5031
4668
 
5032
- var L = 0; /* left to right */
5033
- var R = 1; /* right to left */
5034
- var EN = 2; /* European digit */
5035
- var AN = 3; /* Arabic-Indic digit */
5036
- var ON = 4; /* neutral */
5037
- var B = 5; /* block separator */
5038
- var S = 6; /* segment separator */
5039
- var AL = 7; /* Arabic Letter */
5040
- var WS = 8; /* white space */
5041
- var CS = 9; /* common digit separator */
5042
- var ES = 10; /* European digit separator */
5043
- var ET = 11; /* European digit terminator */
5044
- var NSM = 12; /* Non Spacing Mark */
5045
- var LRE = 13; /* LRE */
5046
- var RLE = 14; /* RLE */
5047
- var PDF = 15; /* PDF */
5048
- var LRO = 16; /* LRO */
5049
- var RLO = 17; /* RLO */
5050
- var BN = 18; /* Boundary Neutral */
4669
+ var L = 0;
4670
+ var R = 1;
4671
+ var EN = 2;
4672
+ var AN = 3;
4673
+ var ON = 4;
4674
+ var B = 5;
4675
+ var S = 6;
4676
+ var AL = 7;
4677
+ var WS = 8;
4678
+ var CS = 9;
4679
+ var ES = 10;
4680
+ var ET = 11;
4681
+ var NSM = 12;
4682
+ var LRE = 13;
4683
+ var RLE = 14;
4684
+ var PDF = 15;
4685
+ var LRO = 16;
4686
+ var RLO = 17;
4687
+ var BN = 18;
5051
4688
 
5052
4689
  var UnicodeTBL00 = [
5053
4690
  BN,BN,BN,BN,BN,BN,BN,BN,BN,S,B,S,WS,B,BN,BN,
@@ -5326,7 +4963,7 @@ exports.doBidiReorder = function(text, textCharTypes, isRtl) {
5326
4963
  }
5327
4964
 
5328
4965
  return {'logicalFromVisual': logicalFromVisual, 'bidiLevels': bidiLevels};
5329
- };
4966
+ };
5330
4967
  exports.hasBidiCharacters = function(text, textCharTypes){
5331
4968
  var ret = false;
5332
4969
  for (var i = 0; i < text.length; i++){
@@ -5335,8 +4972,7 @@ exports.hasBidiCharacters = function(text, textCharTypes){
5335
4972
  ret = true;
5336
4973
  }
5337
4974
  return ret;
5338
- };
5339
-
4975
+ };
5340
4976
  exports.getVisualFromLogicalIdx = function(logIdx, rowMap) {
5341
4977
  for (var i = 0; i < rowMap.logicalFromVisual.length; i++) {
5342
4978
  if (rowMap.logicalFromVisual[i] == logIdx)
@@ -6576,6 +6212,7 @@ define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/la
6576
6212
  var lang = require("../lib/lang");
6577
6213
 
6578
6214
  var TextHighlightRules = function() {
6215
+
6579
6216
  this.$rules = {
6580
6217
  "start" : [{
6581
6218
  token : "empty_line",
@@ -6845,7 +6482,7 @@ var TokenIterator = function(session, initialRow, initialColumn) {
6845
6482
  this.$tokenIndex = token ? token.index : -1;
6846
6483
  };
6847
6484
 
6848
- (function() {
6485
+ (function() {
6849
6486
  this.stepBackward = function() {
6850
6487
  this.$tokenIndex -= 1;
6851
6488
 
@@ -6861,7 +6498,7 @@ var TokenIterator = function(session, initialRow, initialColumn) {
6861
6498
  }
6862
6499
 
6863
6500
  return this.$rowTokens[this.$tokenIndex];
6864
- };
6501
+ };
6865
6502
  this.stepForward = function() {
6866
6503
  this.$tokenIndex += 1;
6867
6504
  var rowCount;
@@ -6879,13 +6516,13 @@ var TokenIterator = function(session, initialRow, initialColumn) {
6879
6516
  }
6880
6517
 
6881
6518
  return this.$rowTokens[this.$tokenIndex];
6882
- };
6519
+ };
6883
6520
  this.getCurrentToken = function () {
6884
6521
  return this.$rowTokens[this.$tokenIndex];
6885
- };
6522
+ };
6886
6523
  this.getCurrentTokenRow = function () {
6887
6524
  return this.$row;
6888
- };
6525
+ };
6889
6526
  this.getCurrentTokenColumn = function() {
6890
6527
  var rowTokens = this.$rowTokens;
6891
6528
  var tokenIndex = this.$tokenIndex;
@@ -7688,6 +7325,7 @@ function validateDelta(docLines, delta) {
7688
7325
  }
7689
7326
 
7690
7327
  exports.applyDelta = function(docLines, delta, doNotValidate) {
7328
+
7691
7329
  var row = delta.start.row;
7692
7330
  var startColumn = delta.start.column;
7693
7331
  var line = docLines[row] || "";
@@ -7779,6 +7417,7 @@ var Anchor = exports.Anchor = function(doc, row, column) {
7779
7417
  column: point.column + (point.row == deltaEnd.row ? deltaColShift : 0)
7780
7418
  };
7781
7419
  }
7420
+
7782
7421
  return {
7783
7422
  row: deltaStart.row,
7784
7423
  column: deltaStart.column
@@ -8027,7 +7666,7 @@ var Document = function(textOrLines) {
8027
7666
  column = this.$lines[row].length;
8028
7667
  }
8029
7668
  this.insertMergedLines({row: row, column: column}, lines);
8030
- };
7669
+ };
8031
7670
  this.insertMergedLines = function(position, lines) {
8032
7671
  var start = this.clippedPos(position.row, position.column);
8033
7672
  var end = {
@@ -8235,7 +7874,7 @@ var BackgroundTokenizer = function(tokenizer, editor) {
8235
7874
  currentLine++;
8236
7875
  } while (self.lines[currentLine]);
8237
7876
  processedLines ++;
8238
- if ((processedLines % 5 === 0) && (new Date() - workerStart) > 20) {
7877
+ if ((processedLines % 5 === 0) && (new Date() - workerStart) > 20) {
8239
7878
  self.running = setTimeout(self.$worker, 20);
8240
7879
  break;
8241
7880
  }
@@ -8814,17 +8453,16 @@ var RangeList = function() {
8814
8453
  if (r.start.row > endRow)
8815
8454
  break;
8816
8455
 
8817
- if (r.end.row < endRow) {
8456
+ if (r.end.row < endRow
8457
+ && (
8458
+ startRow < r.end.row
8459
+ || startRow == r.end.row && start.column < r.end.column
8460
+ )
8461
+ ) {
8818
8462
  r.end.row = startRow;
8819
8463
  r.end.column = start.column;
8820
8464
  }
8821
-
8822
- if (r.start.row < endRow || r.start.row == endRow && r.start.column <= end.colum) {
8823
- r.start.row = startRow;
8824
- r.start.column = start.column;
8825
- }
8826
-
8827
- if (r.end.row == endRow) {
8465
+ else if (r.end.row == endRow) {
8828
8466
  if (r.end.column <= end.column) {
8829
8467
  if (lineDif || r.end.column > start.column) {
8830
8468
  r.end.column = start.column;
@@ -8836,7 +8474,20 @@ var RangeList = function() {
8836
8474
  r.end.row += lineDif;
8837
8475
  }
8838
8476
  }
8839
- if (r.start.row == endRow) {
8477
+ else if (r.end.row > endRow) {
8478
+ r.end.row += lineDif;
8479
+ }
8480
+
8481
+ if (r.start.row < endRow
8482
+ && (
8483
+ startRow < r.start.row
8484
+ || startRow == r.start.row && start.column < r.start.column
8485
+ )
8486
+ ) {
8487
+ r.start.row = startRow;
8488
+ r.start.column = start.column;
8489
+ }
8490
+ else if (r.start.row == endRow) {
8840
8491
  if (r.start.column <= end.column) {
8841
8492
  if (lineDif || r.start.column > start.column) {
8842
8493
  r.start.column = start.column;
@@ -8848,6 +8499,9 @@ var RangeList = function() {
8848
8499
  r.start.row += lineDif;
8849
8500
  }
8850
8501
  }
8502
+ else if (r.start.row > endRow) {
8503
+ r.start.row += lineDif;
8504
+ }
8851
8505
  }
8852
8506
  }
8853
8507
 
@@ -9254,7 +8908,6 @@ function Folding() {
9254
8908
  foldLine.start.row = folds[0].start.row;
9255
8909
  foldLine.start.column = folds[0].start.column;
9256
8910
  } else
9257
- //
9258
8911
  if (fold.sameRow) {
9259
8912
  folds.splice(folds.indexOf(fold), 1);
9260
8913
  } else
@@ -15786,7 +15439,7 @@ var Gutter = function(parentEl) {
15786
15439
  var lastLineText = this.$lines.last() ? this.$lines.last().text : "";
15787
15440
 
15788
15441
  if (this.$fixedWidth || session.$useWrapMode)
15789
- lastLineText = session.getLength() + firstLineNumber;
15442
+ lastLineText = session.getLength() + firstLineNumber - 1;
15790
15443
 
15791
15444
  var gutterWidth = gutterRenderer
15792
15445
  ? gutterRenderer.getWidth(session, lastLineText, config)
@@ -15997,7 +15650,7 @@ var Gutter = function(parentEl) {
15997
15650
  this.$renderer = "";
15998
15651
  this.setShowLineNumbers = function(show) {
15999
15652
  this.$renderer = !show && {
16000
- getWidth: function() {return "";},
15653
+ getWidth: function() {return 0;},
16001
15654
  getText: function() {return "";}
16002
15655
  };
16003
15656
  };
@@ -17132,7 +16785,7 @@ var ScrollBar = function(parent) {
17132
16785
 
17133
16786
  this.setVisible(false);
17134
16787
  this.skipEvent = false;
17135
-
16788
+
17136
16789
  event.addListener(this.element, "scroll", this.onScroll.bind(this));
17137
16790
  event.addListener(this.element, "mousedown", event.preventDefault);
17138
16791
  };
@@ -17259,9 +16912,11 @@ var RenderLoop = function(onRender, win) {
17259
16912
  this.onRender = onRender;
17260
16913
  this.pending = false;
17261
16914
  this.changes = 0;
16915
+ this.$recursionLimit = 2;
17262
16916
  this.window = win || window;
17263
16917
  var _self = this;
17264
16918
  this._flush = function(ts) {
16919
+ _self.pending = false;
17265
16920
  var changes = _self.changes;
17266
16921
 
17267
16922
  if (changes) {
@@ -17270,8 +16925,12 @@ var RenderLoop = function(onRender, win) {
17270
16925
  _self.onRender(changes);
17271
16926
  }
17272
16927
 
17273
- if (_self.changes)
16928
+ if (_self.changes) {
16929
+ if (_self.$recursionLimit-- < 0) return;
17274
16930
  _self.schedule();
16931
+ } else {
16932
+ _self.$recursionLimit = 2;
16933
+ }
17275
16934
  };
17276
16935
  };
17277
16936
 
@@ -17279,11 +16938,18 @@ var RenderLoop = function(onRender, win) {
17279
16938
 
17280
16939
  this.schedule = function(change) {
17281
16940
  this.changes = this.changes | change;
17282
- if (this.changes) {
16941
+ if (this.changes && !this.pending) {
17283
16942
  event.nextFrame(this._flush);
16943
+ this.pending = true;
17284
16944
  }
17285
16945
  };
17286
16946
 
16947
+ this.clear = function(change) {
16948
+ var changes = this.changes;
16949
+ this.changes = 0;
16950
+ return changes;
16951
+ };
16952
+
17287
16953
  }).call(RenderLoop.prototype);
17288
16954
 
17289
16955
  exports.RenderLoop = RenderLoop;
@@ -17504,7 +17170,8 @@ var VScrollBar = require("./scrollbar").VScrollBar;
17504
17170
  var RenderLoop = require("./renderloop").RenderLoop;
17505
17171
  var FontMetrics = require("./layer/font_metrics").FontMetrics;
17506
17172
  var EventEmitter = require("./lib/event_emitter").EventEmitter;
17507
- var editorCss = ".ace_br1 {border-top-left-radius : 3px;}\
17173
+ var editorCss = "\
17174
+ .ace_br1 {border-top-left-radius : 3px;}\
17508
17175
  .ace_br2 {border-top-right-radius : 3px;}\
17509
17176
  .ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}\
17510
17177
  .ace_br4 {border-bottom-right-radius: 3px;}\
@@ -17943,11 +17610,6 @@ background-color: rgba(255, 255, 0,0.2);\
17943
17610
  position: absolute;\
17944
17611
  z-index: 8;\
17945
17612
  }\
17946
- .ace_text-input-ios {\
17947
- position: absolute !important;\
17948
- top: -100000px !important;\
17949
- left: -100000px !important;\
17950
- }\
17951
17613
  ";
17952
17614
 
17953
17615
  var useragent = require("./lib/useragent");
@@ -18062,7 +17724,7 @@ var VirtualRenderer = function(container, theme) {
18062
17724
  h: 0
18063
17725
  };
18064
17726
 
18065
- this.$keepTextAreaAtCursor = true;
17727
+ this.$keepTextAreaAtCursor = !useragent.isIOS;
18066
17728
 
18067
17729
  this.$loop = new RenderLoop(
18068
17730
  this.$renderChanges.bind(this),
@@ -18089,6 +17751,7 @@ var VirtualRenderer = function(container, theme) {
18089
17751
  this.CHANGE_MARKER_FRONT = 256;
18090
17752
  this.CHANGE_FULL = 512;
18091
17753
  this.CHANGE_H_SCROLL = 1024;
17754
+
18092
17755
  oop.implement(this, EventEmitter);
18093
17756
 
18094
17757
  this.updateCharacterSize = function() {
@@ -18256,6 +17919,7 @@ var VirtualRenderer = function(container, theme) {
18256
17919
  dom.setStyle(this.scrollBarH.element.style, "right", right);
18257
17920
  dom.setStyle(this.scroller.style, "right", right);
18258
17921
  dom.setStyle(this.scroller.style, "bottom", this.scrollBarH.getHeight());
17922
+
18259
17923
  if (this.session && this.session.getUseWrapMode() && this.adjustWrapLimit() || force) {
18260
17924
  changes |= this.CHANGE_FULL;
18261
17925
  }
@@ -18529,6 +18193,7 @@ var VirtualRenderer = function(container, theme) {
18529
18193
  if (!this.lineHeight) {
18530
18194
  this.$textLayer.checkForSizeChanges();
18531
18195
  }
18196
+
18532
18197
  this._signal("beforeRender");
18533
18198
 
18534
18199
  if (this.session && this.session.$bidiHandler)
@@ -18542,13 +18207,13 @@ var VirtualRenderer = function(container, theme) {
18542
18207
  changes & this.CHANGE_SCROLL ||
18543
18208
  changes & this.CHANGE_H_SCROLL
18544
18209
  ) {
18545
- changes |= this.$computeLayerConfig();
18210
+ changes |= this.$computeLayerConfig() | this.$loop.clear();
18546
18211
  if (config.firstRow != this.layerConfig.firstRow && config.firstRowScreen == this.layerConfig.firstRowScreen) {
18547
18212
  var st = this.scrollTop + (config.firstRow - this.layerConfig.firstRow) * this.lineHeight;
18548
18213
  if (st > 0) {
18549
18214
  this.scrollTop = st;
18550
18215
  changes = changes | this.CHANGE_SCROLL;
18551
- changes |= this.$computeLayerConfig();
18216
+ changes |= this.$computeLayerConfig() | this.$loop.clear();
18552
18217
  }
18553
18218
  }
18554
18219
  config = this.layerConfig;
@@ -18686,7 +18351,6 @@ var VirtualRenderer = function(container, theme) {
18686
18351
  if (this.$maxLines && this.lineHeight > 1)
18687
18352
  this.$autosize();
18688
18353
 
18689
- var offset = this.scrollTop % this.lineHeight;
18690
18354
  var minHeight = size.scrollerHeight + this.lineHeight;
18691
18355
 
18692
18356
  var scrollPastEnd = !this.$maxLines && this.$scrollPastEnd
@@ -18709,6 +18373,7 @@ var VirtualRenderer = function(container, theme) {
18709
18373
  this.scrollBarV.setVisible(vScroll);
18710
18374
  }
18711
18375
 
18376
+ var offset = this.scrollTop % this.lineHeight;
18712
18377
  var lineCount = Math.ceil(minHeight / this.lineHeight) - 1;
18713
18378
  var firstRow = Math.max(0, Math.round((this.scrollTop - offset) / this.lineHeight));
18714
18379
  var lastRow = firstRow + lineCount;
@@ -18756,6 +18421,7 @@ var VirtualRenderer = function(container, theme) {
18756
18421
 
18757
18422
  if (this.session.$bidiHandler)
18758
18423
  this.session.$bidiHandler.setContentWidth(longestLine - this.$padding);
18424
+
18759
18425
  return changes;
18760
18426
  };
18761
18427
 
@@ -18847,7 +18513,7 @@ var VirtualRenderer = function(container, theme) {
18847
18513
  } else if (scrollTop + this.$size.scrollerHeight - bottomMargin < top + this.lineHeight) {
18848
18514
  if (offset && scrollTop + this.$size.scrollerHeight - bottomMargin < top - this.lineHeight)
18849
18515
  top += offset * this.$size.scrollerHeight;
18850
- this.session.setScrollTop(top + this.lineHeight - this.$size.scrollerHeight);
18516
+ this.session.setScrollTop(top + this.lineHeight + bottomMargin - this.$size.scrollerHeight);
18851
18517
  }
18852
18518
 
18853
18519
  var scrollLeft = this.scrollLeft;
@@ -19694,7 +19360,7 @@ var PlaceHolder = function(session, length, pos, others, mainClass, othersClass)
19694
19360
  this.hideOtherMarkers();
19695
19361
  this._emit("cursorLeave", event);
19696
19362
  }
19697
- };
19363
+ };
19698
19364
  this.detach = function() {
19699
19365
  this.session.removeMarker(this.pos && this.pos.markerId);
19700
19366
  this.hideOtherMarkers();
@@ -20326,7 +19992,7 @@ var Editor = require("./editor").Editor;
20326
19992
  result = command.multiSelectAction(editor, e.args || {});
20327
19993
  }
20328
19994
  return result;
20329
- };
19995
+ };
20330
19996
  this.forEachSelection = function(cmd, args, options) {
20331
19997
  if (this.inVirtualSelectionMode)
20332
19998
  return;
@@ -21611,12 +21277,12 @@ exports.createEditSession = function(text, mode) {
21611
21277
  return doc;
21612
21278
  };
21613
21279
  exports.Range = Range;
21280
+ exports.Editor = Editor;
21614
21281
  exports.EditSession = EditSession;
21615
21282
  exports.UndoManager = UndoManager;
21616
21283
  exports.VirtualRenderer = Renderer;
21617
- exports.version = "1.4.1";
21618
- });
21619
- (function() {
21284
+ exports.version = "1.4.2";
21285
+ }); (function() {
21620
21286
  window.require(["ace/ace"], function(a) {
21621
21287
  if (a) {
21622
21288
  a.config.init(true);