ace-rails-ap 4.1.1 → 4.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (352) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ace/rails/version.rb +1 -1
  3. data/vendor/assets/javascripts/ace/ace.js +529 -133
  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 +17 -12
  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 +12 -4
  11. data/vendor/assets/javascripts/ace/ext-linking.js +0 -0
  12. data/vendor/assets/javascripts/ace/ext-modelist.js +11 -5
  13. data/vendor/assets/javascripts/ace/ext-old_ie.js +1 -0
  14. data/vendor/assets/javascripts/ace/ext-searchbox.js +1 -0
  15. data/vendor/assets/javascripts/ace/ext-settings_menu.js +12 -5
  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 +0 -0
  19. data/vendor/assets/javascripts/ace/ext-statusbar.js +0 -0
  20. data/vendor/assets/javascripts/ace/ext-textarea.js +0 -0
  21. data/vendor/assets/javascripts/ace/ext-themelist.js +1 -0
  22. data/vendor/assets/javascripts/ace/ext-whitespace.js +0 -0
  23. data/vendor/assets/javascripts/ace/keybinding-emacs.js +0 -0
  24. data/vendor/assets/javascripts/ace/keybinding-vim.js +28 -18
  25. data/vendor/assets/javascripts/ace/mode-abap.js +4 -4
  26. data/vendor/assets/javascripts/ace/mode-abc.js +1 -0
  27. data/vendor/assets/javascripts/ace/mode-actionscript.js +1 -0
  28. data/vendor/assets/javascripts/ace/mode-ada.js +2 -2
  29. data/vendor/assets/javascripts/ace/mode-apache_conf.js +1 -0
  30. data/vendor/assets/javascripts/ace/mode-applescript.js +2 -2
  31. data/vendor/assets/javascripts/ace/mode-asciidoc.js +1 -1
  32. data/vendor/assets/javascripts/ace/mode-assembly_x86.js +1 -0
  33. data/vendor/assets/javascripts/ace/mode-autohotkey.js +1 -0
  34. data/vendor/assets/javascripts/ace/mode-batchfile.js +1 -0
  35. data/vendor/assets/javascripts/ace/mode-bro.js +327 -0
  36. data/vendor/assets/javascripts/ace/mode-c9search.js +31 -14
  37. data/vendor/assets/javascripts/ace/mode-c_cpp.js +4 -361
  38. data/vendor/assets/javascripts/ace/mode-cirru.js +7 -6
  39. data/vendor/assets/javascripts/ace/mode-clojure.js +4 -3
  40. data/vendor/assets/javascripts/ace/mode-cobol.js +2 -2
  41. data/vendor/assets/javascripts/ace/mode-coffee.js +2 -3
  42. data/vendor/assets/javascripts/ace/mode-coldfusion.js +16 -370
  43. data/vendor/assets/javascripts/ace/mode-csharp.js +0 -357
  44. data/vendor/assets/javascripts/ace/mode-css.js +0 -357
  45. data/vendor/assets/javascripts/ace/mode-curly.js +16 -371
  46. data/vendor/assets/javascripts/ace/mode-d.js +2 -1
  47. data/vendor/assets/javascripts/ace/mode-dart.js +4 -361
  48. data/vendor/assets/javascripts/ace/mode-diff.js +0 -0
  49. data/vendor/assets/javascripts/ace/mode-django.js +15 -369
  50. data/vendor/assets/javascripts/ace/mode-dockerfile.js +3 -360
  51. data/vendor/assets/javascripts/ace/mode-dot.js +2 -1
  52. data/vendor/assets/javascripts/ace/mode-drools.js +459 -0
  53. data/vendor/assets/javascripts/ace/mode-eiffel.js +2 -2
  54. data/vendor/assets/javascripts/ace/mode-ejs.js +19 -373
  55. data/vendor/assets/javascripts/ace/mode-elixir.js +1 -0
  56. data/vendor/assets/javascripts/ace/mode-elm.js +5 -2
  57. data/vendor/assets/javascripts/ace/mode-erlang.js +4 -3
  58. data/vendor/assets/javascripts/ace/mode-forth.js +14 -13
  59. data/vendor/assets/javascripts/ace/mode-fortran.js +423 -0
  60. data/vendor/assets/javascripts/ace/mode-ftl.js +7 -6
  61. data/vendor/assets/javascripts/ace/mode-gcode.js +1 -0
  62. data/vendor/assets/javascripts/ace/mode-gherkin.js +2 -1
  63. data/vendor/assets/javascripts/ace/mode-gitignore.js +1 -0
  64. data/vendor/assets/javascripts/ace/mode-glsl.js +4 -361
  65. data/vendor/assets/javascripts/ace/mode-gobstones.js +8 -365
  66. data/vendor/assets/javascripts/ace/mode-golang.js +0 -357
  67. data/vendor/assets/javascripts/ace/mode-groovy.js +7 -365
  68. data/vendor/assets/javascripts/ace/mode-haml.js +12 -11
  69. data/vendor/assets/javascripts/ace/mode-handlebars.js +15 -371
  70. data/vendor/assets/javascripts/ace/mode-haskell.js +29 -28
  71. data/vendor/assets/javascripts/ace/mode-haskell_cabal.js +134 -0
  72. data/vendor/assets/javascripts/ace/mode-haxe.js +0 -357
  73. data/vendor/assets/javascripts/ace/mode-hjson.js +346 -0
  74. data/vendor/assets/javascripts/ace/mode-html.js +15 -369
  75. data/vendor/assets/javascripts/ace/mode-html_elixir.js +16 -369
  76. data/vendor/assets/javascripts/ace/mode-html_ruby.js +18 -372
  77. data/vendor/assets/javascripts/ace/mode-ini.js +1 -0
  78. data/vendor/assets/javascripts/ace/mode-io.js +3 -3
  79. data/vendor/assets/javascripts/ace/mode-jack.js +0 -357
  80. data/vendor/assets/javascripts/ace/mode-jade.js +11 -12
  81. data/vendor/assets/javascripts/ace/mode-java.js +7 -365
  82. data/vendor/assets/javascripts/ace/mode-javascript.js +7 -365
  83. data/vendor/assets/javascripts/ace/mode-json.js +0 -357
  84. data/vendor/assets/javascripts/ace/mode-jsoniq.js +5 -358
  85. data/vendor/assets/javascripts/ace/mode-jsp.js +6 -363
  86. data/vendor/assets/javascripts/ace/mode-jsx.js +0 -357
  87. data/vendor/assets/javascripts/ace/mode-julia.js +1 -0
  88. data/vendor/assets/javascripts/ace/mode-kotlin.js +786 -0
  89. data/vendor/assets/javascripts/ace/mode-latex.js +2 -2
  90. data/vendor/assets/javascripts/ace/mode-lean.js +0 -0
  91. data/vendor/assets/javascripts/ace/mode-less.js +0 -357
  92. data/vendor/assets/javascripts/ace/mode-liquid.js +9 -9
  93. data/vendor/assets/javascripts/ace/mode-lisp.js +1 -0
  94. data/vendor/assets/javascripts/ace/mode-live_script.js +0 -0
  95. data/vendor/assets/javascripts/ace/mode-livescript.js +0 -0
  96. data/vendor/assets/javascripts/ace/mode-logiql.js +0 -357
  97. data/vendor/assets/javascripts/ace/mode-lsl.js +0 -357
  98. data/vendor/assets/javascripts/ace/mode-lua.js +1 -0
  99. data/vendor/assets/javascripts/ace/mode-luapage.js +16 -369
  100. data/vendor/assets/javascripts/ace/mode-lucene.js +1 -0
  101. data/vendor/assets/javascripts/ace/mode-makefile.js +3 -2
  102. data/vendor/assets/javascripts/ace/mode-markdown.js +17 -370
  103. data/vendor/assets/javascripts/ace/mode-mask.js +10 -367
  104. data/vendor/assets/javascripts/ace/mode-matlab.js +21 -21
  105. data/vendor/assets/javascripts/ace/mode-maze.js +1 -0
  106. data/vendor/assets/javascripts/ace/mode-mel.js +0 -357
  107. data/vendor/assets/javascripts/ace/mode-mips_assembler.js +0 -0
  108. data/vendor/assets/javascripts/ace/mode-mipsassembler.js +0 -0
  109. data/vendor/assets/javascripts/ace/mode-mushcode.js +2 -1
  110. data/vendor/assets/javascripts/ace/mode-mysql.js +2 -2
  111. data/vendor/assets/javascripts/ace/mode-nix.js +5 -361
  112. data/vendor/assets/javascripts/ace/mode-nsis.js +11 -10
  113. data/vendor/assets/javascripts/ace/mode-objectivec.js +9 -8
  114. data/vendor/assets/javascripts/ace/mode-ocaml.js +1 -0
  115. data/vendor/assets/javascripts/ace/mode-pascal.js +1 -0
  116. data/vendor/assets/javascripts/ace/mode-perl.js +3 -3
  117. data/vendor/assets/javascripts/ace/mode-pgsql.js +8 -8
  118. data/vendor/assets/javascripts/ace/mode-php.js +197 -723
  119. data/vendor/assets/javascripts/ace/mode-plain_text.js +0 -0
  120. data/vendor/assets/javascripts/ace/mode-powershell.js +0 -357
  121. data/vendor/assets/javascripts/ace/mode-praat.js +4 -4
  122. data/vendor/assets/javascripts/ace/mode-prolog.js +1 -0
  123. data/vendor/assets/javascripts/ace/mode-properties.js +1 -0
  124. data/vendor/assets/javascripts/ace/mode-protobuf.js +4 -361
  125. data/vendor/assets/javascripts/ace/mode-python.js +2 -1
  126. data/vendor/assets/javascripts/ace/mode-r.js +5 -6
  127. data/vendor/assets/javascripts/ace/mode-razor.js +26 -370
  128. data/vendor/assets/javascripts/ace/mode-rdoc.js +4 -4
  129. data/vendor/assets/javascripts/ace/mode-rhtml.js +17 -371
  130. data/vendor/assets/javascripts/ace/mode-rst.js +3 -3
  131. data/vendor/assets/javascripts/ace/mode-ruby.js +3 -360
  132. data/vendor/assets/javascripts/ace/mode-rust.js +5 -4
  133. data/vendor/assets/javascripts/ace/mode-sass.js +1 -0
  134. data/vendor/assets/javascripts/ace/mode-scad.js +1 -359
  135. data/vendor/assets/javascripts/ace/mode-scala.js +9 -369
  136. data/vendor/assets/javascripts/ace/mode-scheme.js +1 -0
  137. data/vendor/assets/javascripts/ace/mode-scss.js +0 -357
  138. data/vendor/assets/javascripts/ace/mode-sh.js +3 -360
  139. data/vendor/assets/javascripts/ace/mode-sjs.js +7 -365
  140. data/vendor/assets/javascripts/ace/mode-smarty.js +15 -369
  141. data/vendor/assets/javascripts/ace/mode-snippets.js +1 -0
  142. data/vendor/assets/javascripts/ace/mode-soy_template.js +15 -369
  143. data/vendor/assets/javascripts/ace/mode-space.js +1 -0
  144. data/vendor/assets/javascripts/ace/mode-sql.js +2 -2
  145. data/vendor/assets/javascripts/ace/mode-sqlserver.js +2 -2
  146. data/vendor/assets/javascripts/ace/mode-stylus.js +1 -0
  147. data/vendor/assets/javascripts/ace/mode-svg.js +12 -366
  148. data/vendor/assets/javascripts/ace/mode-swift.js +2 -358
  149. data/vendor/assets/javascripts/ace/mode-swig.js +0 -0
  150. data/vendor/assets/javascripts/ace/mode-tcl.js +2 -1
  151. data/vendor/assets/javascripts/ace/mode-tex.js +3 -2
  152. data/vendor/assets/javascripts/ace/mode-text.js +0 -0
  153. data/vendor/assets/javascripts/ace/mode-textile.js +1 -0
  154. data/vendor/assets/javascripts/ace/mode-toml.js +1 -0
  155. data/vendor/assets/javascripts/ace/mode-tsx.js +884 -0
  156. data/vendor/assets/javascripts/ace/mode-twig.js +16 -370
  157. data/vendor/assets/javascripts/ace/mode-typescript.js +8 -366
  158. data/vendor/assets/javascripts/ace/mode-vala.js +1 -358
  159. data/vendor/assets/javascripts/ace/mode-vbscript.js +44 -71
  160. data/vendor/assets/javascripts/ace/mode-velocity.js +15 -369
  161. data/vendor/assets/javascripts/ace/mode-verilog.js +2 -1
  162. data/vendor/assets/javascripts/ace/mode-vhdl.js +2 -2
  163. data/vendor/assets/javascripts/ace/mode-wollok.js +7 -365
  164. data/vendor/assets/javascripts/ace/mode-xml.js +5 -1
  165. data/vendor/assets/javascripts/ace/mode-xquery.js +32 -369
  166. data/vendor/assets/javascripts/ace/mode-yaml.js +4 -3
  167. data/vendor/assets/javascripts/ace/snippets/abap.js +0 -0
  168. data/vendor/assets/javascripts/ace/snippets/abc.js +0 -0
  169. data/vendor/assets/javascripts/ace/snippets/actionscript.js +0 -0
  170. data/vendor/assets/javascripts/ace/snippets/ada.js +0 -0
  171. data/vendor/assets/javascripts/ace/snippets/apache_conf.js +0 -0
  172. data/vendor/assets/javascripts/ace/snippets/applescript.js +0 -0
  173. data/vendor/assets/javascripts/ace/snippets/asciidoc.js +0 -0
  174. data/vendor/assets/javascripts/ace/snippets/assembly_x86.js +0 -0
  175. data/vendor/assets/javascripts/ace/snippets/autohotkey.js +0 -0
  176. data/vendor/assets/javascripts/ace/snippets/batchfile.js +0 -0
  177. data/vendor/assets/javascripts/ace/snippets/bro.js +7 -0
  178. data/vendor/assets/javascripts/ace/snippets/c9search.js +0 -0
  179. data/vendor/assets/javascripts/ace/snippets/c_cpp.js +0 -0
  180. data/vendor/assets/javascripts/ace/snippets/cirru.js +0 -0
  181. data/vendor/assets/javascripts/ace/snippets/clojure.js +0 -0
  182. data/vendor/assets/javascripts/ace/snippets/cobol.js +0 -0
  183. data/vendor/assets/javascripts/ace/snippets/coffee.js +0 -0
  184. data/vendor/assets/javascripts/ace/snippets/coldfusion.js +0 -0
  185. data/vendor/assets/javascripts/ace/snippets/csharp.js +0 -0
  186. data/vendor/assets/javascripts/ace/snippets/css.js +0 -0
  187. data/vendor/assets/javascripts/ace/snippets/curly.js +0 -0
  188. data/vendor/assets/javascripts/ace/snippets/d.js +0 -0
  189. data/vendor/assets/javascripts/ace/snippets/dart.js +0 -0
  190. data/vendor/assets/javascripts/ace/snippets/diff.js +0 -0
  191. data/vendor/assets/javascripts/ace/snippets/django.js +0 -0
  192. data/vendor/assets/javascripts/ace/snippets/dockerfile.js +0 -0
  193. data/vendor/assets/javascripts/ace/snippets/dot.js +0 -0
  194. data/vendor/assets/javascripts/ace/snippets/drools.js +26 -0
  195. data/vendor/assets/javascripts/ace/snippets/eiffel.js +0 -0
  196. data/vendor/assets/javascripts/ace/snippets/ejs.js +0 -0
  197. data/vendor/assets/javascripts/ace/snippets/elixir.js +0 -0
  198. data/vendor/assets/javascripts/ace/snippets/elm.js +0 -0
  199. data/vendor/assets/javascripts/ace/snippets/erlang.js +0 -0
  200. data/vendor/assets/javascripts/ace/snippets/forth.js +0 -0
  201. data/vendor/assets/javascripts/ace/snippets/fortran.js +7 -0
  202. data/vendor/assets/javascripts/ace/snippets/ftl.js +0 -0
  203. data/vendor/assets/javascripts/ace/snippets/gcode.js +0 -0
  204. data/vendor/assets/javascripts/ace/snippets/gherkin.js +0 -0
  205. data/vendor/assets/javascripts/ace/snippets/gitignore.js +0 -0
  206. data/vendor/assets/javascripts/ace/snippets/glsl.js +0 -0
  207. data/vendor/assets/javascripts/ace/snippets/gobstones.js +41 -0
  208. data/vendor/assets/javascripts/ace/snippets/golang.js +0 -0
  209. data/vendor/assets/javascripts/ace/snippets/groovy.js +0 -0
  210. data/vendor/assets/javascripts/ace/snippets/haml.js +0 -0
  211. data/vendor/assets/javascripts/ace/snippets/handlebars.js +0 -0
  212. data/vendor/assets/javascripts/ace/snippets/haskell.js +0 -0
  213. data/vendor/assets/javascripts/ace/snippets/haskell_cabal.js +7 -0
  214. data/vendor/assets/javascripts/ace/snippets/haxe.js +0 -0
  215. data/vendor/assets/javascripts/ace/snippets/hjson.js +7 -0
  216. data/vendor/assets/javascripts/ace/snippets/html.js +0 -0
  217. data/vendor/assets/javascripts/ace/snippets/html_elixir.js +0 -0
  218. data/vendor/assets/javascripts/ace/snippets/html_ruby.js +0 -0
  219. data/vendor/assets/javascripts/ace/snippets/ini.js +0 -0
  220. data/vendor/assets/javascripts/ace/snippets/io.js +0 -0
  221. data/vendor/assets/javascripts/ace/snippets/jack.js +0 -0
  222. data/vendor/assets/javascripts/ace/snippets/jade.js +0 -0
  223. data/vendor/assets/javascripts/ace/snippets/java.js +0 -0
  224. data/vendor/assets/javascripts/ace/snippets/javascript.js +0 -0
  225. data/vendor/assets/javascripts/ace/snippets/json.js +0 -0
  226. data/vendor/assets/javascripts/ace/snippets/jsoniq.js +0 -0
  227. data/vendor/assets/javascripts/ace/snippets/jsp.js +0 -0
  228. data/vendor/assets/javascripts/ace/snippets/jsx.js +0 -0
  229. data/vendor/assets/javascripts/ace/snippets/julia.js +0 -0
  230. data/vendor/assets/javascripts/ace/snippets/kotlin.js +7 -0
  231. data/vendor/assets/javascripts/ace/snippets/latex.js +0 -0
  232. data/vendor/assets/javascripts/ace/snippets/lean.js +0 -0
  233. data/vendor/assets/javascripts/ace/snippets/less.js +0 -0
  234. data/vendor/assets/javascripts/ace/snippets/liquid.js +0 -0
  235. data/vendor/assets/javascripts/ace/snippets/lisp.js +0 -0
  236. data/vendor/assets/javascripts/ace/snippets/live_script.js +0 -0
  237. data/vendor/assets/javascripts/ace/snippets/livescript.js +0 -0
  238. data/vendor/assets/javascripts/ace/snippets/logiql.js +0 -0
  239. data/vendor/assets/javascripts/ace/snippets/lsl.js +0 -0
  240. data/vendor/assets/javascripts/ace/snippets/lua.js +0 -0
  241. data/vendor/assets/javascripts/ace/snippets/luapage.js +0 -0
  242. data/vendor/assets/javascripts/ace/snippets/lucene.js +0 -0
  243. data/vendor/assets/javascripts/ace/snippets/makefile.js +0 -0
  244. data/vendor/assets/javascripts/ace/snippets/markdown.js +0 -0
  245. data/vendor/assets/javascripts/ace/snippets/mask.js +0 -0
  246. data/vendor/assets/javascripts/ace/snippets/matlab.js +0 -0
  247. data/vendor/assets/javascripts/ace/snippets/maze.js +0 -0
  248. data/vendor/assets/javascripts/ace/snippets/mel.js +0 -0
  249. data/vendor/assets/javascripts/ace/snippets/mips_assembler.js +0 -0
  250. data/vendor/assets/javascripts/ace/snippets/mipsassembler.js +0 -0
  251. data/vendor/assets/javascripts/ace/snippets/mushcode.js +0 -0
  252. data/vendor/assets/javascripts/ace/snippets/mysql.js +0 -0
  253. data/vendor/assets/javascripts/ace/snippets/nix.js +0 -0
  254. data/vendor/assets/javascripts/ace/snippets/nsis.js +7 -0
  255. data/vendor/assets/javascripts/ace/snippets/objectivec.js +0 -0
  256. data/vendor/assets/javascripts/ace/snippets/ocaml.js +0 -0
  257. data/vendor/assets/javascripts/ace/snippets/pascal.js +0 -0
  258. data/vendor/assets/javascripts/ace/snippets/perl.js +0 -0
  259. data/vendor/assets/javascripts/ace/snippets/pgsql.js +0 -0
  260. data/vendor/assets/javascripts/ace/snippets/php.js +0 -0
  261. data/vendor/assets/javascripts/ace/snippets/plain_text.js +0 -0
  262. data/vendor/assets/javascripts/ace/snippets/powershell.js +0 -0
  263. data/vendor/assets/javascripts/ace/snippets/praat.js +0 -0
  264. data/vendor/assets/javascripts/ace/snippets/prolog.js +0 -0
  265. data/vendor/assets/javascripts/ace/snippets/properties.js +0 -0
  266. data/vendor/assets/javascripts/ace/snippets/protobuf.js +0 -0
  267. data/vendor/assets/javascripts/ace/snippets/python.js +0 -0
  268. data/vendor/assets/javascripts/ace/snippets/r.js +0 -0
  269. data/vendor/assets/javascripts/ace/snippets/razor.js +10 -0
  270. data/vendor/assets/javascripts/ace/snippets/rdoc.js +0 -0
  271. data/vendor/assets/javascripts/ace/snippets/rhtml.js +0 -0
  272. data/vendor/assets/javascripts/ace/snippets/rst.js +29 -0
  273. data/vendor/assets/javascripts/ace/snippets/ruby.js +0 -0
  274. data/vendor/assets/javascripts/ace/snippets/rust.js +0 -0
  275. data/vendor/assets/javascripts/ace/snippets/sass.js +0 -0
  276. data/vendor/assets/javascripts/ace/snippets/scad.js +0 -0
  277. data/vendor/assets/javascripts/ace/snippets/scala.js +0 -0
  278. data/vendor/assets/javascripts/ace/snippets/scheme.js +0 -0
  279. data/vendor/assets/javascripts/ace/snippets/scss.js +0 -0
  280. data/vendor/assets/javascripts/ace/snippets/sh.js +0 -0
  281. data/vendor/assets/javascripts/ace/snippets/sjs.js +0 -0
  282. data/vendor/assets/javascripts/ace/snippets/smarty.js +0 -0
  283. data/vendor/assets/javascripts/ace/snippets/snippets.js +0 -0
  284. data/vendor/assets/javascripts/ace/snippets/soy_template.js +0 -0
  285. data/vendor/assets/javascripts/ace/snippets/space.js +0 -0
  286. data/vendor/assets/javascripts/ace/snippets/sql.js +0 -0
  287. data/vendor/assets/javascripts/ace/snippets/sqlserver.js +0 -0
  288. data/vendor/assets/javascripts/ace/snippets/stylus.js +0 -0
  289. data/vendor/assets/javascripts/ace/snippets/svg.js +0 -0
  290. data/vendor/assets/javascripts/ace/snippets/swift.js +0 -0
  291. data/vendor/assets/javascripts/ace/snippets/swig.js +0 -0
  292. data/vendor/assets/javascripts/ace/snippets/tcl.js +0 -0
  293. data/vendor/assets/javascripts/ace/snippets/tex.js +0 -0
  294. data/vendor/assets/javascripts/ace/snippets/text.js +0 -0
  295. data/vendor/assets/javascripts/ace/snippets/textile.js +0 -0
  296. data/vendor/assets/javascripts/ace/snippets/toml.js +0 -0
  297. data/vendor/assets/javascripts/ace/snippets/tsx.js +7 -0
  298. data/vendor/assets/javascripts/ace/snippets/twig.js +0 -0
  299. data/vendor/assets/javascripts/ace/snippets/typescript.js +0 -0
  300. data/vendor/assets/javascripts/ace/snippets/vala.js +0 -0
  301. data/vendor/assets/javascripts/ace/snippets/vbscript.js +0 -0
  302. data/vendor/assets/javascripts/ace/snippets/velocity.js +0 -0
  303. data/vendor/assets/javascripts/ace/snippets/verilog.js +0 -0
  304. data/vendor/assets/javascripts/ace/snippets/vhdl.js +0 -0
  305. data/vendor/assets/javascripts/ace/snippets/wollok.js +91 -0
  306. data/vendor/assets/javascripts/ace/snippets/xml.js +0 -0
  307. data/vendor/assets/javascripts/ace/snippets/xquery.js +0 -0
  308. data/vendor/assets/javascripts/ace/snippets/yaml.js +0 -0
  309. data/vendor/assets/javascripts/ace/theme-ambiance.js +0 -0
  310. data/vendor/assets/javascripts/ace/theme-chaos.js +0 -0
  311. data/vendor/assets/javascripts/ace/theme-chrome.js +0 -0
  312. data/vendor/assets/javascripts/ace/theme-clouds.js +0 -0
  313. data/vendor/assets/javascripts/ace/theme-clouds_midnight.js +0 -0
  314. data/vendor/assets/javascripts/ace/theme-cobalt.js +0 -0
  315. data/vendor/assets/javascripts/ace/theme-crimson_editor.js +0 -0
  316. data/vendor/assets/javascripts/ace/theme-dawn.js +0 -0
  317. data/vendor/assets/javascripts/ace/theme-dreamweaver.js +0 -0
  318. data/vendor/assets/javascripts/ace/theme-eclipse.js +0 -0
  319. data/vendor/assets/javascripts/ace/theme-github.js +0 -0
  320. data/vendor/assets/javascripts/ace/theme-idle_fingers.js +0 -0
  321. data/vendor/assets/javascripts/ace/theme-iplastic.js +0 -0
  322. data/vendor/assets/javascripts/ace/theme-katzenmilch.js +0 -0
  323. data/vendor/assets/javascripts/ace/theme-kr_theme.js +0 -0
  324. data/vendor/assets/javascripts/ace/theme-kuroir.js +0 -0
  325. data/vendor/assets/javascripts/ace/theme-merbivore.js +0 -0
  326. data/vendor/assets/javascripts/ace/theme-merbivore_soft.js +0 -0
  327. data/vendor/assets/javascripts/ace/theme-mono_industrial.js +0 -0
  328. data/vendor/assets/javascripts/ace/theme-monokai.js +0 -0
  329. data/vendor/assets/javascripts/ace/theme-pastel_on_dark.js +0 -0
  330. data/vendor/assets/javascripts/ace/theme-solarized_dark.js +0 -0
  331. data/vendor/assets/javascripts/ace/theme-solarized_light.js +0 -0
  332. data/vendor/assets/javascripts/ace/theme-sqlserver.js +0 -0
  333. data/vendor/assets/javascripts/ace/theme-terminal.js +0 -0
  334. data/vendor/assets/javascripts/ace/theme-textmate.js +0 -0
  335. data/vendor/assets/javascripts/ace/theme-tomorrow.js +0 -0
  336. data/vendor/assets/javascripts/ace/theme-tomorrow_night.js +0 -0
  337. data/vendor/assets/javascripts/ace/theme-tomorrow_night_blue.js +0 -0
  338. data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright.js +0 -0
  339. data/vendor/assets/javascripts/ace/theme-tomorrow_night_eighties.js +0 -0
  340. data/vendor/assets/javascripts/ace/theme-twilight.js +0 -0
  341. data/vendor/assets/javascripts/ace/theme-vibrant_ink.js +0 -0
  342. data/vendor/assets/javascripts/ace/theme-xcode.js +0 -0
  343. data/vendor/assets/javascripts/ace/worker-coffee.js +5 -7
  344. data/vendor/assets/javascripts/ace/worker-css.js +20 -22
  345. data/vendor/assets/javascripts/ace/worker-html.js +5 -7
  346. data/vendor/assets/javascripts/ace/worker-javascript.js +6 -8
  347. data/vendor/assets/javascripts/ace/worker-json.js +5 -7
  348. data/vendor/assets/javascripts/ace/worker-lua.js +5 -7
  349. data/vendor/assets/javascripts/ace/worker-php.js +1399 -4118
  350. data/vendor/assets/javascripts/ace/worker-xml.js +5 -7
  351. data/vendor/assets/javascripts/ace/worker-xquery.js +17575 -8836
  352. metadata +21 -2
@@ -208,363 +208,6 @@ var MatchingBraceOutdent = function() {};
208
208
  exports.MatchingBraceOutdent = MatchingBraceOutdent;
209
209
  });
210
210
 
211
- define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(require, exports, module) {
212
- "use strict";
213
-
214
- var oop = require("../../lib/oop");
215
- var Behaviour = require("../behaviour").Behaviour;
216
- var TokenIterator = require("../../token_iterator").TokenIterator;
217
- var lang = require("../../lib/lang");
218
-
219
- var SAFE_INSERT_IN_TOKENS =
220
- ["text", "paren.rparen", "punctuation.operator"];
221
- var SAFE_INSERT_BEFORE_TOKENS =
222
- ["text", "paren.rparen", "punctuation.operator", "comment"];
223
-
224
- var context;
225
- var contextCache = {};
226
- var initContext = function(editor) {
227
- var id = -1;
228
- if (editor.multiSelect) {
229
- id = editor.selection.index;
230
- if (contextCache.rangeCount != editor.multiSelect.rangeCount)
231
- contextCache = {rangeCount: editor.multiSelect.rangeCount};
232
- }
233
- if (contextCache[id])
234
- return context = contextCache[id];
235
- context = contextCache[id] = {
236
- autoInsertedBrackets: 0,
237
- autoInsertedRow: -1,
238
- autoInsertedLineEnd: "",
239
- maybeInsertedBrackets: 0,
240
- maybeInsertedRow: -1,
241
- maybeInsertedLineStart: "",
242
- maybeInsertedLineEnd: ""
243
- };
244
- };
245
-
246
- var getWrapped = function(selection, selected, opening, closing) {
247
- var rowDiff = selection.end.row - selection.start.row;
248
- return {
249
- text: opening + selected + closing,
250
- selection: [
251
- 0,
252
- selection.start.column + 1,
253
- rowDiff,
254
- selection.end.column + (rowDiff ? 0 : 1)
255
- ]
256
- };
257
- };
258
-
259
- var CstyleBehaviour = function() {
260
- this.add("braces", "insertion", function(state, action, editor, session, text) {
261
- var cursor = editor.getCursorPosition();
262
- var line = session.doc.getLine(cursor.row);
263
- if (text == '{') {
264
- initContext(editor);
265
- var selection = editor.getSelectionRange();
266
- var selected = session.doc.getTextRange(selection);
267
- if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
268
- return getWrapped(selection, selected, '{', '}');
269
- } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
270
- if (/[\]\}\)]/.test(line[cursor.column]) || editor.inMultiSelectMode) {
271
- CstyleBehaviour.recordAutoInsert(editor, session, "}");
272
- return {
273
- text: '{}',
274
- selection: [1, 1]
275
- };
276
- } else {
277
- CstyleBehaviour.recordMaybeInsert(editor, session, "{");
278
- return {
279
- text: '{',
280
- selection: [1, 1]
281
- };
282
- }
283
- }
284
- } else if (text == '}') {
285
- initContext(editor);
286
- var rightChar = line.substring(cursor.column, cursor.column + 1);
287
- if (rightChar == '}') {
288
- var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
289
- if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
290
- CstyleBehaviour.popAutoInsertedClosing();
291
- return {
292
- text: '',
293
- selection: [1, 1]
294
- };
295
- }
296
- }
297
- } else if (text == "\n" || text == "\r\n") {
298
- initContext(editor);
299
- var closing = "";
300
- if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {
301
- closing = lang.stringRepeat("}", context.maybeInsertedBrackets);
302
- CstyleBehaviour.clearMaybeInsertedClosing();
303
- }
304
- var rightChar = line.substring(cursor.column, cursor.column + 1);
305
- if (rightChar === '}') {
306
- var openBracePos = session.findMatchingBracket({row: cursor.row, column: cursor.column+1}, '}');
307
- if (!openBracePos)
308
- return null;
309
- var next_indent = this.$getIndent(session.getLine(openBracePos.row));
310
- } else if (closing) {
311
- var next_indent = this.$getIndent(line);
312
- } else {
313
- CstyleBehaviour.clearMaybeInsertedClosing();
314
- return;
315
- }
316
- var indent = next_indent + session.getTabString();
317
-
318
- return {
319
- text: '\n' + indent + '\n' + next_indent + closing,
320
- selection: [1, indent.length, 1, indent.length]
321
- };
322
- } else {
323
- CstyleBehaviour.clearMaybeInsertedClosing();
324
- }
325
- });
326
-
327
- this.add("braces", "deletion", function(state, action, editor, session, range) {
328
- var selected = session.doc.getTextRange(range);
329
- if (!range.isMultiLine() && selected == '{') {
330
- initContext(editor);
331
- var line = session.doc.getLine(range.start.row);
332
- var rightChar = line.substring(range.end.column, range.end.column + 1);
333
- if (rightChar == '}') {
334
- range.end.column++;
335
- return range;
336
- } else {
337
- context.maybeInsertedBrackets--;
338
- }
339
- }
340
- });
341
-
342
- this.add("parens", "insertion", function(state, action, editor, session, text) {
343
- if (text == '(') {
344
- initContext(editor);
345
- var selection = editor.getSelectionRange();
346
- var selected = session.doc.getTextRange(selection);
347
- if (selected !== "" && editor.getWrapBehavioursEnabled()) {
348
- return getWrapped(selection, selected, '(', ')');
349
- } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
350
- CstyleBehaviour.recordAutoInsert(editor, session, ")");
351
- return {
352
- text: '()',
353
- selection: [1, 1]
354
- };
355
- }
356
- } else if (text == ')') {
357
- initContext(editor);
358
- var cursor = editor.getCursorPosition();
359
- var line = session.doc.getLine(cursor.row);
360
- var rightChar = line.substring(cursor.column, cursor.column + 1);
361
- if (rightChar == ')') {
362
- var matching = session.$findOpeningBracket(')', {column: cursor.column + 1, row: cursor.row});
363
- if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
364
- CstyleBehaviour.popAutoInsertedClosing();
365
- return {
366
- text: '',
367
- selection: [1, 1]
368
- };
369
- }
370
- }
371
- }
372
- });
373
-
374
- this.add("parens", "deletion", function(state, action, editor, session, range) {
375
- var selected = session.doc.getTextRange(range);
376
- if (!range.isMultiLine() && selected == '(') {
377
- initContext(editor);
378
- var line = session.doc.getLine(range.start.row);
379
- var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
380
- if (rightChar == ')') {
381
- range.end.column++;
382
- return range;
383
- }
384
- }
385
- });
386
-
387
- this.add("brackets", "insertion", function(state, action, editor, session, text) {
388
- if (text == '[') {
389
- initContext(editor);
390
- var selection = editor.getSelectionRange();
391
- var selected = session.doc.getTextRange(selection);
392
- if (selected !== "" && editor.getWrapBehavioursEnabled()) {
393
- return getWrapped(selection, selected, '[', ']');
394
- } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
395
- CstyleBehaviour.recordAutoInsert(editor, session, "]");
396
- return {
397
- text: '[]',
398
- selection: [1, 1]
399
- };
400
- }
401
- } else if (text == ']') {
402
- initContext(editor);
403
- var cursor = editor.getCursorPosition();
404
- var line = session.doc.getLine(cursor.row);
405
- var rightChar = line.substring(cursor.column, cursor.column + 1);
406
- if (rightChar == ']') {
407
- var matching = session.$findOpeningBracket(']', {column: cursor.column + 1, row: cursor.row});
408
- if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
409
- CstyleBehaviour.popAutoInsertedClosing();
410
- return {
411
- text: '',
412
- selection: [1, 1]
413
- };
414
- }
415
- }
416
- }
417
- });
418
-
419
- this.add("brackets", "deletion", function(state, action, editor, session, range) {
420
- var selected = session.doc.getTextRange(range);
421
- if (!range.isMultiLine() && selected == '[') {
422
- initContext(editor);
423
- var line = session.doc.getLine(range.start.row);
424
- var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
425
- if (rightChar == ']') {
426
- range.end.column++;
427
- return range;
428
- }
429
- }
430
- });
431
-
432
- this.add("string_dquotes", "insertion", function(state, action, editor, session, text) {
433
- if (text == '"' || text == "'") {
434
- initContext(editor);
435
- var quote = text;
436
- var selection = editor.getSelectionRange();
437
- var selected = session.doc.getTextRange(selection);
438
- if (selected !== "" && selected !== "'" && selected != '"' && editor.getWrapBehavioursEnabled()) {
439
- return getWrapped(selection, selected, quote, quote);
440
- } else if (!selected) {
441
- var cursor = editor.getCursorPosition();
442
- var line = session.doc.getLine(cursor.row);
443
- var leftChar = line.substring(cursor.column-1, cursor.column);
444
- var rightChar = line.substring(cursor.column, cursor.column + 1);
445
-
446
- var token = session.getTokenAt(cursor.row, cursor.column);
447
- var rightToken = session.getTokenAt(cursor.row, cursor.column + 1);
448
- if (leftChar == "\\" && token && /escape/.test(token.type))
449
- return null;
450
-
451
- var stringBefore = token && /string|escape/.test(token.type);
452
- var stringAfter = !rightToken || /string|escape/.test(rightToken.type);
453
-
454
- var pair;
455
- if (rightChar == quote) {
456
- pair = stringBefore !== stringAfter;
457
- } else {
458
- if (stringBefore && !stringAfter)
459
- return null; // wrap string with different quote
460
- if (stringBefore && stringAfter)
461
- return null; // do not pair quotes inside strings
462
- var wordRe = session.$mode.tokenRe;
463
- wordRe.lastIndex = 0;
464
- var isWordBefore = wordRe.test(leftChar);
465
- wordRe.lastIndex = 0;
466
- var isWordAfter = wordRe.test(leftChar);
467
- if (isWordBefore || isWordAfter)
468
- return null; // before or after alphanumeric
469
- if (rightChar && !/[\s;,.})\]\\]/.test(rightChar))
470
- return null; // there is rightChar and it isn't closing
471
- pair = true;
472
- }
473
- return {
474
- text: pair ? quote + quote : "",
475
- selection: [1,1]
476
- };
477
- }
478
- }
479
- });
480
-
481
- this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
482
- var selected = session.doc.getTextRange(range);
483
- if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
484
- initContext(editor);
485
- var line = session.doc.getLine(range.start.row);
486
- var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
487
- if (rightChar == selected) {
488
- range.end.column++;
489
- return range;
490
- }
491
- }
492
- });
493
-
494
- };
495
-
496
-
497
- CstyleBehaviour.isSaneInsertion = function(editor, session) {
498
- var cursor = editor.getCursorPosition();
499
- var iterator = new TokenIterator(session, cursor.row, cursor.column);
500
- if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
501
- var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
502
- if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
503
- return false;
504
- }
505
- iterator.stepForward();
506
- return iterator.getCurrentTokenRow() !== cursor.row ||
507
- this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
508
- };
509
-
510
- CstyleBehaviour.$matchTokenType = function(token, types) {
511
- return types.indexOf(token.type || token) > -1;
512
- };
513
-
514
- CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
515
- var cursor = editor.getCursorPosition();
516
- var line = session.doc.getLine(cursor.row);
517
- if (!this.isAutoInsertedClosing(cursor, line, context.autoInsertedLineEnd[0]))
518
- context.autoInsertedBrackets = 0;
519
- context.autoInsertedRow = cursor.row;
520
- context.autoInsertedLineEnd = bracket + line.substr(cursor.column);
521
- context.autoInsertedBrackets++;
522
- };
523
-
524
- CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
525
- var cursor = editor.getCursorPosition();
526
- var line = session.doc.getLine(cursor.row);
527
- if (!this.isMaybeInsertedClosing(cursor, line))
528
- context.maybeInsertedBrackets = 0;
529
- context.maybeInsertedRow = cursor.row;
530
- context.maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
531
- context.maybeInsertedLineEnd = line.substr(cursor.column);
532
- context.maybeInsertedBrackets++;
533
- };
534
-
535
- CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
536
- return context.autoInsertedBrackets > 0 &&
537
- cursor.row === context.autoInsertedRow &&
538
- bracket === context.autoInsertedLineEnd[0] &&
539
- line.substr(cursor.column) === context.autoInsertedLineEnd;
540
- };
541
-
542
- CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
543
- return context.maybeInsertedBrackets > 0 &&
544
- cursor.row === context.maybeInsertedRow &&
545
- line.substr(cursor.column) === context.maybeInsertedLineEnd &&
546
- line.substr(0, cursor.column) == context.maybeInsertedLineStart;
547
- };
548
-
549
- CstyleBehaviour.popAutoInsertedClosing = function() {
550
- context.autoInsertedLineEnd = context.autoInsertedLineEnd.substr(1);
551
- context.autoInsertedBrackets--;
552
- };
553
-
554
- CstyleBehaviour.clearMaybeInsertedClosing = function() {
555
- if (context) {
556
- context.maybeInsertedBrackets = 0;
557
- context.maybeInsertedRow = -1;
558
- }
559
- };
560
-
561
-
562
-
563
- oop.inherits(CstyleBehaviour, Behaviour);
564
-
565
- exports.CstyleBehaviour = CstyleBehaviour;
566
- });
567
-
568
211
  define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
569
212
  "use strict";
570
213
 
@@ -412,20 +412,20 @@ oop.inherits(FoldMode, BaseFoldMode);
412
412
 
413
413
  });
414
414
 
415
- define("ace/mode/praat",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/praat_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/folding/cstyle"], function(require, exports, module) {
415
+ define("ace/mode/praat",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/praat_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/cstyle"], function(require, exports, module) {
416
416
  "use strict";
417
417
 
418
418
  var oop = require("../lib/oop");
419
419
  var TextMode = require("./text").Mode;
420
420
  var PraatHighlightRules = require("./praat_highlight_rules").PraatHighlightRules;
421
421
  var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
422
- var Range = require("../range").Range;
423
422
  var CStyleFoldMode = require("./folding/cstyle").FoldMode;
424
423
 
425
424
  var Mode = function() {
426
425
  this.HighlightRules = PraatHighlightRules;
427
-
428
426
  this.$outdent = new MatchingBraceOutdent();
427
+ this.foldingRules = new CStyleFoldMode();
428
+ this.$behaviour = this.$defaultBehaviour;
429
429
  };
430
430
  oop.inherits(Mode, TextMode);
431
431
 
@@ -444,7 +444,7 @@ oop.inherits(Mode, TextMode);
444
444
  }
445
445
 
446
446
  if (state == "start") {
447
- var match = line.match(/^.*[\{\(\[\:]\s*$/);
447
+ var match = line.match(/^.*[\{\(\[:]\s*$/);
448
448
  if (match) {
449
449
  indent += tab;
450
450
  }
@@ -350,6 +350,7 @@ var FoldMode = require("./folding/cstyle").FoldMode;
350
350
  var Mode = function() {
351
351
  this.HighlightRules = PrologHighlightRules;
352
352
  this.foldingRules = new FoldMode();
353
+ this.$behaviour = this.$defaultBehaviour;
353
354
  };
354
355
  oop.inherits(Mode, TextMode);
355
356
 
@@ -61,6 +61,7 @@ var PropertiesHighlightRules = require("./properties_highlight_rules").Propertie
61
61
 
62
62
  var Mode = function() {
63
63
  this.HighlightRules = PropertiesHighlightRules;
64
+ this.$behaviour = this.$defaultBehaviour;
64
65
  };
65
66
  oop.inherits(Mode, TextMode);
66
67
 
@@ -93,7 +93,7 @@ var c_cppHighlightRules = function() {
93
93
  "constant.language": builtinConstants
94
94
  }, "identifier");
95
95
 
96
- var identifierRe = "[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\d\\$_\u00a1-\uffff]*\\b";
96
+ var identifierRe = "[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*\\b";
97
97
  var escapeRe = /\\(?:['"?\\abfnrtv]|[0-7]{1,3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}U[a-fA-F\d]{8}|.)/.source;
98
98
 
99
99
  this.$rules = {
@@ -114,7 +114,7 @@ var c_cppHighlightRules = function() {
114
114
  next : "comment"
115
115
  }, {
116
116
  token : "string", // character
117
- regex : "'(?:" + escapeRe + "|.)'"
117
+ regex : "'(?:" + escapeRe + "|.)?'"
118
118
  }, {
119
119
  token : "string.start",
120
120
  regex : '"',
@@ -152,10 +152,10 @@ var c_cppHighlightRules = function() {
152
152
  regex : cFunctions
153
153
  }, {
154
154
  token : keywordMapper,
155
- regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
155
+ regex : "[a-zA-Z_$][a-zA-Z0-9_$]*"
156
156
  }, {
157
157
  token : "keyword.operator",
158
- regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|==|=|!=|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|new|delete|typeof|void)"
158
+ regex : /--|\+\+|<<=|>>=|>>>=|<>|&&|\|\||\?:|[*%\/+\-&\^|~!<>=]=?/
159
159
  }, {
160
160
  token : "punctuation.operator",
161
161
  regex : "\\?|\\:|\\,|\\;|\\."
@@ -275,363 +275,6 @@ var MatchingBraceOutdent = function() {};
275
275
  exports.MatchingBraceOutdent = MatchingBraceOutdent;
276
276
  });
277
277
 
278
- define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(require, exports, module) {
279
- "use strict";
280
-
281
- var oop = require("../../lib/oop");
282
- var Behaviour = require("../behaviour").Behaviour;
283
- var TokenIterator = require("../../token_iterator").TokenIterator;
284
- var lang = require("../../lib/lang");
285
-
286
- var SAFE_INSERT_IN_TOKENS =
287
- ["text", "paren.rparen", "punctuation.operator"];
288
- var SAFE_INSERT_BEFORE_TOKENS =
289
- ["text", "paren.rparen", "punctuation.operator", "comment"];
290
-
291
- var context;
292
- var contextCache = {};
293
- var initContext = function(editor) {
294
- var id = -1;
295
- if (editor.multiSelect) {
296
- id = editor.selection.index;
297
- if (contextCache.rangeCount != editor.multiSelect.rangeCount)
298
- contextCache = {rangeCount: editor.multiSelect.rangeCount};
299
- }
300
- if (contextCache[id])
301
- return context = contextCache[id];
302
- context = contextCache[id] = {
303
- autoInsertedBrackets: 0,
304
- autoInsertedRow: -1,
305
- autoInsertedLineEnd: "",
306
- maybeInsertedBrackets: 0,
307
- maybeInsertedRow: -1,
308
- maybeInsertedLineStart: "",
309
- maybeInsertedLineEnd: ""
310
- };
311
- };
312
-
313
- var getWrapped = function(selection, selected, opening, closing) {
314
- var rowDiff = selection.end.row - selection.start.row;
315
- return {
316
- text: opening + selected + closing,
317
- selection: [
318
- 0,
319
- selection.start.column + 1,
320
- rowDiff,
321
- selection.end.column + (rowDiff ? 0 : 1)
322
- ]
323
- };
324
- };
325
-
326
- var CstyleBehaviour = function() {
327
- this.add("braces", "insertion", function(state, action, editor, session, text) {
328
- var cursor = editor.getCursorPosition();
329
- var line = session.doc.getLine(cursor.row);
330
- if (text == '{') {
331
- initContext(editor);
332
- var selection = editor.getSelectionRange();
333
- var selected = session.doc.getTextRange(selection);
334
- if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
335
- return getWrapped(selection, selected, '{', '}');
336
- } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
337
- if (/[\]\}\)]/.test(line[cursor.column]) || editor.inMultiSelectMode) {
338
- CstyleBehaviour.recordAutoInsert(editor, session, "}");
339
- return {
340
- text: '{}',
341
- selection: [1, 1]
342
- };
343
- } else {
344
- CstyleBehaviour.recordMaybeInsert(editor, session, "{");
345
- return {
346
- text: '{',
347
- selection: [1, 1]
348
- };
349
- }
350
- }
351
- } else if (text == '}') {
352
- initContext(editor);
353
- var rightChar = line.substring(cursor.column, cursor.column + 1);
354
- if (rightChar == '}') {
355
- var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
356
- if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
357
- CstyleBehaviour.popAutoInsertedClosing();
358
- return {
359
- text: '',
360
- selection: [1, 1]
361
- };
362
- }
363
- }
364
- } else if (text == "\n" || text == "\r\n") {
365
- initContext(editor);
366
- var closing = "";
367
- if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {
368
- closing = lang.stringRepeat("}", context.maybeInsertedBrackets);
369
- CstyleBehaviour.clearMaybeInsertedClosing();
370
- }
371
- var rightChar = line.substring(cursor.column, cursor.column + 1);
372
- if (rightChar === '}') {
373
- var openBracePos = session.findMatchingBracket({row: cursor.row, column: cursor.column+1}, '}');
374
- if (!openBracePos)
375
- return null;
376
- var next_indent = this.$getIndent(session.getLine(openBracePos.row));
377
- } else if (closing) {
378
- var next_indent = this.$getIndent(line);
379
- } else {
380
- CstyleBehaviour.clearMaybeInsertedClosing();
381
- return;
382
- }
383
- var indent = next_indent + session.getTabString();
384
-
385
- return {
386
- text: '\n' + indent + '\n' + next_indent + closing,
387
- selection: [1, indent.length, 1, indent.length]
388
- };
389
- } else {
390
- CstyleBehaviour.clearMaybeInsertedClosing();
391
- }
392
- });
393
-
394
- this.add("braces", "deletion", function(state, action, editor, session, range) {
395
- var selected = session.doc.getTextRange(range);
396
- if (!range.isMultiLine() && selected == '{') {
397
- initContext(editor);
398
- var line = session.doc.getLine(range.start.row);
399
- var rightChar = line.substring(range.end.column, range.end.column + 1);
400
- if (rightChar == '}') {
401
- range.end.column++;
402
- return range;
403
- } else {
404
- context.maybeInsertedBrackets--;
405
- }
406
- }
407
- });
408
-
409
- this.add("parens", "insertion", function(state, action, editor, session, text) {
410
- if (text == '(') {
411
- initContext(editor);
412
- var selection = editor.getSelectionRange();
413
- var selected = session.doc.getTextRange(selection);
414
- if (selected !== "" && editor.getWrapBehavioursEnabled()) {
415
- return getWrapped(selection, selected, '(', ')');
416
- } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
417
- CstyleBehaviour.recordAutoInsert(editor, session, ")");
418
- return {
419
- text: '()',
420
- selection: [1, 1]
421
- };
422
- }
423
- } else if (text == ')') {
424
- initContext(editor);
425
- var cursor = editor.getCursorPosition();
426
- var line = session.doc.getLine(cursor.row);
427
- var rightChar = line.substring(cursor.column, cursor.column + 1);
428
- if (rightChar == ')') {
429
- var matching = session.$findOpeningBracket(')', {column: cursor.column + 1, row: cursor.row});
430
- if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
431
- CstyleBehaviour.popAutoInsertedClosing();
432
- return {
433
- text: '',
434
- selection: [1, 1]
435
- };
436
- }
437
- }
438
- }
439
- });
440
-
441
- this.add("parens", "deletion", function(state, action, editor, session, range) {
442
- var selected = session.doc.getTextRange(range);
443
- if (!range.isMultiLine() && selected == '(') {
444
- initContext(editor);
445
- var line = session.doc.getLine(range.start.row);
446
- var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
447
- if (rightChar == ')') {
448
- range.end.column++;
449
- return range;
450
- }
451
- }
452
- });
453
-
454
- this.add("brackets", "insertion", function(state, action, editor, session, text) {
455
- if (text == '[') {
456
- initContext(editor);
457
- var selection = editor.getSelectionRange();
458
- var selected = session.doc.getTextRange(selection);
459
- if (selected !== "" && editor.getWrapBehavioursEnabled()) {
460
- return getWrapped(selection, selected, '[', ']');
461
- } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
462
- CstyleBehaviour.recordAutoInsert(editor, session, "]");
463
- return {
464
- text: '[]',
465
- selection: [1, 1]
466
- };
467
- }
468
- } else if (text == ']') {
469
- initContext(editor);
470
- var cursor = editor.getCursorPosition();
471
- var line = session.doc.getLine(cursor.row);
472
- var rightChar = line.substring(cursor.column, cursor.column + 1);
473
- if (rightChar == ']') {
474
- var matching = session.$findOpeningBracket(']', {column: cursor.column + 1, row: cursor.row});
475
- if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
476
- CstyleBehaviour.popAutoInsertedClosing();
477
- return {
478
- text: '',
479
- selection: [1, 1]
480
- };
481
- }
482
- }
483
- }
484
- });
485
-
486
- this.add("brackets", "deletion", function(state, action, editor, session, range) {
487
- var selected = session.doc.getTextRange(range);
488
- if (!range.isMultiLine() && selected == '[') {
489
- initContext(editor);
490
- var line = session.doc.getLine(range.start.row);
491
- var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
492
- if (rightChar == ']') {
493
- range.end.column++;
494
- return range;
495
- }
496
- }
497
- });
498
-
499
- this.add("string_dquotes", "insertion", function(state, action, editor, session, text) {
500
- if (text == '"' || text == "'") {
501
- initContext(editor);
502
- var quote = text;
503
- var selection = editor.getSelectionRange();
504
- var selected = session.doc.getTextRange(selection);
505
- if (selected !== "" && selected !== "'" && selected != '"' && editor.getWrapBehavioursEnabled()) {
506
- return getWrapped(selection, selected, quote, quote);
507
- } else if (!selected) {
508
- var cursor = editor.getCursorPosition();
509
- var line = session.doc.getLine(cursor.row);
510
- var leftChar = line.substring(cursor.column-1, cursor.column);
511
- var rightChar = line.substring(cursor.column, cursor.column + 1);
512
-
513
- var token = session.getTokenAt(cursor.row, cursor.column);
514
- var rightToken = session.getTokenAt(cursor.row, cursor.column + 1);
515
- if (leftChar == "\\" && token && /escape/.test(token.type))
516
- return null;
517
-
518
- var stringBefore = token && /string|escape/.test(token.type);
519
- var stringAfter = !rightToken || /string|escape/.test(rightToken.type);
520
-
521
- var pair;
522
- if (rightChar == quote) {
523
- pair = stringBefore !== stringAfter;
524
- } else {
525
- if (stringBefore && !stringAfter)
526
- return null; // wrap string with different quote
527
- if (stringBefore && stringAfter)
528
- return null; // do not pair quotes inside strings
529
- var wordRe = session.$mode.tokenRe;
530
- wordRe.lastIndex = 0;
531
- var isWordBefore = wordRe.test(leftChar);
532
- wordRe.lastIndex = 0;
533
- var isWordAfter = wordRe.test(leftChar);
534
- if (isWordBefore || isWordAfter)
535
- return null; // before or after alphanumeric
536
- if (rightChar && !/[\s;,.})\]\\]/.test(rightChar))
537
- return null; // there is rightChar and it isn't closing
538
- pair = true;
539
- }
540
- return {
541
- text: pair ? quote + quote : "",
542
- selection: [1,1]
543
- };
544
- }
545
- }
546
- });
547
-
548
- this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
549
- var selected = session.doc.getTextRange(range);
550
- if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
551
- initContext(editor);
552
- var line = session.doc.getLine(range.start.row);
553
- var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
554
- if (rightChar == selected) {
555
- range.end.column++;
556
- return range;
557
- }
558
- }
559
- });
560
-
561
- };
562
-
563
-
564
- CstyleBehaviour.isSaneInsertion = function(editor, session) {
565
- var cursor = editor.getCursorPosition();
566
- var iterator = new TokenIterator(session, cursor.row, cursor.column);
567
- if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
568
- var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
569
- if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
570
- return false;
571
- }
572
- iterator.stepForward();
573
- return iterator.getCurrentTokenRow() !== cursor.row ||
574
- this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
575
- };
576
-
577
- CstyleBehaviour.$matchTokenType = function(token, types) {
578
- return types.indexOf(token.type || token) > -1;
579
- };
580
-
581
- CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
582
- var cursor = editor.getCursorPosition();
583
- var line = session.doc.getLine(cursor.row);
584
- if (!this.isAutoInsertedClosing(cursor, line, context.autoInsertedLineEnd[0]))
585
- context.autoInsertedBrackets = 0;
586
- context.autoInsertedRow = cursor.row;
587
- context.autoInsertedLineEnd = bracket + line.substr(cursor.column);
588
- context.autoInsertedBrackets++;
589
- };
590
-
591
- CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
592
- var cursor = editor.getCursorPosition();
593
- var line = session.doc.getLine(cursor.row);
594
- if (!this.isMaybeInsertedClosing(cursor, line))
595
- context.maybeInsertedBrackets = 0;
596
- context.maybeInsertedRow = cursor.row;
597
- context.maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
598
- context.maybeInsertedLineEnd = line.substr(cursor.column);
599
- context.maybeInsertedBrackets++;
600
- };
601
-
602
- CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
603
- return context.autoInsertedBrackets > 0 &&
604
- cursor.row === context.autoInsertedRow &&
605
- bracket === context.autoInsertedLineEnd[0] &&
606
- line.substr(cursor.column) === context.autoInsertedLineEnd;
607
- };
608
-
609
- CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
610
- return context.maybeInsertedBrackets > 0 &&
611
- cursor.row === context.maybeInsertedRow &&
612
- line.substr(cursor.column) === context.maybeInsertedLineEnd &&
613
- line.substr(0, cursor.column) == context.maybeInsertedLineStart;
614
- };
615
-
616
- CstyleBehaviour.popAutoInsertedClosing = function() {
617
- context.autoInsertedLineEnd = context.autoInsertedLineEnd.substr(1);
618
- context.autoInsertedBrackets--;
619
- };
620
-
621
- CstyleBehaviour.clearMaybeInsertedClosing = function() {
622
- if (context) {
623
- context.maybeInsertedBrackets = 0;
624
- context.maybeInsertedRow = -1;
625
- }
626
- };
627
-
628
-
629
-
630
- oop.inherits(CstyleBehaviour, Behaviour);
631
-
632
- exports.CstyleBehaviour = CstyleBehaviour;
633
- });
634
-
635
278
  define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
636
279
  "use strict";
637
280