ace-rails-ap 4.1.2 → 4.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (363) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ace/rails/version.rb +1 -1
  3. data/vendor/assets/javascripts/ace/ace.js +752 -261
  4. data/vendor/assets/javascripts/ace/ext-beautify.js +0 -0
  5. data/vendor/assets/javascripts/ace/ext-chromevox.js +0 -0
  6. data/vendor/assets/javascripts/ace/ext-elastic_tabstops_lite.js +0 -0
  7. data/vendor/assets/javascripts/ace/ext-emmet.js +0 -0
  8. data/vendor/assets/javascripts/ace/ext-error_marker.js +0 -0
  9. data/vendor/assets/javascripts/ace/ext-keybinding_menu.js +0 -0
  10. data/vendor/assets/javascripts/ace/ext-language_tools.js +19 -9
  11. data/vendor/assets/javascripts/ace/ext-linking.js +9 -0
  12. data/vendor/assets/javascripts/ace/ext-modelist.js +2 -0
  13. data/vendor/assets/javascripts/ace/ext-old_ie.js +0 -0
  14. data/vendor/assets/javascripts/ace/ext-searchbox.js +158 -66
  15. data/vendor/assets/javascripts/ace/ext-settings_menu.js +3 -0
  16. data/vendor/assets/javascripts/ace/ext-spellcheck.js +0 -0
  17. data/vendor/assets/javascripts/ace/ext-split.js +0 -0
  18. data/vendor/assets/javascripts/ace/ext-static_highlight.js +1 -1
  19. data/vendor/assets/javascripts/ace/ext-statusbar.js +0 -0
  20. data/vendor/assets/javascripts/ace/ext-textarea.js +1 -0
  21. data/vendor/assets/javascripts/ace/ext-themelist.js +1 -0
  22. data/vendor/assets/javascripts/ace/ext-whitespace.js +24 -3
  23. data/vendor/assets/javascripts/ace/keybinding-emacs.js +0 -0
  24. data/vendor/assets/javascripts/ace/keybinding-vim.js +12 -4
  25. data/vendor/assets/javascripts/ace/mode-abap.js +0 -0
  26. data/vendor/assets/javascripts/ace/mode-abc.js +0 -0
  27. data/vendor/assets/javascripts/ace/mode-actionscript.js +0 -0
  28. data/vendor/assets/javascripts/ace/mode-ada.js +0 -0
  29. data/vendor/assets/javascripts/ace/mode-apache_conf.js +0 -0
  30. data/vendor/assets/javascripts/ace/mode-applescript.js +0 -0
  31. data/vendor/assets/javascripts/ace/mode-asciidoc.js +0 -0
  32. data/vendor/assets/javascripts/ace/mode-assembly_x86.js +0 -0
  33. data/vendor/assets/javascripts/ace/mode-autohotkey.js +0 -0
  34. data/vendor/assets/javascripts/ace/mode-bash.js +247 -0
  35. data/vendor/assets/javascripts/ace/mode-batchfile.js +0 -0
  36. data/vendor/assets/javascripts/ace/mode-bro.js +0 -0
  37. data/vendor/assets/javascripts/ace/mode-c9search.js +0 -5
  38. data/vendor/assets/javascripts/ace/mode-c_cpp.js +2 -3
  39. data/vendor/assets/javascripts/ace/mode-cirru.js +0 -0
  40. data/vendor/assets/javascripts/ace/mode-clojure.js +0 -0
  41. data/vendor/assets/javascripts/ace/mode-cobol.js +0 -0
  42. data/vendor/assets/javascripts/ace/mode-coffee.js +0 -0
  43. data/vendor/assets/javascripts/ace/mode-coldfusion.js +132 -78
  44. data/vendor/assets/javascripts/ace/mode-csharp.js +3 -4
  45. data/vendor/assets/javascripts/ace/mode-css.js +95 -47
  46. data/vendor/assets/javascripts/ace/mode-curly.js +132 -78
  47. data/vendor/assets/javascripts/ace/mode-d.js +0 -0
  48. data/vendor/assets/javascripts/ace/mode-dart.js +5 -8
  49. data/vendor/assets/javascripts/ace/mode-diff.js +0 -0
  50. data/vendor/assets/javascripts/ace/mode-django.js +132 -83
  51. data/vendor/assets/javascripts/ace/mode-dockerfile.js +0 -0
  52. data/vendor/assets/javascripts/ace/mode-dot.js +2 -5
  53. data/vendor/assets/javascripts/ace/mode-drools.js +4 -6
  54. data/vendor/assets/javascripts/ace/mode-eiffel.js +0 -0
  55. data/vendor/assets/javascripts/ace/mode-ejs.js +137 -78
  56. data/vendor/assets/javascripts/ace/mode-elixir.js +0 -0
  57. data/vendor/assets/javascripts/ace/mode-elm.js +0 -0
  58. data/vendor/assets/javascripts/ace/mode-erlang.js +0 -0
  59. data/vendor/assets/javascripts/ace/mode-forth.js +0 -0
  60. data/vendor/assets/javascripts/ace/mode-fortran.js +0 -0
  61. data/vendor/assets/javascripts/ace/mode-ftl.js +122 -78
  62. data/vendor/assets/javascripts/ace/mode-gcode.js +0 -0
  63. data/vendor/assets/javascripts/ace/mode-gherkin.js +0 -0
  64. data/vendor/assets/javascripts/ace/mode-gitignore.js +0 -0
  65. data/vendor/assets/javascripts/ace/mode-glsl.js +2 -3
  66. data/vendor/assets/javascripts/ace/mode-gobstones.js +23 -17
  67. data/vendor/assets/javascripts/ace/mode-golang.js +0 -0
  68. data/vendor/assets/javascripts/ace/mode-graphqlschema.js +206 -0
  69. data/vendor/assets/javascripts/ace/mode-groovy.js +23 -17
  70. data/vendor/assets/javascripts/ace/mode-haml.js +247 -183
  71. data/vendor/assets/javascripts/ace/mode-handlebars.js +132 -78
  72. data/vendor/assets/javascripts/ace/mode-haskell.js +0 -0
  73. data/vendor/assets/javascripts/ace/mode-haskell_cabal.js +0 -0
  74. data/vendor/assets/javascripts/ace/mode-haxe.js +2 -3
  75. data/vendor/assets/javascripts/ace/mode-hjson.js +0 -0
  76. data/vendor/assets/javascripts/ace/mode-html.js +132 -78
  77. data/vendor/assets/javascripts/ace/mode-html_elixir.js +132 -78
  78. data/vendor/assets/javascripts/ace/mode-html_ruby.js +137 -78
  79. data/vendor/assets/javascripts/ace/mode-ini.js +0 -0
  80. data/vendor/assets/javascripts/ace/mode-io.js +0 -0
  81. data/vendor/assets/javascripts/ace/mode-jack.js +0 -0
  82. data/vendor/assets/javascripts/ace/mode-jade.js +150 -86
  83. data/vendor/assets/javascripts/ace/mode-java.js +23 -17
  84. data/vendor/assets/javascripts/ace/mode-javascript.js +21 -14
  85. data/vendor/assets/javascripts/ace/mode-json.js +16 -8
  86. data/vendor/assets/javascripts/ace/mode-jsoniq.js +27 -11
  87. data/vendor/assets/javascripts/ace/mode-jsp.js +122 -78
  88. data/vendor/assets/javascripts/ace/mode-jsx.js +2 -3
  89. data/vendor/assets/javascripts/ace/mode-julia.js +0 -0
  90. data/vendor/assets/javascripts/ace/mode-kotlin.js +0 -0
  91. data/vendor/assets/javascripts/ace/mode-latex.js +3 -2
  92. data/vendor/assets/javascripts/ace/mode-lean.js +0 -0
  93. data/vendor/assets/javascripts/ace/mode-less.js +97 -50
  94. data/vendor/assets/javascripts/ace/mode-liquid.js +120 -75
  95. data/vendor/assets/javascripts/ace/mode-lisp.js +0 -0
  96. data/vendor/assets/javascripts/ace/mode-live_script.js +0 -0
  97. data/vendor/assets/javascripts/ace/mode-livescript.js +0 -0
  98. data/vendor/assets/javascripts/ace/mode-logiql.js +0 -0
  99. data/vendor/assets/javascripts/ace/mode-lsl.js +0 -0
  100. data/vendor/assets/javascripts/ace/mode-lua.js +4 -4
  101. data/vendor/assets/javascripts/ace/mode-luapage.js +136 -82
  102. data/vendor/assets/javascripts/ace/mode-lucene.js +0 -0
  103. data/vendor/assets/javascripts/ace/mode-makefile.js +0 -0
  104. data/vendor/assets/javascripts/ace/mode-markdown.js +133 -80
  105. data/vendor/assets/javascripts/ace/mode-mask.js +121 -77
  106. data/vendor/assets/javascripts/ace/mode-matlab.js +0 -0
  107. data/vendor/assets/javascripts/ace/mode-maze.js +0 -0
  108. data/vendor/assets/javascripts/ace/mode-mel.js +0 -0
  109. data/vendor/assets/javascripts/ace/mode-mips_assembler.js +0 -0
  110. data/vendor/assets/javascripts/ace/mode-mipsassembler.js +0 -0
  111. data/vendor/assets/javascripts/ace/mode-mushcode.js +0 -0
  112. data/vendor/assets/javascripts/ace/mode-mysql.js +0 -0
  113. data/vendor/assets/javascripts/ace/mode-nix.js +4 -6
  114. data/vendor/assets/javascripts/ace/mode-nsis.js +0 -0
  115. data/vendor/assets/javascripts/ace/mode-objectivec.js +3 -5
  116. data/vendor/assets/javascripts/ace/mode-ocaml.js +2 -3
  117. data/vendor/assets/javascripts/ace/mode-pascal.js +0 -0
  118. data/vendor/assets/javascripts/ace/mode-perl.js +0 -0
  119. data/vendor/assets/javascripts/ace/mode-pgsql.js +42 -31
  120. data/vendor/assets/javascripts/ace/mode-php.js +132 -78
  121. data/vendor/assets/javascripts/ace/mode-pig.js +303 -0
  122. data/vendor/assets/javascripts/ace/mode-plain_text.js +0 -0
  123. data/vendor/assets/javascripts/ace/mode-powershell.js +0 -0
  124. data/vendor/assets/javascripts/ace/mode-praat.js +0 -0
  125. data/vendor/assets/javascripts/ace/mode-prolog.js +0 -0
  126. data/vendor/assets/javascripts/ace/mode-properties.js +0 -0
  127. data/vendor/assets/javascripts/ace/mode-protobuf.js +6 -8
  128. data/vendor/assets/javascripts/ace/mode-python.js +0 -0
  129. data/vendor/assets/javascripts/ace/mode-r.js +0 -0
  130. data/vendor/assets/javascripts/ace/mode-razor.js +135 -82
  131. data/vendor/assets/javascripts/ace/mode-rdoc.js +0 -0
  132. data/vendor/assets/javascripts/ace/mode-rhtml.js +132 -78
  133. data/vendor/assets/javascripts/ace/mode-rst.js +0 -0
  134. data/vendor/assets/javascripts/ace/mode-ruby.js +5 -0
  135. data/vendor/assets/javascripts/ace/mode-rust.js +1 -0
  136. data/vendor/assets/javascripts/ace/mode-sass.js +27 -6
  137. data/vendor/assets/javascripts/ace/mode-scad.js +2 -3
  138. data/vendor/assets/javascripts/ace/mode-scala.js +23 -17
  139. data/vendor/assets/javascripts/ace/mode-scheme.js +0 -0
  140. data/vendor/assets/javascripts/ace/mode-scss.js +27 -6
  141. data/vendor/assets/javascripts/ace/mode-sh.js +0 -0
  142. data/vendor/assets/javascripts/ace/mode-sjs.js +21 -14
  143. data/vendor/assets/javascripts/ace/mode-smarty.js +132 -78
  144. data/vendor/assets/javascripts/ace/mode-snippets.js +0 -0
  145. data/vendor/assets/javascripts/ace/mode-soy_template.js +132 -78
  146. data/vendor/assets/javascripts/ace/mode-space.js +0 -0
  147. data/vendor/assets/javascripts/ace/mode-sparql.js +313 -0
  148. data/vendor/assets/javascripts/ace/mode-sql.js +3 -0
  149. data/vendor/assets/javascripts/ace/mode-sqlserver.js +0 -0
  150. data/vendor/assets/javascripts/ace/mode-stylus.js +97 -50
  151. data/vendor/assets/javascripts/ace/mode-svg.js +37 -31
  152. data/vendor/assets/javascripts/ace/mode-swift.js +0 -0
  153. data/vendor/assets/javascripts/ace/mode-swig.js +0 -0
  154. data/vendor/assets/javascripts/ace/mode-tcl.js +0 -0
  155. data/vendor/assets/javascripts/ace/mode-tex.js +0 -0
  156. data/vendor/assets/javascripts/ace/mode-text.js +0 -0
  157. data/vendor/assets/javascripts/ace/mode-textile.js +0 -0
  158. data/vendor/assets/javascripts/ace/mode-toml.js +0 -0
  159. data/vendor/assets/javascripts/ace/mode-tsx.js +21 -14
  160. data/vendor/assets/javascripts/ace/mode-turtle.js +289 -0
  161. data/vendor/assets/javascripts/ace/mode-twig.js +132 -78
  162. data/vendor/assets/javascripts/ace/mode-typescript.js +21 -14
  163. data/vendor/assets/javascripts/ace/mode-vala.js +0 -0
  164. data/vendor/assets/javascripts/ace/mode-vbscript.js +0 -0
  165. data/vendor/assets/javascripts/ace/mode-velocity.js +132 -78
  166. data/vendor/assets/javascripts/ace/mode-verilog.js +0 -0
  167. data/vendor/assets/javascripts/ace/mode-vhdl.js +0 -0
  168. data/vendor/assets/javascripts/ace/mode-wollok.js +21 -14
  169. data/vendor/assets/javascripts/ace/mode-xml.js +16 -17
  170. data/vendor/assets/javascripts/ace/mode-xquery.js +0 -0
  171. data/vendor/assets/javascripts/ace/mode-yaml.js +40 -8
  172. data/vendor/assets/javascripts/ace/snippets/abap.js +0 -0
  173. data/vendor/assets/javascripts/ace/snippets/abc.js +0 -0
  174. data/vendor/assets/javascripts/ace/snippets/actionscript.js +0 -0
  175. data/vendor/assets/javascripts/ace/snippets/ada.js +0 -0
  176. data/vendor/assets/javascripts/ace/snippets/apache_conf.js +0 -0
  177. data/vendor/assets/javascripts/ace/snippets/applescript.js +0 -0
  178. data/vendor/assets/javascripts/ace/snippets/asciidoc.js +0 -0
  179. data/vendor/assets/javascripts/ace/snippets/assembly_x86.js +0 -0
  180. data/vendor/assets/javascripts/ace/snippets/autohotkey.js +0 -0
  181. data/vendor/assets/javascripts/ace/snippets/batchfile.js +0 -0
  182. data/vendor/assets/javascripts/ace/snippets/bro.js +0 -0
  183. data/vendor/assets/javascripts/ace/snippets/c9search.js +0 -0
  184. data/vendor/assets/javascripts/ace/snippets/c_cpp.js +0 -0
  185. data/vendor/assets/javascripts/ace/snippets/cirru.js +0 -0
  186. data/vendor/assets/javascripts/ace/snippets/clojure.js +0 -0
  187. data/vendor/assets/javascripts/ace/snippets/cobol.js +0 -0
  188. data/vendor/assets/javascripts/ace/snippets/coffee.js +0 -0
  189. data/vendor/assets/javascripts/ace/snippets/coldfusion.js +0 -0
  190. data/vendor/assets/javascripts/ace/snippets/csharp.js +0 -0
  191. data/vendor/assets/javascripts/ace/snippets/css.js +0 -0
  192. data/vendor/assets/javascripts/ace/snippets/curly.js +0 -0
  193. data/vendor/assets/javascripts/ace/snippets/d.js +0 -0
  194. data/vendor/assets/javascripts/ace/snippets/dart.js +0 -0
  195. data/vendor/assets/javascripts/ace/snippets/diff.js +0 -0
  196. data/vendor/assets/javascripts/ace/snippets/django.js +0 -0
  197. data/vendor/assets/javascripts/ace/snippets/dockerfile.js +0 -0
  198. data/vendor/assets/javascripts/ace/snippets/dot.js +0 -0
  199. data/vendor/assets/javascripts/ace/snippets/drools.js +0 -0
  200. data/vendor/assets/javascripts/ace/snippets/eiffel.js +0 -0
  201. data/vendor/assets/javascripts/ace/snippets/ejs.js +0 -0
  202. data/vendor/assets/javascripts/ace/snippets/elixir.js +0 -0
  203. data/vendor/assets/javascripts/ace/snippets/elm.js +0 -0
  204. data/vendor/assets/javascripts/ace/snippets/erlang.js +0 -0
  205. data/vendor/assets/javascripts/ace/snippets/forth.js +0 -0
  206. data/vendor/assets/javascripts/ace/snippets/fortran.js +0 -0
  207. data/vendor/assets/javascripts/ace/snippets/ftl.js +0 -0
  208. data/vendor/assets/javascripts/ace/snippets/gcode.js +0 -0
  209. data/vendor/assets/javascripts/ace/snippets/gherkin.js +0 -0
  210. data/vendor/assets/javascripts/ace/snippets/gitignore.js +0 -0
  211. data/vendor/assets/javascripts/ace/snippets/glsl.js +0 -0
  212. data/vendor/assets/javascripts/ace/snippets/gobstones.js +0 -0
  213. data/vendor/assets/javascripts/ace/snippets/golang.js +0 -0
  214. data/vendor/assets/javascripts/ace/snippets/graphqlschema.js +39 -0
  215. data/vendor/assets/javascripts/ace/snippets/groovy.js +0 -0
  216. data/vendor/assets/javascripts/ace/snippets/haml.js +0 -0
  217. data/vendor/assets/javascripts/ace/snippets/handlebars.js +0 -0
  218. data/vendor/assets/javascripts/ace/snippets/haskell.js +0 -0
  219. data/vendor/assets/javascripts/ace/snippets/haskell_cabal.js +0 -0
  220. data/vendor/assets/javascripts/ace/snippets/haxe.js +0 -0
  221. data/vendor/assets/javascripts/ace/snippets/hjson.js +0 -0
  222. data/vendor/assets/javascripts/ace/snippets/html.js +0 -0
  223. data/vendor/assets/javascripts/ace/snippets/html_elixir.js +0 -0
  224. data/vendor/assets/javascripts/ace/snippets/html_ruby.js +0 -0
  225. data/vendor/assets/javascripts/ace/snippets/ini.js +0 -0
  226. data/vendor/assets/javascripts/ace/snippets/io.js +0 -0
  227. data/vendor/assets/javascripts/ace/snippets/jack.js +0 -0
  228. data/vendor/assets/javascripts/ace/snippets/jade.js +0 -0
  229. data/vendor/assets/javascripts/ace/snippets/java.js +0 -0
  230. data/vendor/assets/javascripts/ace/snippets/javascript.js +0 -0
  231. data/vendor/assets/javascripts/ace/snippets/json.js +0 -0
  232. data/vendor/assets/javascripts/ace/snippets/jsoniq.js +0 -0
  233. data/vendor/assets/javascripts/ace/snippets/jsp.js +0 -0
  234. data/vendor/assets/javascripts/ace/snippets/jsx.js +0 -0
  235. data/vendor/assets/javascripts/ace/snippets/julia.js +0 -0
  236. data/vendor/assets/javascripts/ace/snippets/kotlin.js +0 -0
  237. data/vendor/assets/javascripts/ace/snippets/latex.js +0 -0
  238. data/vendor/assets/javascripts/ace/snippets/lean.js +0 -0
  239. data/vendor/assets/javascripts/ace/snippets/less.js +0 -0
  240. data/vendor/assets/javascripts/ace/snippets/liquid.js +0 -0
  241. data/vendor/assets/javascripts/ace/snippets/lisp.js +0 -0
  242. data/vendor/assets/javascripts/ace/snippets/live_script.js +0 -0
  243. data/vendor/assets/javascripts/ace/snippets/livescript.js +0 -0
  244. data/vendor/assets/javascripts/ace/snippets/logiql.js +0 -0
  245. data/vendor/assets/javascripts/ace/snippets/lsl.js +0 -0
  246. data/vendor/assets/javascripts/ace/snippets/lua.js +0 -0
  247. data/vendor/assets/javascripts/ace/snippets/luapage.js +0 -0
  248. data/vendor/assets/javascripts/ace/snippets/lucene.js +0 -0
  249. data/vendor/assets/javascripts/ace/snippets/makefile.js +0 -0
  250. data/vendor/assets/javascripts/ace/snippets/markdown.js +0 -0
  251. data/vendor/assets/javascripts/ace/snippets/mask.js +0 -0
  252. data/vendor/assets/javascripts/ace/snippets/matlab.js +0 -0
  253. data/vendor/assets/javascripts/ace/snippets/maze.js +0 -0
  254. data/vendor/assets/javascripts/ace/snippets/mel.js +0 -0
  255. data/vendor/assets/javascripts/ace/snippets/mips_assembler.js +0 -0
  256. data/vendor/assets/javascripts/ace/snippets/mipsassembler.js +0 -0
  257. data/vendor/assets/javascripts/ace/snippets/mushcode.js +0 -0
  258. data/vendor/assets/javascripts/ace/snippets/mysql.js +0 -0
  259. data/vendor/assets/javascripts/ace/snippets/nix.js +0 -0
  260. data/vendor/assets/javascripts/ace/snippets/nsis.js +0 -0
  261. data/vendor/assets/javascripts/ace/snippets/objectivec.js +0 -0
  262. data/vendor/assets/javascripts/ace/snippets/ocaml.js +0 -0
  263. data/vendor/assets/javascripts/ace/snippets/pascal.js +0 -0
  264. data/vendor/assets/javascripts/ace/snippets/perl.js +0 -0
  265. data/vendor/assets/javascripts/ace/snippets/pgsql.js +0 -0
  266. data/vendor/assets/javascripts/ace/snippets/php.js +0 -0
  267. data/vendor/assets/javascripts/ace/snippets/pig.js +7 -0
  268. data/vendor/assets/javascripts/ace/snippets/plain_text.js +0 -0
  269. data/vendor/assets/javascripts/ace/snippets/powershell.js +0 -0
  270. data/vendor/assets/javascripts/ace/snippets/praat.js +0 -0
  271. data/vendor/assets/javascripts/ace/snippets/prolog.js +0 -0
  272. data/vendor/assets/javascripts/ace/snippets/properties.js +0 -0
  273. data/vendor/assets/javascripts/ace/snippets/protobuf.js +0 -0
  274. data/vendor/assets/javascripts/ace/snippets/python.js +0 -0
  275. data/vendor/assets/javascripts/ace/snippets/r.js +0 -0
  276. data/vendor/assets/javascripts/ace/snippets/razor.js +0 -0
  277. data/vendor/assets/javascripts/ace/snippets/rdoc.js +0 -0
  278. data/vendor/assets/javascripts/ace/snippets/rhtml.js +0 -0
  279. data/vendor/assets/javascripts/ace/snippets/rst.js +0 -0
  280. data/vendor/assets/javascripts/ace/snippets/ruby.js +0 -0
  281. data/vendor/assets/javascripts/ace/snippets/rust.js +0 -0
  282. data/vendor/assets/javascripts/ace/snippets/sass.js +0 -0
  283. data/vendor/assets/javascripts/ace/snippets/scad.js +0 -0
  284. data/vendor/assets/javascripts/ace/snippets/scala.js +0 -0
  285. data/vendor/assets/javascripts/ace/snippets/scheme.js +0 -0
  286. data/vendor/assets/javascripts/ace/snippets/scss.js +0 -0
  287. data/vendor/assets/javascripts/ace/snippets/sh.js +1 -1
  288. data/vendor/assets/javascripts/ace/snippets/sjs.js +0 -0
  289. data/vendor/assets/javascripts/ace/snippets/smarty.js +0 -0
  290. data/vendor/assets/javascripts/ace/snippets/snippets.js +0 -0
  291. data/vendor/assets/javascripts/ace/snippets/soy_template.js +0 -0
  292. data/vendor/assets/javascripts/ace/snippets/space.js +0 -0
  293. data/vendor/assets/javascripts/ace/snippets/sparql.js +7 -0
  294. data/vendor/assets/javascripts/ace/snippets/sql.js +0 -0
  295. data/vendor/assets/javascripts/ace/snippets/sqlserver.js +0 -0
  296. data/vendor/assets/javascripts/ace/snippets/stylus.js +0 -0
  297. data/vendor/assets/javascripts/ace/snippets/svg.js +0 -0
  298. data/vendor/assets/javascripts/ace/snippets/swift.js +0 -0
  299. data/vendor/assets/javascripts/ace/snippets/swig.js +0 -0
  300. data/vendor/assets/javascripts/ace/snippets/tcl.js +0 -0
  301. data/vendor/assets/javascripts/ace/snippets/tex.js +0 -0
  302. data/vendor/assets/javascripts/ace/snippets/text.js +0 -0
  303. data/vendor/assets/javascripts/ace/snippets/textile.js +0 -0
  304. data/vendor/assets/javascripts/ace/snippets/toml.js +0 -0
  305. data/vendor/assets/javascripts/ace/snippets/tsx.js +0 -0
  306. data/vendor/assets/javascripts/ace/snippets/turtle.js +7 -0
  307. data/vendor/assets/javascripts/ace/snippets/twig.js +0 -0
  308. data/vendor/assets/javascripts/ace/snippets/typescript.js +0 -0
  309. data/vendor/assets/javascripts/ace/snippets/vala.js +0 -0
  310. data/vendor/assets/javascripts/ace/snippets/vbscript.js +0 -0
  311. data/vendor/assets/javascripts/ace/snippets/velocity.js +0 -0
  312. data/vendor/assets/javascripts/ace/snippets/verilog.js +0 -0
  313. data/vendor/assets/javascripts/ace/snippets/vhdl.js +0 -0
  314. data/vendor/assets/javascripts/ace/snippets/wollok.js +0 -0
  315. data/vendor/assets/javascripts/ace/snippets/xml.js +0 -0
  316. data/vendor/assets/javascripts/ace/snippets/xquery.js +0 -0
  317. data/vendor/assets/javascripts/ace/snippets/yaml.js +0 -0
  318. data/vendor/assets/javascripts/ace/theme-ambiance.js +0 -0
  319. data/vendor/assets/javascripts/ace/theme-chaos.js +0 -0
  320. data/vendor/assets/javascripts/ace/theme-chrome.js +0 -0
  321. data/vendor/assets/javascripts/ace/theme-clouds.js +0 -0
  322. data/vendor/assets/javascripts/ace/theme-clouds_midnight.js +0 -0
  323. data/vendor/assets/javascripts/ace/theme-cobalt.js +0 -0
  324. data/vendor/assets/javascripts/ace/theme-crimson_editor.js +0 -0
  325. data/vendor/assets/javascripts/ace/theme-dawn.js +0 -0
  326. data/vendor/assets/javascripts/ace/theme-dreamweaver.js +0 -0
  327. data/vendor/assets/javascripts/ace/theme-eclipse.js +0 -0
  328. data/vendor/assets/javascripts/ace/theme-github.js +0 -0
  329. data/vendor/assets/javascripts/ace/theme-gob.js +112 -0
  330. data/vendor/assets/javascripts/ace/theme-gruvbox.js +82 -0
  331. data/vendor/assets/javascripts/ace/theme-idle_fingers.js +0 -0
  332. data/vendor/assets/javascripts/ace/theme-iplastic.js +0 -0
  333. data/vendor/assets/javascripts/ace/theme-katzenmilch.js +0 -0
  334. data/vendor/assets/javascripts/ace/theme-kr_theme.js +0 -0
  335. data/vendor/assets/javascripts/ace/theme-kuroir.js +0 -0
  336. data/vendor/assets/javascripts/ace/theme-merbivore.js +0 -0
  337. data/vendor/assets/javascripts/ace/theme-merbivore_soft.js +0 -0
  338. data/vendor/assets/javascripts/ace/theme-mono_industrial.js +0 -0
  339. data/vendor/assets/javascripts/ace/theme-monokai.js +0 -0
  340. data/vendor/assets/javascripts/ace/theme-pastel_on_dark.js +0 -0
  341. data/vendor/assets/javascripts/ace/theme-solarized_dark.js +0 -0
  342. data/vendor/assets/javascripts/ace/theme-solarized_light.js +0 -0
  343. data/vendor/assets/javascripts/ace/theme-sqlserver.js +0 -0
  344. data/vendor/assets/javascripts/ace/theme-terminal.js +0 -0
  345. data/vendor/assets/javascripts/ace/theme-textmate.js +0 -0
  346. data/vendor/assets/javascripts/ace/theme-tomorrow.js +0 -0
  347. data/vendor/assets/javascripts/ace/theme-tomorrow_night.js +0 -0
  348. data/vendor/assets/javascripts/ace/theme-tomorrow_night_blue.js +0 -0
  349. data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright.js +0 -0
  350. data/vendor/assets/javascripts/ace/theme-tomorrow_night_eighties.js +0 -0
  351. data/vendor/assets/javascripts/ace/theme-twilight.js +0 -0
  352. data/vendor/assets/javascripts/ace/theme-vibrant_ink.js +0 -0
  353. data/vendor/assets/javascripts/ace/theme-xcode.js +0 -0
  354. data/vendor/assets/javascripts/ace/worker-coffee.js +0 -0
  355. data/vendor/assets/javascripts/ace/worker-css.js +0 -0
  356. data/vendor/assets/javascripts/ace/worker-html.js +0 -0
  357. data/vendor/assets/javascripts/ace/worker-javascript.js +0 -0
  358. data/vendor/assets/javascripts/ace/worker-json.js +0 -0
  359. data/vendor/assets/javascripts/ace/worker-lua.js +2 -2
  360. data/vendor/assets/javascripts/ace/worker-php.js +0 -0
  361. data/vendor/assets/javascripts/ace/worker-xml.js +0 -0
  362. data/vendor/assets/javascripts/ace/worker-xquery.js +0 -0
  363. metadata +14 -3
@@ -1091,6 +1091,7 @@ var AcePopup = function(parentNode) {
1091
1091
  popup.$blockScrolling = Infinity;
1092
1092
  popup.isOpen = false;
1093
1093
  popup.isTopdown = false;
1094
+ popup.autoSelect = true;
1094
1095
 
1095
1096
  popup.data = [];
1096
1097
  popup.setData = function(list) {
@@ -1106,7 +1107,7 @@ var AcePopup = function(parentNode) {
1106
1107
  return selectionMarker.start.row;
1107
1108
  };
1108
1109
  popup.setRow = function(line) {
1109
- line = Math.max(0, Math.min(this.data.length, line));
1110
+ line = Math.max(this.autoSelect ? 0 : -1, Math.min(this.data.length, line));
1110
1111
  if (selectionMarker.start.row != line) {
1111
1112
  popup.selection.clearSelection();
1112
1113
  selectionMarker.start.row = selectionMarker.end.row = line || 0;
@@ -1333,6 +1334,8 @@ var Autocomplete = function() {
1333
1334
  if (!this.popup)
1334
1335
  this.$init();
1335
1336
 
1337
+ this.popup.autoSelect = this.autoSelect;
1338
+
1336
1339
  this.popup.setData(this.completions.filtered);
1337
1340
 
1338
1341
  editor.keyBinding.addKeyboardHandler(this.keyboardHandler);
@@ -1390,12 +1393,9 @@ var Autocomplete = function() {
1390
1393
  };
1391
1394
 
1392
1395
  this.blurListener = function(e) {
1393
- if (e.relatedTarget && e.relatedTarget.nodeName == "A" && e.relatedTarget.href) {
1394
- window.open(e.relatedTarget.href, "_blank");
1395
- }
1396
1396
  var el = document.activeElement;
1397
1397
  var text = this.editor.textInput.getElement();
1398
- var fromTooltip = e.relatedTarget && e.relatedTarget == this.tooltipNode;
1398
+ var fromTooltip = e.relatedTarget && this.tooltipNode && this.tooltipNode.contains(e.relatedTarget);
1399
1399
  var container = this.popup && this.popup.container;
1400
1400
  if (el != text && el.parentNode != container && !fromTooltip
1401
1401
  && el != this.tooltipNode && e.relatedTarget != text
@@ -1476,7 +1476,6 @@ var Autocomplete = function() {
1476
1476
  var session = editor.getSession();
1477
1477
  var pos = editor.getCursorPosition();
1478
1478
 
1479
- var line = session.getLine(pos.row);
1480
1479
  var prefix = util.getCompletionPrefix(editor);
1481
1480
 
1482
1481
  this.base = session.doc.createAnchor(pos.row, pos.column - prefix.length);
@@ -1488,10 +1487,8 @@ var Autocomplete = function() {
1488
1487
  completer.getCompletions(editor, session, pos, prefix, function(err, results) {
1489
1488
  if (!err && results)
1490
1489
  matches = matches.concat(results);
1491
- var pos = editor.getCursorPosition();
1492
- var line = session.getLine(pos.row);
1493
1490
  callback(null, {
1494
- prefix: prefix,
1491
+ prefix: util.getCompletionPrefix(editor),
1495
1492
  matches: matches,
1496
1493
  finished: (--total === 0)
1497
1494
  });
@@ -1604,6 +1601,7 @@ var Autocomplete = function() {
1604
1601
  this.tooltipNode.style.pointerEvents = "auto";
1605
1602
  this.tooltipNode.tabIndex = -1;
1606
1603
  this.tooltipNode.onblur = this.blurListener.bind(this);
1604
+ this.tooltipNode.onclick = this.onTooltipClick.bind(this);
1607
1605
  }
1608
1606
 
1609
1607
  var tooltipNode = this.tooltipNode;
@@ -1640,6 +1638,18 @@ var Autocomplete = function() {
1640
1638
  if (el.parentNode)
1641
1639
  el.parentNode.removeChild(el);
1642
1640
  };
1641
+
1642
+ this.onTooltipClick = function(e) {
1643
+ var a = e.target;
1644
+ while (a && a != this.tooltipNode) {
1645
+ if (a.nodeName == "A" && a.href) {
1646
+ a.rel = "noreferrer";
1647
+ a.target = "_blank";
1648
+ break;
1649
+ }
1650
+ a = a.parentNode;
1651
+ }
1652
+ }
1643
1653
 
1644
1654
  }).call(Autocomplete.prototype);
1645
1655
 
@@ -17,6 +17,8 @@ require("../config").defineOptions(Editor.prototype, "editor", {
17
17
  }
18
18
  })
19
19
 
20
+ exports.previousLinkingHover = false;
21
+
20
22
  function onMouseMove(e) {
21
23
  var editor = e.editor;
22
24
  var ctrl = e.getAccelKey();
@@ -27,7 +29,14 @@ function onMouseMove(e) {
27
29
  var session = editor.session;
28
30
  var token = session.getTokenAt(docPos.row, docPos.column);
29
31
 
32
+ if (exports.previousLinkingHover && exports.previousLinkingHover != token) {
33
+ editor._emit("linkHoverOut");
34
+ }
30
35
  editor._emit("linkHover", {position: docPos, token: token});
36
+ exports.previousLinkingHover = token;
37
+ } else if (exports.previousLinkingHover) {
38
+ editor._emit("linkHoverOut");
39
+ exports.previousLinkingHover = false;
31
40
  }
32
41
  }
33
42
 
@@ -77,6 +77,7 @@ var supportedModes = {
77
77
  Glsl: ["glsl|frag|vert"],
78
78
  Gobstones: ["gbs"],
79
79
  golang: ["go"],
80
+ GraphQLSchema: ["gql"],
80
81
  Groovy: ["groovy"],
81
82
  HAML: ["haml"],
82
83
  Handlebars: ["hbs|handlebars|tpl|mustache"],
@@ -125,6 +126,7 @@ var supportedModes = {
125
126
  Perl: ["pl|pm"],
126
127
  pgSQL: ["pgsql"],
127
128
  PHP: ["php|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module"],
129
+ Pig: ["pig"],
128
130
  Powershell: ["ps1"],
129
131
  Praat: ["praat|praatscript|psc|proc"],
130
132
  Prolog: ["plg|prolog"],
@@ -7,16 +7,14 @@ var event = require("../lib/event");
7
7
  var searchboxCss = "\
8
8
  .ace_search {\
9
9
  background-color: #ddd;\
10
+ color: #666;\
10
11
  border: 1px solid #cbcbcb;\
11
12
  border-top: 0 none;\
12
- max-width: 325px;\
13
13
  overflow: hidden;\
14
14
  margin: 0;\
15
- padding: 4px;\
16
- padding-right: 6px;\
17
- padding-bottom: 0;\
15
+ padding: 4px 6px 0 4px;\
18
16
  position: absolute;\
19
- top: 0px;\
17
+ top: 0;\
20
18
  z-index: 99;\
21
19
  white-space: normal;\
22
20
  }\
@@ -31,60 +29,71 @@ border-right: 0 none;\
31
29
  right: 0;\
32
30
  }\
33
31
  .ace_search_form, .ace_replace_form {\
34
- border-radius: 3px;\
35
- border: 1px solid #cbcbcb;\
36
- float: left;\
37
- margin-bottom: 4px;\
32
+ margin: 0 20px 4px 0;\
38
33
  overflow: hidden;\
34
+ line-height: 1.9;\
35
+ }\
36
+ .ace_replace_form {\
37
+ margin-right: 0;\
39
38
  }\
40
39
  .ace_search_form.ace_nomatch {\
41
40
  outline: 1px solid red;\
42
41
  }\
43
42
  .ace_search_field {\
43
+ border-radius: 3px 0 0 3px;\
44
44
  background-color: white;\
45
45
  color: black;\
46
- border-right: 1px solid #cbcbcb;\
47
- border: 0 none;\
48
- -webkit-box-sizing: border-box;\
49
- -moz-box-sizing: border-box;\
50
- box-sizing: border-box;\
51
- float: left;\
52
- height: 22px;\
46
+ border: 1px solid #cbcbcb;\
47
+ border-right: 0 none;\
48
+ box-sizing: border-box!important;\
53
49
  outline: 0;\
54
- padding: 0 7px;\
55
- width: 214px;\
50
+ padding: 0;\
51
+ font-size: inherit;\
56
52
  margin: 0;\
53
+ line-height: inherit;\
54
+ padding: 0 6px;\
55
+ min-width: 17em;\
56
+ vertical-align: top;\
57
57
  }\
58
- .ace_searchbtn,\
59
- .ace_replacebtn {\
58
+ .ace_searchbtn {\
59
+ border: 1px solid #cbcbcb;\
60
+ line-height: inherit;\
61
+ display: inline-block;\
62
+ padding: 0 6px;\
60
63
  background: #fff;\
61
- border: 0 none;\
64
+ border-right: 0 none;\
62
65
  border-left: 1px solid #dcdcdc;\
63
66
  cursor: pointer;\
64
- float: left;\
65
- height: 22px;\
66
67
  margin: 0;\
67
68
  position: relative;\
69
+ box-sizing: content-box!important;\
70
+ color: #666;\
68
71
  }\
69
- .ace_searchbtn:last-child,\
70
- .ace_replacebtn:last-child {\
71
- border-top-right-radius: 3px;\
72
- border-bottom-right-radius: 3px;\
72
+ .ace_searchbtn:last-child {\
73
+ border-radius: 0 3px 3px 0;\
74
+ border-right: 1px solid #cbcbcb;\
73
75
  }\
74
76
  .ace_searchbtn:disabled {\
75
77
  background: none;\
76
78
  cursor: default;\
77
79
  }\
78
- .ace_searchbtn {\
79
- background-position: 50% 50%;\
80
- background-repeat: no-repeat;\
81
- width: 27px;\
80
+ .ace_searchbtn:hover {\
81
+ background-color: #eef1f6;\
82
82
  }\
83
- .ace_searchbtn.prev {\
84
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADFJREFUeNpiSU1NZUAC/6E0I0yACYskCpsJiySKIiY0SUZk40FyTEgCjGgKwTRAgAEAQJUIPCE+qfkAAAAASUVORK5CYII=); \
83
+ .ace_searchbtn.prev, .ace_searchbtn.next {\
84
+ padding: 0px 0.7em\
85
85
  }\
86
- .ace_searchbtn.next {\
87
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADRJREFUeNpiTE1NZQCC/0DMyIAKwGJMUAYDEo3M/s+EpvM/mkKwCQxYjIeLMaELoLMBAgwAU7UJObTKsvAAAAAASUVORK5CYII=); \
86
+ .ace_searchbtn.prev:after, .ace_searchbtn.next:after {\
87
+ content: \"\";\
88
+ border: solid 2px #888;\
89
+ width: 0.5em;\
90
+ height: 0.5em;\
91
+ border-width: 2px 0 0 2px;\
92
+ display:inline-block;\
93
+ transform: rotate(-45deg);\
94
+ }\
95
+ .ace_searchbtn.next:after {\
96
+ border-width: 0 2px 2px 0 ;\
88
97
  }\
89
98
  .ace_searchbtn_close {\
90
99
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0;\
@@ -92,25 +101,19 @@ border-radius: 50%;\
92
101
  border: 0 none;\
93
102
  color: #656565;\
94
103
  cursor: pointer;\
95
- float: right;\
96
104
  font: 16px/16px Arial;\
97
- height: 14px;\
98
- margin: 5px 1px 9px 5px;\
99
105
  padding: 0;\
100
- text-align: center;\
106
+ height: 14px;\
101
107
  width: 14px;\
108
+ top: 9px;\
109
+ right: 7px;\
110
+ position: absolute;\
102
111
  }\
103
112
  .ace_searchbtn_close:hover {\
104
113
  background-color: #656565;\
105
114
  background-position: 50% 100%;\
106
115
  color: white;\
107
116
  }\
108
- .ace_replacebtn.prev {\
109
- width: 54px\
110
- }\
111
- .ace_replacebtn.next {\
112
- width: 27px\
113
- }\
114
117
  .ace_button {\
115
118
  margin-left: 2px;\
116
119
  cursor: pointer;\
@@ -123,8 +126,7 @@ overflow: hidden;\
123
126
  opacity: 0.7;\
124
127
  border: 1px solid rgba(100,100,100,0.23);\
125
128
  padding: 1px;\
126
- -moz-box-sizing: border-box;\
127
- box-sizing: border-box;\
129
+ box-sizing: border-box!important;\
128
130
  color: black;\
129
131
  }\
130
132
  .ace_button:hover {\
@@ -146,36 +148,50 @@ text-align: right;\
146
148
  -o-user-select: none;\
147
149
  -ms-user-select: none;\
148
150
  user-select: none;\
151
+ clear: both;\
152
+ }\
153
+ .ace_search_counter {\
154
+ float: left;\
155
+ font-family: arial;\
156
+ padding: 0 8px;\
149
157
  }";
150
158
  var HashHandler = require("../keyboard/hash_handler").HashHandler;
151
159
  var keyUtil = require("../lib/keys");
152
160
 
161
+ var MAX_COUNT = 999;
162
+
153
163
  dom.importCssString(searchboxCss, "ace_searchbox");
154
164
 
155
165
  var html = '<div class="ace_search right">\
156
- <button type="button" action="hide" class="ace_searchbtn_close"></button>\
166
+ <span action="hide" class="ace_searchbtn_close"></span>\
157
167
  <div class="ace_search_form">\
158
168
  <input class="ace_search_field" placeholder="Search for" spellcheck="false"></input>\
159
- <button type="button" action="findNext" class="ace_searchbtn next"></button>\
160
- <button type="button" action="findPrev" class="ace_searchbtn prev"></button>\
161
- <button type="button" action="findAll" class="ace_searchbtn" title="Alt-Enter">All</button>\
169
+ <span action="findPrev" class="ace_searchbtn prev"></span>\
170
+ <span action="findNext" class="ace_searchbtn next"></span>\
171
+ <span action="findAll" class="ace_searchbtn" title="Alt-Enter">All</span>\
162
172
  </div>\
163
173
  <div class="ace_replace_form">\
164
174
  <input class="ace_search_field" placeholder="Replace with" spellcheck="false"></input>\
165
- <button type="button" action="replaceAndFindNext" class="ace_replacebtn">Replace</button>\
166
- <button type="button" action="replaceAll" class="ace_replacebtn">All</button>\
175
+ <span action="replaceAndFindNext" class="ace_searchbtn">Replace</span>\
176
+ <span action="replaceAll" class="ace_searchbtn">All</span>\
167
177
  </div>\
168
178
  <div class="ace_search_options">\
179
+ <span action="toggleReplace" class="ace_button" title="Toggel Replace mode"\
180
+ style="float:left;margin-top:-2px;padding:0 5px;">+</span>\
181
+ <span class="ace_search_counter"></span>\
169
182
  <span action="toggleRegexpMode" class="ace_button" title="RegExp Search">.*</span>\
170
183
  <span action="toggleCaseSensitive" class="ace_button" title="CaseSensitive Search">Aa</span>\
171
184
  <span action="toggleWholeWords" class="ace_button" title="Whole Word Search">\\b</span>\
185
+ <span action="searchInSelection" class="ace_button" title="Search In Selection">S</span>\
172
186
  </div>\
173
- </div>'.replace(/>\s+/g, ">");
187
+ </div>'.replace(/> +/g, ">");
174
188
 
175
189
  var SearchBox = function(editor, range, showReplaceForm) {
176
190
  var div = dom.createElement("div");
177
191
  div.innerHTML = html;
178
192
  this.element = div.firstChild;
193
+
194
+ this.setSession = this.setSession.bind(this);
179
195
 
180
196
  this.$init();
181
197
  this.setEditor(editor);
@@ -184,19 +200,27 @@ var SearchBox = function(editor, range, showReplaceForm) {
184
200
  (function() {
185
201
  this.setEditor = function(editor) {
186
202
  editor.searchBox = this;
187
- editor.container.appendChild(this.element);
203
+ editor.renderer.scroller.appendChild(this.element);
188
204
  this.editor = editor;
189
205
  };
206
+
207
+ this.setSession = function(e) {
208
+ debugger
209
+ this.searchRange = null;
210
+ this.$syncOptions(true);
211
+ }
190
212
 
191
213
  this.$initElements = function(sb) {
192
214
  this.searchBox = sb.querySelector(".ace_search_form");
193
215
  this.replaceBox = sb.querySelector(".ace_replace_form");
194
- this.searchOptions = sb.querySelector(".ace_search_options");
216
+ this.searchOption = sb.querySelector("[action=searchInSelection]");
217
+ this.replaceOption = sb.querySelector("[action=toggleReplace]");
195
218
  this.regExpOption = sb.querySelector("[action=toggleRegexpMode]");
196
219
  this.caseSensitiveOption = sb.querySelector("[action=toggleCaseSensitive]");
197
220
  this.wholeWordOption = sb.querySelector("[action=toggleWholeWords]");
198
221
  this.searchInput = this.searchBox.querySelector(".ace_search_field");
199
222
  this.replaceInput = this.replaceBox.querySelector(".ace_search_field");
223
+ this.searchCounter = sb.querySelector(".ace_search_counter");
200
224
  };
201
225
 
202
226
  this.$init = function() {
@@ -258,10 +282,13 @@ var SearchBox = function(editor, range, showReplaceForm) {
258
282
  "Ctrl-f|Command-f": function(sb) {
259
283
  var isReplace = sb.isReplace = !sb.isReplace;
260
284
  sb.replaceBox.style.display = isReplace ? "" : "none";
285
+ sb.replaceOption.checked = false;
286
+ sb.$syncOptions();
261
287
  sb.searchInput.focus();
262
288
  },
263
289
  "Ctrl-H|Command-Option-F": function(sb) {
264
- sb.replaceBox.style.display = "";
290
+ sb.replaceOption.checked = true;
291
+ sb.$syncOptions();
265
292
  sb.replaceInput.focus();
266
293
  },
267
294
  "Ctrl-G|Command-G": function(sb) {
@@ -314,13 +341,40 @@ var SearchBox = function(editor, range, showReplaceForm) {
314
341
  sb.wholeWordOption.checked = !sb.wholeWordOption.checked;
315
342
  sb.$syncOptions();
316
343
  }
344
+ }, {
345
+ name: "toggleReplace",
346
+ exec: function(sb) {
347
+ sb.replaceOption.checked = !sb.replaceOption.checked;
348
+ sb.$syncOptions();
349
+ }
350
+ }, {
351
+ name: "searchInSelection",
352
+ exec: function(sb) {
353
+ sb.searchOption.checked = !sb.searchRange;
354
+ sb.setSearchRange(sb.searchOption.checked && sb.editor.getSelectionRange());
355
+ sb.$syncOptions();
356
+ }
317
357
  }]);
358
+
359
+ this.setSearchRange = function(range) {
360
+ this.searchRange = range;
361
+ if (range) {
362
+ this.searchRangeMarker = this.editor.session.addMarker(range, "ace_active-line");
363
+ } else if (this.searchRangeMarker) {
364
+ this.editor.session.removeMarker(this.searchRangeMarker);
365
+ this.searchRangeMarker = null;
366
+ }
367
+ }
318
368
 
319
- this.$syncOptions = function() {
369
+ this.$syncOptions = function(preventScroll) {
370
+ dom.setCssClass(this.replaceOption, "checked", this.searchRange);
371
+ dom.setCssClass(this.searchOption, "checked", this.searchOption.checked);
372
+ this.replaceOption.textContent = this.replaceOption.checked ? "-" : "+";
320
373
  dom.setCssClass(this.regExpOption, "checked", this.regExpOption.checked);
321
374
  dom.setCssClass(this.wholeWordOption, "checked", this.wholeWordOption.checked);
322
375
  dom.setCssClass(this.caseSensitiveOption, "checked", this.caseSensitiveOption.checked);
323
- this.find(false, false);
376
+ this.replaceBox.style.display = this.replaceOption.checked ? "" : "none";
377
+ this.find(false, false, preventScroll);
324
378
  };
325
379
 
326
380
  this.highlight = function(re) {
@@ -335,12 +389,46 @@ var SearchBox = function(editor, range, showReplaceForm) {
335
389
  regExp: this.regExpOption.checked,
336
390
  caseSensitive: this.caseSensitiveOption.checked,
337
391
  wholeWord: this.wholeWordOption.checked,
338
- preventScroll: preventScroll
392
+ preventScroll: preventScroll,
393
+ range: this.searchRange
339
394
  });
340
395
  var noMatch = !range && this.searchInput.value;
341
396
  dom.setCssClass(this.searchBox, "ace_nomatch", noMatch);
342
397
  this.editor._emit("findSearchBox", { match: !noMatch });
343
398
  this.highlight();
399
+ this.updateCounter();
400
+ };
401
+ this.updateCounter = function() {
402
+ var editor = this.editor;
403
+ var regex = editor.$search.$options.re;
404
+ var all = 0;
405
+ var before = 0
406
+ if (regex) {
407
+ var value = this.searchRange
408
+ ? editor.session.getTextRange(this.searchRange)
409
+ : editor.getValue();
410
+
411
+ var offset = editor.session.doc.positionToIndex(editor.selection.anchor);
412
+ if (this.searchRange)
413
+ offset -= editor.session.doc.positionToIndex(this.searchRange.start);
414
+
415
+ var last = regex.lastIndex = 0;
416
+ var m;
417
+ while ((m = regex.exec(value))) {
418
+ all++;
419
+ last = m.index;
420
+ if (last <= offset)
421
+ before++;
422
+ if (all > MAX_COUNT)
423
+ break
424
+ if (!m[0]) {
425
+ regex.lastIndex = last += 1;
426
+ if (last >= value.length)
427
+ break;
428
+ }
429
+ }
430
+ }
431
+ this.searchCounter.textContent = before + " of " + (all > MAX_COUNT ? MAX_COUNT + "+" : all);
344
432
  };
345
433
  this.findNext = function() {
346
434
  this.find(true, false);
@@ -376,25 +464,29 @@ var SearchBox = function(editor, range, showReplaceForm) {
376
464
  };
377
465
 
378
466
  this.hide = function() {
467
+ this.active = false;
468
+ this.setSearchRange(null)
469
+ this.editor.off("changeSession", this.setSession);
470
+
379
471
  this.element.style.display = "none";
380
472
  this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb);
381
473
  this.editor.focus();
382
474
  };
383
475
  this.show = function(value, isReplace) {
476
+ this.active = true;
477
+ this.editor.on("changeSession", this.setSession);
384
478
  this.element.style.display = "";
385
- this.replaceBox.style.display = isReplace ? "" : "none";
386
-
387
- this.isReplace = isReplace;
388
-
479
+ this.replaceOption.checked = isReplace;
480
+
389
481
  if (value)
390
482
  this.searchInput.value = value;
391
483
 
392
- this.find(false, false, true);
393
-
394
484
  this.searchInput.focus();
395
485
  this.searchInput.select();
396
486
 
397
487
  this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb);
488
+
489
+ this.$syncOptions(true);
398
490
  };
399
491
 
400
492
  this.isFocused = function() {