gollum 3.1.2 → 3.1.3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of gollum might be problematic. Click here for more details.

Files changed (911) hide show
  1. checksums.yaml +13 -5
  2. data/README.md +4 -5
  3. data/gollum.gemspec +560 -28
  4. data/lib/gollum.rb +1 -1
  5. data/lib/gollum/app.rb +16 -10
  6. data/lib/gollum/public/gollum/javascript/editor/gollum.editor.js +1 -1
  7. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ace.js +33 -11
  8. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/anchor.js +77 -80
  9. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/anchor_test.js +46 -0
  10. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/autocomplete.js +497 -0
  11. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/autocomplete/popup.js +341 -0
  12. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/autocomplete/text_completer.js +78 -0
  13. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/autocomplete/util.js +74 -0
  14. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/background_tokenizer.js +28 -32
  15. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/background_tokenizer_test.js +5 -5
  16. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/commands/command_manager.js +17 -20
  17. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/commands/command_manager_test.js +1 -1
  18. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/commands/default_commands.js +312 -58
  19. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/commands/incremental_search_commands.js +232 -0
  20. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/commands/multi_select_commands.js +17 -1
  21. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/commands/occur_commands.js +110 -0
  22. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/config.js +70 -7
  23. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/config_test.js +67 -3
  24. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/css/editor.css +123 -69
  25. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/document.js +118 -71
  26. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/edit_session.js +507 -392
  27. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/edit_session/bracket_match.js +4 -2
  28. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/edit_session/fold.js +37 -5
  29. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/edit_session/fold_line.js +30 -29
  30. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/edit_session/folding.js +210 -102
  31. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/edit_session_test.js +82 -8
  32. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/editor.js +1006 -465
  33. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/editor_highlight_selected_word_test.js +2 -2
  34. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/editor_text_edit_test.js +36 -34
  35. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/beautify.js +57 -0
  36. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/beautify/php_rules.js +366 -0
  37. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/chromevox.js +980 -0
  38. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/elastic_tabstops_lite.js +319 -0
  39. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/emmet.js +434 -0
  40. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/error_marker.js +214 -0
  41. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/keybinding_menu.js +86 -0
  42. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/language_tools.js +226 -0
  43. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/linking.js +78 -0
  44. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/menu_tools/add_editor_menu_options.js +109 -0
  45. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/menu_tools/element_generator.js +148 -0
  46. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/menu_tools/generate_settings_menu.js +264 -0
  47. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/menu_tools/get_editor_keyboard_shortcuts.js +91 -0
  48. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/menu_tools/get_set_functions.js +141 -0
  49. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/menu_tools/overlay_page.js +116 -0
  50. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/menu_tools/settings_menu.css +48 -0
  51. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/modelist.js +195 -0
  52. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/old_ie.js +114 -0
  53. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/old_ie_test.js +77 -0
  54. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/searchbox.css +153 -0
  55. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/searchbox.js +308 -0
  56. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/settings_menu.js +76 -0
  57. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/spellcheck.js +69 -0
  58. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/{keyboard/vim/registers.js → ext/split.js} +8 -10
  59. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/static.css +18 -9
  60. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/static_highlight.js +128 -26
  61. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/static_highlight_test.js +56 -36
  62. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/statusbar.js +48 -0
  63. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/textarea.js +112 -117
  64. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/themelist.js +100 -0
  65. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/whitespace.js +213 -0
  66. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/ext/whitespace_test.js +116 -0
  67. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/incremental_search.js +317 -0
  68. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/incremental_search_test.js +213 -0
  69. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/keyboard/emacs.js +369 -92
  70. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/keyboard/emacs_test.js +151 -0
  71. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/keyboard/hash_handler.js +109 -41
  72. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/keyboard/keybinding.js +35 -24
  73. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/keyboard/keybinding_test.js +69 -0
  74. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/keyboard/state_handler.js +1 -2
  75. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/keyboard/textarea.js +82 -0
  76. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/keyboard/textinput.js +337 -208
  77. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/keyboard/vim.js +5987 -120
  78. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/keyboard/vim_test.js +3866 -0
  79. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/layer/cursor.js +48 -25
  80. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/layer/font_metrics.js +176 -0
  81. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/layer/gutter.js +110 -44
  82. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/layer/marker.js +29 -14
  83. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/layer/text.js +69 -150
  84. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/layer/text_test.js +11 -10
  85. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/lib/app_config.js +157 -0
  86. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/lib/dom.js +33 -31
  87. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/lib/es5-shim.js +284 -304
  88. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/lib/event.js +147 -95
  89. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/lib/event_emitter.js +64 -23
  90. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/lib/keys.js +35 -9
  91. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/lib/lang.js +30 -13
  92. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/lib/net.js +21 -39
  93. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/lib/oop.js +12 -9
  94. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/lib/useragent.js +8 -4
  95. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/line_widgets.js +297 -0
  96. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/Readme.md +9 -0
  97. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/highlight_rules_test.js +210 -0
  98. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/text_asciidoc.txt +111 -0
  99. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/text_coffee.txt +57 -0
  100. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/text_curly.txt +9 -0
  101. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/text_html.txt +10 -0
  102. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/text_javascript.txt +34 -0
  103. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/text_livescript.txt +1 -0
  104. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/text_lucene.txt +16 -0
  105. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/text_markdown.txt +22 -0
  106. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/text_php.txt +24 -0
  107. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/text_ruby.txt +34 -0
  108. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/text_xml.txt +7 -0
  109. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_abap.json +189 -0
  110. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_abc.json +2207 -0
  111. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_actionscript.json +263 -0
  112. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_ada.json +39 -0
  113. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_asciidoc.json +422 -0
  114. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_assembly_x86.json +114 -0
  115. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_autohotkey.json +261 -0
  116. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_batchfile.json +70 -0
  117. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_c9search.json +131 -175
  118. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_c_cpp.json +190 -124
  119. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_cirru.json +267 -0
  120. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_clojure.json +162 -248
  121. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_cobol.json +4 -0
  122. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_coffee.json +545 -188
  123. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_coldfusion.json +26 -41
  124. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_csharp.json +31 -42
  125. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_css.json +148 -231
  126. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_curly.json +56 -0
  127. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_d.json +111 -0
  128. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_dart.json +368 -0
  129. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_diff.json +262 -732
  130. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_dot.json +2254 -0
  131. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_eiffel.json +141 -0
  132. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_ejs.json +296 -0
  133. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_elixir.json +196 -0
  134. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_elm.json +198 -0
  135. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_erlang.json +166 -0
  136. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_forth.json +219 -0
  137. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_ftl.json +341 -0
  138. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_gcode.json +296 -0
  139. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_gherkin.json +142 -0
  140. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_gitignore.json +33 -0
  141. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_glsl.json +127 -185
  142. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_golang.json +256 -362
  143. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_groovy.json +410 -529
  144. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_haml.json +174 -0
  145. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_handlebars.json +81 -0
  146. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_haskell.json +156 -0
  147. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_haxe.json +143 -195
  148. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_html.json +63 -150
  149. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_html_ruby.json +257 -0
  150. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_ini.json +23 -0
  151. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_io.json +49 -0
  152. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_jack.json +1786 -0
  153. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_jade.json +188 -0
  154. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_java.json +95 -139
  155. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_javascript.json +593 -555
  156. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_json.json +412 -611
  157. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_jsoniq.json +4 -0
  158. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_jsp.json +435 -0
  159. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_jsx.json +51 -79
  160. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_julia.json +111 -0
  161. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_latex.json +127 -196
  162. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_less.json +204 -292
  163. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_liquid.json +551 -698
  164. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_lisp.json +248 -0
  165. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_livescript.json +6 -0
  166. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_logiql.json +190 -0
  167. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_lsl.json +503 -0
  168. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_lua.json +348 -451
  169. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_luapage.json +633 -824
  170. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_lucene.json +92 -0
  171. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_markdown.json +114 -1202
  172. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_mask.json +302 -0
  173. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_matlab.json +90 -0
  174. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_mel.json +257 -0
  175. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_mushcode.json +790 -0
  176. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_mysql.json +4 -0
  177. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_nix.json +360 -0
  178. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_objectivec.json +793 -0
  179. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_ocaml.json +200 -260
  180. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_pascal.json +297 -0
  181. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_perl.json +227 -311
  182. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_pgsql.json +889 -1020
  183. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_php.json +171 -238
  184. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_powershell.json +184 -255
  185. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_prolog.json +245 -0
  186. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_properties.json +68 -0
  187. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_protobuf.json +136 -0
  188. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_python.json +152 -205
  189. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_r.json +235 -0
  190. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_rdoc.json +441 -0
  191. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_rhtml.json +106 -0
  192. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_ruby.json +242 -104
  193. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_rust.json +136 -0
  194. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_sass.json +229 -0
  195. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_scad.json +194 -267
  196. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_scala.json +542 -748
  197. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_scheme.json +216 -0
  198. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_scss.json +123 -181
  199. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_sh.json +334 -434
  200. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_sjs.json +276 -0
  201. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_smarty.json +98 -0
  202. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_snippets.json +159 -0
  203. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_soy_template.json +286 -0
  204. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_space.json +322 -0
  205. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_sql.json +54 -73
  206. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_stylus.json +271 -0
  207. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_svg.json +684 -931
  208. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_tcl.json +385 -536
  209. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_tex.json +130 -0
  210. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_text.json +29 -58
  211. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_textile.json +113 -195
  212. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_toml.json +131 -0
  213. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_twig.json +288 -0
  214. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_typescript.json +559 -0
  215. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_vala.json +158 -0
  216. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_vbscript.json +205 -0
  217. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_velocity.json +285 -0
  218. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_verilog.json +113 -0
  219. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_vhdl.json +271 -0
  220. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_xml.json +43 -705
  221. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_xquery.json +44 -64
  222. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/tokens_yaml.json +150 -260
  223. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/abap.js +2 -2
  224. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/abap_highlight_rules.js +7 -6
  225. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/abc.js +58 -0
  226. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/abc_highlight_rules.js +114 -0
  227. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/actionscript.js +58 -0
  228. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/actionscript_highlight_rules.js +141 -0
  229. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/ada.js +54 -0
  230. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/ada_highlight_rules.js +93 -0
  231. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/apache_conf.js +62 -0
  232. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/apache_conf_highlight_rules.js +231 -0
  233. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/applescript.js +55 -0
  234. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/applescript_highlight_rules.js +139 -0
  235. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/asciidoc.js +3 -3
  236. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/asciidoc_highlight_rules.js +11 -11
  237. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/assembly_x86.js +56 -0
  238. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/assembly_x86_highlight_rules.js +114 -0
  239. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/autohotkey.js +57 -0
  240. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/autohotkey_highlight_rules.js +107 -0
  241. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/batchfile.js +61 -0
  242. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/batchfile_highlight_rules.js +97 -0
  243. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/behaviour/behaviour_test.js +139 -0
  244. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/behaviour/css.js +108 -0
  245. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/behaviour/cstyle.js +164 -137
  246. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/behaviour/html.js +4 -48
  247. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/behaviour/xml.js +141 -44
  248. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/behaviour/xquery.js +76 -52
  249. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/c9search.js +2 -2
  250. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/c9search_highlight_rules.js +127 -4
  251. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/c_cpp.js +7 -30
  252. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/c_cpp_highlight_rules.js +60 -51
  253. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/cirru.js +51 -0
  254. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/cirru_highlight_rules.js +125 -0
  255. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/clojure.js +62 -46
  256. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/clojure_highlight_rules.js +4 -21
  257. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/cobol.js +53 -0
  258. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/cobol_highlight_rules.js +100 -0
  259. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/coffee.js +28 -7
  260. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/coffee/coffee-script.js +13 -7
  261. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/coffee/helpers.js +160 -4
  262. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/coffee/lexer.js +228 -108
  263. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/coffee/nodes.js +778 -670
  264. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/coffee/parser.js +377 -347
  265. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/coffee/parser_test.js +33 -6
  266. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/coffee/rewriter.js +275 -135
  267. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/coffee/scope.js +5 -4
  268. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/coffee_highlight_rules.js +72 -167
  269. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/coffee_worker.js +12 -24
  270. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/coldfusion.js +11 -14
  271. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/coldfusion_highlight_rules.js +5 -84
  272. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/coldfusion_test.js +3 -3
  273. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/csharp.js +7 -4
  274. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/csharp_highlight_rules.js +13 -10
  275. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/css.js +7 -6
  276. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/css/csslint.js +2325 -1216
  277. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/css_highlight_rules.js +72 -102
  278. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/css_test.js +2 -2
  279. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/css_worker.js +11 -5
  280. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/curly.js +63 -0
  281. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/curly_highlight_rules.js +66 -0
  282. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/d.js +56 -0
  283. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/d_highlight_rules.js +334 -0
  284. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/dart.js +8 -8
  285. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/dart_highlight_rules.js +70 -76
  286. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/diff.js +2 -2
  287. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/diff_highlight_rules.js +24 -18
  288. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/django.js +119 -0
  289. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/doc_comment_highlight_rules.js +12 -19
  290. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/dockerfile.js +52 -0
  291. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/dockerfile_highlight_rules.js +57 -0
  292. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/dot.js +55 -0
  293. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/dot_highlight_rules.js +126 -0
  294. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/eiffel.js +52 -0
  295. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/eiffel_highlight_rules.js +136 -0
  296. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/ejs.js +109 -0
  297. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/elixir.js +58 -0
  298. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/elixir_highlight_rules.js +433 -0
  299. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/elm.js +58 -0
  300. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/elm_highlight_rules.js +162 -0
  301. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/erlang.js +57 -0
  302. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/erlang_highlight_rules.js +876 -0
  303. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/folding/c9search.js +12 -6
  304. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/folding/csharp.js +137 -0
  305. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/folding/cstyle.js +118 -6
  306. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/folding/cstyle_test.js +24 -0
  307. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/folding/fold_mode.js +1 -1
  308. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/folding/html.js +2 -33
  309. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/folding/html_test.js +30 -6
  310. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/folding/ini.js +80 -0
  311. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/folding/latex.js +9 -9
  312. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/folding/lua.js +4 -4
  313. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/folding/mixed.js +2 -0
  314. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/folding/velocity.js +120 -0
  315. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/folding/xml.js +110 -87
  316. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/forth.js +58 -0
  317. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/forth_highlight_rules.js +164 -0
  318. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/ftl.js +49 -0
  319. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/ftl_highlight_rules.js +195 -0
  320. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/gcode.js +51 -0
  321. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/gcode_highlight_rules.js +94 -0
  322. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/gherkin.js +80 -0
  323. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/gherkin_highlight_rules.js +113 -0
  324. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/gitignore.js +20 -0
  325. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/gitignore_highlight_rules.js +31 -0
  326. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/glsl.js +6 -2
  327. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/golang.js +42 -67
  328. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/golang_highlight_rules.js +25 -39
  329. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/groovy.js +2 -2
  330. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/groovy_highlight_rules.js +0 -2
  331. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/haml.js +5 -6
  332. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/haml_highlight_rules.js +43 -43
  333. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/handlebars.js +29 -0
  334. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/handlebars_highlight_rules.js +72 -0
  335. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/haskell.js +62 -0
  336. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/haskell_highlight_rules.js +246 -0
  337. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/haxe.js +7 -4
  338. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/haxe_highlight_rules.js +0 -2
  339. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/html.js +42 -12
  340. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/html/saxparser.js +10430 -0
  341. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/html_completions.js +305 -0
  342. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/html_highlight_rules.js +43 -85
  343. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/html_ruby.js +59 -0
  344. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/html_ruby_highlight_rules.js +84 -0
  345. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/html_test.js +3 -3
  346. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/{lib/browser_focus.js → mode/html_worker.js} +48 -51
  347. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/ini.js +53 -0
  348. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/ini_highlight_rules.js +112 -0
  349. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/io.js +58 -0
  350. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/io_highlight_rules.js +120 -0
  351. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/jack.js +79 -0
  352. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/jack_highlight_rules.js +142 -0
  353. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/jade.js +4 -5
  354. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/jade_highlight_rules.js +94 -100
  355. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/java.js +2 -3
  356. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/java_highlight_rules.js +0 -5
  357. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/javascript.js +15 -40
  358. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/javascript/jshint.js +10824 -4816
  359. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/javascript_highlight_rules.js +113 -97
  360. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/javascript_test.js +61 -6
  361. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/javascript_worker.js +5 -7
  362. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/javascript_worker_test.js +11 -2
  363. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/js_regex_highlight_rules.js +94 -0
  364. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/json.js +5 -5
  365. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/json_highlight_rules.js +3 -6
  366. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/json_worker.js +6 -35
  367. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/json_worker_test.js +12 -11
  368. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/jsoniq.js +203 -0
  369. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/jsp.js +2 -3
  370. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/jsp_highlight_rules.js +36 -30
  371. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/jsx.js +26 -23
  372. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/jsx_highlight_rules.js +113 -115
  373. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/julia.js +62 -0
  374. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/julia_highlight_rules.js +170 -0
  375. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/latex.js +5 -37
  376. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/latex_highlight_rules.js +44 -9
  377. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/less.js +8 -3
  378. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/less_highlight_rules.js +2 -2
  379. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/liquid.js +4 -31
  380. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/liquid_highlight_rules.js +15 -89
  381. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/lisp.js +5 -9
  382. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/lisp_highlight_rules.js +25 -28
  383. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/livescript.js +246 -0
  384. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/logiql.js +139 -0
  385. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/logiql_highlight_rules.js +119 -0
  386. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/logiql_test.js +98 -0
  387. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/lsl.js +92 -0
  388. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/lsl_highlight_rules.js +123 -0
  389. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/lua.js +27 -6
  390. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/lua/luaparse.js +1989 -0
  391. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/lua_highlight_rules.js +55 -272
  392. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/lua_worker.js +70 -0
  393. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/luapage.js +6 -4
  394. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/luapage_highlight_rules.js +21 -14
  395. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/lucene.js +5 -2
  396. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/makefile.js +6 -10
  397. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/makefile_highlight_rules.js +22 -22
  398. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/markdown.js +12 -11
  399. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/markdown_highlight_rules.js +130 -89
  400. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/mask.js +84 -0
  401. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/mask_highlight_rules.js +309 -0
  402. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/matching_brace_outdent.js +1 -6
  403. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/matlab.js +55 -0
  404. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/matlab_highlight_rules.js +262 -0
  405. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/mel.js +56 -0
  406. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/mel_highlight_rules.js +133 -0
  407. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/mushcode.js +116 -0
  408. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/mushcode_highlight_rules.js +569 -0
  409. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/mysql.js +51 -0
  410. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/mysql_highlight_rules.js +122 -0
  411. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/nix.js +62 -0
  412. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/nix_highlight_rules.js +119 -0
  413. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/objectivec.js +4 -5
  414. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/objectivec_highlight_rules.js +137 -149
  415. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/ocaml.js +4 -3
  416. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/ocaml_highlight_rules.js +0 -4
  417. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/pascal.js +67 -0
  418. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/pascal_highlight_rules.js +127 -0
  419. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/perl.js +10 -30
  420. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/perl_highlight_rules.js +17 -7
  421. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/pgsql.js +23 -51
  422. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/pgsql_highlight_rules.js +334 -302
  423. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/php.js +59 -38
  424. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/php/php.js +5031 -0
  425. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/php_highlight_rules.js +72 -52
  426. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/php_test.js +65 -0
  427. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/php_worker.js +77 -0
  428. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/plain_text.js +55 -0
  429. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/{keyboard/vim/maps/aliases.js → mode/plain_text_test.js} +21 -59
  430. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/powershell.js +7 -4
  431. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/powershell_highlight_rules.js +0 -3
  432. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/{xquery/JSONParseTreeHandler.js → praat.js} +45 -53
  433. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/praat_highlight_rules.js +262 -0
  434. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/prolog.js +62 -0
  435. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/prolog_highlight_rules.js +238 -0
  436. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/properties.js +48 -0
  437. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/properties_highlight_rules.js +86 -0
  438. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/protobuf.js +63 -0
  439. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/protobuf_highlight_rules.js +66 -0
  440. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/python.js +5 -31
  441. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/python_highlight_rules.js +50 -24
  442. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/r.js +37 -18
  443. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/r_highlight_rules.js +29 -11
  444. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/rdoc.js +36 -11
  445. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/rdoc_highlight_rules.js +27 -7
  446. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/rhtml.js +31 -11
  447. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/rhtml_highlight_rules.js +31 -14
  448. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/ruby.js +26 -36
  449. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/ruby_highlight_rules.js +153 -33
  450. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/{css_highlight_rules_test.js → ruby_test.js} +24 -39
  451. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/rust.js +58 -0
  452. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/rust_highlight_rules.js +158 -0
  453. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/sass.js +52 -0
  454. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/sass_highlight_rules.js +79 -0
  455. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/scad.js +5 -30
  456. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/scad_highlight_rules.js +0 -4
  457. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/scala.js +2 -2
  458. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/scala_highlight_rules.js +1 -6
  459. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/scheme.js +56 -0
  460. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/scheme_highlight_rules.js +123 -0
  461. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/scss.js +9 -4
  462. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/scss_highlight_rules.js +7 -8
  463. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/sh.js +10 -31
  464. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/sh_highlight_rules.js +85 -11
  465. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/sjs.js +56 -0
  466. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/sjs_highlight_rules.js +233 -0
  467. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/smarty.js +51 -0
  468. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/smarty_highlight_rules.js +139 -0
  469. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/snippets.js +113 -0
  470. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/soy_template.js +60 -0
  471. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/soy_template_highlight_rules.js +356 -0
  472. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/space.js +21 -0
  473. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/space_highlight_rules.js +56 -0
  474. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/sql.js +3 -30
  475. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/sql_highlight_rules.js +6 -1
  476. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/stylus.js +5 -5
  477. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/stylus_highlight_rules.js +32 -42
  478. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/svg.js +3 -5
  479. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/svg_highlight_rules.js +3 -18
  480. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/tcl.js +4 -30
  481. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/tcl_highlight_rules.js +5 -13
  482. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/tex.js +30 -10
  483. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/tex_highlight_rules.js +27 -7
  484. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/text.js +266 -29
  485. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/text_highlight_rules.js +129 -15
  486. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/text_test.js +2 -2
  487. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/textile.js +3 -2
  488. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/toml.js +56 -0
  489. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/toml_highlight_rules.js +103 -0
  490. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/twig.js +81 -0
  491. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/twig_highlight_rules.js +166 -0
  492. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/typescript.js +2 -8
  493. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/typescript_highlight_rules.js +16 -16
  494. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/vala.js +105 -0
  495. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/vala_highlight_rules.js +457 -0
  496. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/vbscript.js +60 -0
  497. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/vbscript_highlight_rules.js +246 -0
  498. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/velocity.js +58 -0
  499. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/velocity_highlight_rules.js +177 -0
  500. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/verilog.js +54 -0
  501. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/verilog_highlight_rules.js +101 -0
  502. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/vhdl.js +52 -0
  503. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/vhdl_highlight_rules.js +115 -0
  504. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/xml.js +25 -8
  505. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/xml/dom-parser.js +260 -0
  506. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/xml/dom.js +1138 -0
  507. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/xml/sax.js +592 -0
  508. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/xml_highlight_rules.js +185 -45
  509. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/xml_test.js +3 -3
  510. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/xml_worker.js +92 -0
  511. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/xquery.js +107 -88
  512. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/xquery/Readme.md +1 -6
  513. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/xquery/jsoniq_lexer.js +4453 -0
  514. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/xquery/xqlint.js +78911 -0
  515. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/xquery/xquery_lexer.js +4422 -0
  516. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/xquery_worker.js +66 -29
  517. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/yaml.js +5 -3
  518. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/yaml_highlight_rules.js +2 -13
  519. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mouse/default_gutter_handler.js +50 -28
  520. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mouse/default_handlers.js +70 -137
  521. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mouse/dragdrop_handler.js +428 -0
  522. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mouse/fold_handler.js +6 -23
  523. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mouse/mouse_event.js +6 -9
  524. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mouse/mouse_handler.js +83 -39
  525. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/{mode/liquid_highlight_rules_test.js → mouse/mouse_handler_test.js} +27 -34
  526. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mouse/multi_select_handler.js +94 -38
  527. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/multi_select.js +192 -115
  528. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/multi_select_test.js +124 -18
  529. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/occur.js +193 -0
  530. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/occur_test.js +154 -0
  531. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/placeholder.js +9 -4
  532. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/placeholder_test.js +2 -1
  533. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/range.js +81 -102
  534. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/range_list.js +38 -21
  535. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/range_list_test.js +20 -1
  536. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/range_test.js +1 -1
  537. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/renderloop.js +1 -1
  538. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/requirejs/text.js +9 -8
  539. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/requirejs/text_build.js +60 -0
  540. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/scrollbar.js +163 -32
  541. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/search.js +38 -19
  542. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/search_highlight.js +1 -3
  543. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/search_test.js +33 -0
  544. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/selection.js +167 -83
  545. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/selection_test.js +22 -7
  546. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets.js +949 -0
  547. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/_.snippets +240 -0
  548. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/_all_modes.js +7 -0
  549. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/_all_modes.snippets +0 -0
  550. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/abap.js +7 -0
  551. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/abap.snippets +0 -0
  552. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/abc.js +7 -0
  553. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/abc.snippets +31 -0
  554. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/actionscript.js +7 -0
  555. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/actionscript.snippets +157 -0
  556. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/ada.js +7 -0
  557. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/ada.snippets +0 -0
  558. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/all_modes.js +7 -0
  559. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/all_modes.snippets +0 -0
  560. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/apache.snippets +35 -0
  561. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/apache_conf.js +7 -0
  562. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/apache_conf.snippets +0 -0
  563. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/applescript.js +7 -0
  564. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/applescript.snippets +0 -0
  565. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/asciidoc.js +7 -0
  566. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/asciidoc.snippets +0 -0
  567. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/assembly_x86.js +7 -0
  568. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/assembly_x86.snippets +0 -0
  569. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/autohotkey.js +7 -0
  570. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/autohotkey.snippets +0 -0
  571. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/autoit.snippets +66 -0
  572. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/batchfile.js +7 -0
  573. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/batchfile.snippets +0 -0
  574. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/c.snippets +235 -0
  575. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/c9search.js +7 -0
  576. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/c9search.snippets +0 -0
  577. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/c_cpp.js +7 -0
  578. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/c_cpp.snippets +131 -0
  579. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/chef.snippets +204 -0
  580. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/cirru.js +7 -0
  581. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/cirru.snippets +0 -0
  582. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/clojure.js +7 -0
  583. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/clojure.snippets +90 -0
  584. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/cmake.snippets +58 -0
  585. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/cobol.js +7 -0
  586. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/cobol.snippets +0 -0
  587. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/coffee.js +7 -0
  588. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/coffee.snippets +95 -0
  589. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/coldfusion.js +7 -0
  590. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/coldfusion.snippets +0 -0
  591. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/cs.snippets +374 -0
  592. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/csharp.js +7 -0
  593. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/csharp.snippets +0 -0
  594. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/css.js +7 -0
  595. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/css.snippets +967 -0
  596. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/curly.js +7 -0
  597. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/curly.snippets +0 -0
  598. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/d.js +7 -0
  599. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/d.snippets +0 -0
  600. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/dart.js +7 -0
  601. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/dart.snippets +83 -0
  602. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/diff.js +7 -0
  603. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/diff.snippets +11 -0
  604. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/django.js +7 -0
  605. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/django.snippets +108 -0
  606. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/dockerfile.js +7 -0
  607. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/dockerfile.snippets +0 -0
  608. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/dot.js +7 -0
  609. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/dot.snippets +0 -0
  610. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/dummy.js +7 -0
  611. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/dummy_syntax.js +7 -0
  612. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/eiffel.js +7 -0
  613. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/eiffel.snippets +0 -0
  614. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/ejs.js +7 -0
  615. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/ejs.snippets +0 -0
  616. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/elixir.js +7 -0
  617. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/elixir.snippets +0 -0
  618. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/elm.js +7 -0
  619. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/elm.snippets +0 -0
  620. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/erlang.js +7 -0
  621. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/erlang.snippets +160 -0
  622. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/eruby.snippets +113 -0
  623. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/falcon.snippets +71 -0
  624. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/forth.js +7 -0
  625. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/forth.snippets +0 -0
  626. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/ftl.js +7 -0
  627. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/ftl.snippets +0 -0
  628. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/gcode.js +7 -0
  629. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/gcode.snippets +0 -0
  630. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/gherkin.js +7 -0
  631. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/gherkin.snippets +0 -0
  632. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/gitignore.js +7 -0
  633. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/gitignore.snippets +0 -0
  634. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/glsl.js +7 -0
  635. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/glsl.snippets +0 -0
  636. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/go.snippets +201 -0
  637. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/golang.js +7 -0
  638. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/golang.snippets +0 -0
  639. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/groovy.js +7 -0
  640. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/groovy.snippets +0 -0
  641. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/haml.js +7 -0
  642. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/haml.snippets +20 -0
  643. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/handlebars.js +7 -0
  644. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/handlebars.snippets +0 -0
  645. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/haskell.js +7 -0
  646. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/haskell.snippets +82 -0
  647. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/haxe.js +7 -0
  648. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/haxe.snippets +0 -0
  649. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/html.js +7 -0
  650. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/html.snippets +828 -0
  651. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/html_ruby.js +7 -0
  652. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/html_ruby.snippets +0 -0
  653. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/htmldjango.snippets +136 -0
  654. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/htmltornado.snippets +55 -0
  655. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/ini.js +7 -0
  656. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/ini.snippets +0 -0
  657. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/io.js +69 -0
  658. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/io.snippets +0 -0
  659. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/jack.js +7 -0
  660. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/jack.snippets +0 -0
  661. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/jade.js +7 -0
  662. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/jade.snippets +0 -0
  663. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/java.js +7 -0
  664. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/java.snippets +240 -0
  665. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/javascript-jquery.snippets +589 -0
  666. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/javascript.js +7 -0
  667. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/javascript.snippets +195 -0
  668. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/json.js +7 -0
  669. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/json.snippets +0 -0
  670. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/jsoniq.js +7 -0
  671. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/jsoniq.snippets +61 -0
  672. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/jsp.js +7 -0
  673. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/jsp.snippets +99 -0
  674. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/jsx.js +7 -0
  675. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/jsx.snippets +0 -0
  676. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/julia.js +7 -0
  677. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/julia.snippets +0 -0
  678. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/latex.js +7 -0
  679. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/latex.snippets +0 -0
  680. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/ledger.snippets +5 -0
  681. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/less.js +7 -0
  682. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/less.snippets +0 -0
  683. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/liquid.js +7 -0
  684. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/liquid.snippets +0 -0
  685. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/lisp.js +7 -0
  686. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/lisp.snippets +0 -0
  687. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/livescript.js +7 -0
  688. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/livescript.snippets +0 -0
  689. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/logiql.js +7 -0
  690. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/logiql.snippets +0 -0
  691. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/lsl.js +7 -0
  692. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/lsl.snippets +1066 -0
  693. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/lua.js +7 -0
  694. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/lua.snippets +21 -0
  695. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/luapage.js +7 -0
  696. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/luapage.snippets +0 -0
  697. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/lucene.js +7 -0
  698. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/lucene.snippets +0 -0
  699. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/makefile.js +7 -0
  700. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/makefile.snippets +4 -0
  701. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/mako.snippets +54 -0
  702. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/markdown.js +7 -0
  703. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/markdown.snippets +88 -0
  704. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/matlab.js +7 -0
  705. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/matlab.snippets +0 -0
  706. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/mel.js +7 -0
  707. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/mel.snippets +0 -0
  708. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/mushcode.js +7 -0
  709. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/mushcode.snippets +0 -0
  710. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/mushcode_high_rules.js +7 -0
  711. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/mushcode_high_rules.snippets +0 -0
  712. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/mysql.js +7 -0
  713. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/mysql.snippets +0 -0
  714. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/nix.js +7 -0
  715. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/nix.snippets +0 -0
  716. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/objc.snippets +247 -0
  717. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/objectivec.js +7 -0
  718. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/objectivec.snippets +0 -0
  719. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/ocaml.js +7 -0
  720. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/ocaml.snippets +0 -0
  721. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/pascal.js +7 -0
  722. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/pascal.snippets +0 -0
  723. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/perl.js +7 -0
  724. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/perl.snippets +347 -0
  725. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/pgsql.js +7 -0
  726. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/pgsql.snippets +0 -0
  727. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/php.js +7 -0
  728. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/php.snippets +377 -0
  729. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/plain_text.js +7 -0
  730. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/plain_text.snippets +0 -0
  731. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/powershell.js +7 -0
  732. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/powershell.snippets +0 -0
  733. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/praat.js +7 -0
  734. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/praat.snippets +0 -0
  735. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/prolog.js +7 -0
  736. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/prolog.snippets +0 -0
  737. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/properties.js +7 -0
  738. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/properties.snippets +0 -0
  739. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/protobuf.js +7 -0
  740. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/protobuf.snippets +0 -0
  741. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/python.js +7 -0
  742. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/python.snippets +158 -0
  743. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/r.js +7 -0
  744. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/r.snippets +121 -0
  745. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/rdoc.js +7 -0
  746. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/rdoc.snippets +0 -0
  747. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/rhtml.js +7 -0
  748. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/rhtml.snippets +0 -0
  749. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/rst.snippets +22 -0
  750. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/ruby.js +7 -0
  751. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/ruby.snippets +928 -0
  752. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/rust.js +7 -0
  753. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/rust.snippets +0 -0
  754. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/sass.js +7 -0
  755. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/sass.snippets +0 -0
  756. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/scad.js +7 -0
  757. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/scad.snippets +0 -0
  758. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/scala.js +7 -0
  759. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/scala.snippets +0 -0
  760. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/scheme.js +7 -0
  761. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/scheme.snippets +0 -0
  762. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/scss.js +7 -0
  763. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/scss.snippets +0 -0
  764. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/sh.js +7 -0
  765. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/sh.snippets +83 -0
  766. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/sjs.js +7 -0
  767. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/sjs.snippets +0 -0
  768. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/smarty.js +7 -0
  769. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/smarty.snippets +0 -0
  770. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/snippets.js +7 -0
  771. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/snippets.snippets +9 -0
  772. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/soy_template.js +7 -0
  773. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/soy_template.snippets +0 -0
  774. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/space.js +7 -0
  775. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/space.snippets +0 -0
  776. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/sql.js +7 -0
  777. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/sql.snippets +26 -0
  778. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/stylus.js +7 -0
  779. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/stylus.snippets +0 -0
  780. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/svg.js +7 -0
  781. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/svg.snippets +0 -0
  782. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/tcl.js +7 -0
  783. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/tcl.snippets +92 -0
  784. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/tex.js +7 -0
  785. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/tex.snippets +191 -0
  786. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/text.js +7 -0
  787. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/text.snippets +0 -0
  788. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/textile.js +7 -0
  789. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/textile.snippets +30 -0
  790. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/tmsnippet.snippets +0 -0
  791. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/toml.js +7 -0
  792. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/toml.snippets +0 -0
  793. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/twig.js +7 -0
  794. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/twig.snippets +0 -0
  795. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/typescript.js +7 -0
  796. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/typescript.snippets +0 -0
  797. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/vala.js +195 -0
  798. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/vala.snippets +0 -0
  799. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/vbscript.js +7 -0
  800. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/vbscript.snippets +0 -0
  801. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/velocity.js +8 -0
  802. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/velocity.snippets +28 -0
  803. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/verilog.js +7 -0
  804. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/verilog.snippets +0 -0
  805. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/vhdl.js +7 -0
  806. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/vhdl.snippets +0 -0
  807. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/xml.js +7 -0
  808. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/xml.snippets +0 -0
  809. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/xquery.js +7 -0
  810. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/xquery.snippets +61 -0
  811. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/xslt.snippets +97 -0
  812. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/yaml.js +7 -0
  813. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets/yaml.snippets +0 -0
  814. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/snippets_test.js +131 -0
  815. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/split.js +3 -3
  816. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/test/all_browser.js +20 -7
  817. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/test/asyncjs/assert.js +2 -2
  818. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/test/mockrenderer.js +8 -0
  819. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/ambiance.css +6 -2
  820. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/chaos.css +154 -0
  821. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/chaos.js +33 -0
  822. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/chrome.css +5 -9
  823. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/clouds.css +3 -15
  824. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/clouds.js +1 -1
  825. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/clouds_midnight.css +4 -16
  826. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/clouds_midnight.js +1 -1
  827. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/cobalt.css +16 -26
  828. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/cobalt.js +1 -1
  829. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/crimson_editor.css +2 -10
  830. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/dawn.css +10 -20
  831. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/dawn.js +1 -1
  832. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/dreamweaver.css +9 -12
  833. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/eclipse.css +16 -9
  834. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/github.css +3 -10
  835. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/idle_fingers.css +5 -17
  836. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/idle_fingers.js +1 -1
  837. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/katzenmilch.css +140 -0
  838. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/katzenmilch.js +39 -0
  839. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/kr_theme.css +9 -20
  840. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/kr_theme.js +1 -1
  841. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/kuroir.css +67 -0
  842. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/kuroir.js +39 -0
  843. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/merbivore.css +4 -16
  844. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/merbivore.js +1 -1
  845. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/merbivore_soft.css +4 -16
  846. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/merbivore_soft.js +1 -1
  847. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/mono_industrial.css +5 -17
  848. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/mono_industrial.js +1 -1
  849. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/monokai.css +14 -20
  850. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/monokai.js +1 -1
  851. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/pastel_on_dark.css +4 -16
  852. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/pastel_on_dark.js +1 -1
  853. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/solarized_dark.css +8 -20
  854. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/solarized_dark.js +1 -1
  855. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/solarized_light.css +6 -18
  856. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/solarized_light.js +1 -1
  857. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/terminal.css +132 -0
  858. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/terminal.js +39 -0
  859. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/textmate.css +5 -9
  860. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/tomorrow.css +4 -15
  861. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/tomorrow.js +1 -1
  862. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/tomorrow_night.css +5 -16
  863. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/tomorrow_night.js +1 -1
  864. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/tomorrow_night_blue.css +6 -17
  865. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/tomorrow_night_blue.js +1 -1
  866. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/tomorrow_night_bright.css +21 -16
  867. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/tomorrow_night_bright.js +1 -1
  868. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/tomorrow_night_eighties.css +10 -17
  869. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/tomorrow_night_eighties.js +1 -1
  870. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/twilight.css +6 -16
  871. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/twilight.js +1 -1
  872. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/vibrant_ink.css +4 -12
  873. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/vibrant_ink.js +1 -1
  874. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/xcode.css +4 -12
  875. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/theme/xcode.js +1 -1
  876. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/token_iterator.js +4 -3
  877. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/tokenizer.js +246 -78
  878. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/tokenizer_dev.js +71 -93
  879. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/tokenizer_test.js +97 -0
  880. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/tooltip.js +138 -0
  881. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/undomanager.js +63 -30
  882. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/virtual_renderer.js +788 -403
  883. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/worker/mirror.js +9 -3
  884. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/worker/worker.js +92 -55
  885. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/worker/worker_client.js +90 -52
  886. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/worker/worker_test.js +125 -0
  887. data/lib/gollum/public/gollum/livepreview/js/livepreview.js +18 -12
  888. data/lib/gollum/public/gollum/livepreview/readme.md +1 -1
  889. data/lib/gollum/templates/layout.mustache +1 -1
  890. data/lib/gollum/{public/gollum/livepreview/index.html → templates/livepreview.mustache} +23 -1
  891. data/lib/gollum/views/livepreview.rb +13 -0
  892. metadata +569 -37
  893. data/lib/gollum/editing_auth.rb +0 -34
  894. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/keyboard/vim/commands.js +0 -561
  895. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/keyboard/vim/maps/motions.js +0 -593
  896. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/keyboard/vim/maps/operators.js +0 -196
  897. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/keyboard/vim/maps/util.js +0 -134
  898. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/_test/test_highlight_rules.js +0 -144
  899. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/coffee_highlight_rules_test.js +0 -266
  900. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/html_highlight_rules_test.js +0 -186
  901. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/javascript_highlight_rules_test.js +0 -218
  902. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/lucene_highlight_rules_test.js +0 -99
  903. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/markdown_highlight_rules_test.js +0 -100
  904. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/ruby_highlight_rules_test.js +0 -108
  905. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/xml_highlight_rules_test.js +0 -208
  906. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/xml_util.js +0 -112
  907. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/xquery/XQueryParser.js +0 -32982
  908. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/xquery/visitors/SyntaxHighlighter.js +0 -316
  909. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/xquery_highlight_rules.js +0 -145
  910. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mouse/dragdrop.js +0 -98
  911. data/lib/gollum/public/gollum/livepreview/js/ace/lib/ace/worker/worker_sourcemint.js +0 -73
@@ -0,0 +1,213 @@
1
+ /* ***** BEGIN LICENSE BLOCK *****
2
+ * Distributed under the BSD license:
3
+ *
4
+ * Copyright (c) 2010, Ajax.org B.V.
5
+ * All rights reserved.
6
+ *
7
+ * Redistribution and use in source and binary forms, with or without
8
+ * modification, are permitted provided that the following conditions are met:
9
+ * * Redistributions of source code must retain the above copyright
10
+ * notice, this list of conditions and the following disclaimer.
11
+ * * Redistributions in binary form must reproduce the above copyright
12
+ * notice, this list of conditions and the following disclaimer in the
13
+ * documentation and/or other materials provided with the distribution.
14
+ * * Neither the name of Ajax.org B.V. nor the
15
+ * names of its contributors may be used to endorse or promote products
16
+ * derived from this software without specific prior written permission.
17
+ *
18
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
+ * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY
22
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
+ *
29
+ * ***** END LICENSE BLOCK ***** */
30
+
31
+ if (typeof process !== "undefined") {
32
+ require("amd-loader");
33
+ }
34
+
35
+ define(function(require, exports, module) {
36
+ "use strict";
37
+
38
+ var emacs = require('./keyboard/emacs');
39
+ var EditSession = require("./edit_session").EditSession;
40
+ var Editor = require("./editor").Editor;
41
+ var MockRenderer = require("./test/mockrenderer").MockRenderer;
42
+ var Range = require("./range").Range;
43
+ var MultiSelect = require("./multi_select").MultiSelect;
44
+ var assert = require("./test/assertions");
45
+ var IncrementalSearch = require("./incremental_search").IncrementalSearch;
46
+
47
+ require("./multi_select");
48
+
49
+ var editor, iSearch;
50
+ function testRanges(str, ranges) {
51
+ ranges = ranges || editor.selection.getAllRanges();
52
+ assert.equal(ranges + "", str + "");
53
+ }
54
+
55
+ // force "rerender"
56
+ function callHighlighterUpdate() {
57
+ var session = editor.session,
58
+ ranges = [],
59
+ mockMarkerLayer = {
60
+ drawSingleLineMarker: function(_, markerRanges) {
61
+ ranges = ranges.concat(markerRanges);
62
+ }
63
+ }
64
+ session.$isearchHighlight.update([], mockMarkerLayer, session, {
65
+ firstRow: 0, lastRow: session.getRowLength()});
66
+ return ranges;
67
+ }
68
+
69
+ module.exports = {
70
+
71
+ name: "ACE incremental_search.js",
72
+
73
+ setUp: function() {
74
+ var session = new EditSession(["abc123", "xyz124"]);
75
+ editor = new Editor(new MockRenderer(), session);
76
+ new MultiSelect(editor);
77
+ iSearch = new IncrementalSearch();
78
+ },
79
+
80
+ "test: keyboard handler setup" : function() {
81
+ iSearch.activate(editor);
82
+ assert.equal(editor.getKeyboardHandler(), iSearch.$keyboardHandler);
83
+ iSearch.deactivate();
84
+ assert.notEqual(editor.getKeyboardHandler(), iSearch.$keyboardHandler);
85
+ },
86
+
87
+ "test: isearch highlight setup" : function() {
88
+ var sess = editor.session;
89
+ iSearch.activate(editor);
90
+ iSearch.highlight('foo');
91
+ var highl = sess.$isearchHighlight.id;
92
+ assert.ok(sess.$isearchHighlight, 'session has no isearch highlighter');
93
+ assert.equal(sess.getMarkers()[highl.id], highl.id, 'isearch highlight not in markers');
94
+ iSearch.deactivate();
95
+ iSearch.activate(editor);
96
+ iSearch.highlight('bar');
97
+ var highl2 = sess.$isearchHighlight.id;
98
+ assert.equal(highl2, highl, 'multiple isearch highlights');
99
+ },
100
+
101
+ "test: find simple text incrementally" : function() {
102
+ iSearch.activate(editor);
103
+ var range = iSearch.addString('1'), // "1"
104
+ highlightRanges = callHighlighterUpdate(editor.session);
105
+ testRanges("Range: [0/3] -> [0/4]", [range], "range");
106
+ testRanges("Range: [0/3] -> [0/4],Range: [1/3] -> [1/4]", highlightRanges, "highlight");
107
+
108
+ range = iSearch.addString('2'); // "12"
109
+ highlightRanges = callHighlighterUpdate(editor.session);
110
+ testRanges("Range: [0/3] -> [0/5]", [range], "range");
111
+ testRanges("Range: [0/3] -> [0/5],Range: [1/3] -> [1/5]", highlightRanges, "highlight");
112
+
113
+ range = iSearch.addString('3'); // "123"
114
+ highlightRanges = callHighlighterUpdate(editor.session);
115
+ testRanges("Range: [0/3] -> [0/6]", [range], "range");
116
+ testRanges("Range: [0/3] -> [0/6]", highlightRanges, "highlight");
117
+
118
+ range = iSearch.removeChar(); // "12"
119
+ highlightRanges = callHighlighterUpdate(editor.session);
120
+ testRanges("Range: [0/3] -> [0/5]", [range], "range");
121
+ testRanges("Range: [0/3] -> [0/5],Range: [1/3] -> [1/5]", highlightRanges, "highlight");
122
+ },
123
+
124
+ "test: forward / backward" : function() {
125
+ iSearch.activate(editor);
126
+ iSearch.addString('1'); iSearch.addString('2');
127
+ var range = iSearch.next();
128
+ testRanges("Range: [1/3] -> [1/5]", [range], "range");
129
+
130
+ range = iSearch.next(); // nothing to find
131
+ testRanges("", [range], "range");
132
+
133
+ range = iSearch.next({backwards: true}); // backwards
134
+ testRanges("Range: [1/5] -> [1/3]", [range], "range");
135
+ },
136
+
137
+ "test: cancelSearch" : function() {
138
+ iSearch.activate(editor);
139
+ iSearch.addString('1'); iSearch.addString('2');
140
+ var range = iSearch.cancelSearch(true);
141
+ testRanges("Range: [0/0] -> [0/0]", [range], "range");
142
+
143
+ iSearch.addString('1'); range = iSearch.addString('2');
144
+ testRanges("Range: [0/3] -> [0/5]", [range], "range");
145
+ },
146
+
147
+ "test: failing search keeps pos" : function() {
148
+ iSearch.activate(editor);
149
+ iSearch.addString('1'); iSearch.addString('2');
150
+ var range = iSearch.addString('x');
151
+ testRanges("", [range], "range");
152
+ assert.position(editor.getCursorPosition(), 0, 5);
153
+ },
154
+
155
+ "test: backwards search" : function() {
156
+ editor.moveCursorTo(1,0);
157
+ iSearch.activate(editor, true);
158
+ iSearch.addString('1'); var range = iSearch.addString('2');;
159
+ testRanges("Range: [0/5] -> [0/3]", [range], "range");
160
+ assert.position(editor.getCursorPosition(), 0, 3);
161
+ },
162
+
163
+ "test: forwards then backwards, same result, reoriented range" : function() {
164
+ iSearch.activate(editor);
165
+ iSearch.addString('1'); var range = iSearch.addString('2');;
166
+ testRanges("Range: [0/3] -> [0/5]", [range], "range");
167
+ assert.position(editor.getCursorPosition(), 0, 5);
168
+
169
+ range = iSearch.next({backwards: true});
170
+ testRanges("Range: [0/5] -> [0/3]", [range], "range");
171
+ assert.position(editor.getCursorPosition(), 0, 3);
172
+ },
173
+
174
+ "test: reuse prev search via option" : function() {
175
+ iSearch.activate(editor);
176
+ iSearch.addString('1'); iSearch.addString('2');;
177
+ assert.position(editor.getCursorPosition(), 0, 5);
178
+ iSearch.deactivate();
179
+
180
+ iSearch.activate(editor);
181
+ iSearch.next({backwards: false, useCurrentOrPrevSearch: true});
182
+ assert.position(editor.getCursorPosition(), 1, 5);
183
+ },
184
+
185
+ "test: don't extend selection range if selection is empty" : function() {
186
+ iSearch.activate(editor);
187
+ iSearch.addString('1'); iSearch.addString('2');;
188
+ testRanges("Range: [0/5] -> [0/5]", [editor.getSelectionRange()], "sel range");
189
+ },
190
+
191
+ "test: extend selection range if selection exists" : function() {
192
+ iSearch.activate(editor);
193
+ editor.selection.selectTo(0, 1);
194
+ iSearch.addString('1'); iSearch.addString('2');;
195
+ testRanges("Range: [0/0] -> [0/5]", [editor.getSelectionRange()], "sel range");
196
+ },
197
+
198
+ "test: extend selection in emacs mark mode" : function() {
199
+ var emacs = require('./keyboard/emacs');
200
+ editor.keyBinding.addKeyboardHandler(emacs.handler);
201
+ emacs.handler.commands.setMark.exec(editor);
202
+ iSearch.activate(editor);
203
+ iSearch.addString('1'); iSearch.addString('2');
204
+ testRanges("Range: [0/0] -> [0/5]", [editor.getSelectionRange()], "sel range");
205
+ }
206
+
207
+ };
208
+
209
+ });
210
+
211
+ if (typeof module !== "undefined" && module === require.main) {
212
+ require("asyncjs").test.testcase(module.exports).exec()
213
+ }
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Copyright (c) 2010, Ajax.org B.V.
5
5
  * All rights reserved.
6
- *
6
+ *
7
7
  * Redistribution and use in source and binary forms, with or without
8
8
  * modification, are permitted provided that the following conditions are met:
9
9
  * * Redistributions of source code must retain the above copyright
@@ -14,7 +14,7 @@
14
14
  * * Neither the name of Ajax.org B.V. nor the
15
15
  * names of its contributors may be used to endorse or promote products
16
16
  * derived from this software without specific prior written permission.
17
- *
17
+ *
18
18
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19
19
  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
20
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
@@ -32,15 +32,18 @@ define(function(require, exports, module) {
32
32
  "use strict";
33
33
 
34
34
  var dom = require("../lib/dom");
35
+ require("../incremental_search");
36
+ var iSearchCommandModule = require("../commands/incremental_search_commands");
35
37
 
36
- var screenToTextBlockCoordinates = function(pageX, pageY) {
38
+
39
+ var screenToTextBlockCoordinates = function(x, y) {
37
40
  var canvasPos = this.scroller.getBoundingClientRect();
38
41
 
39
42
  var col = Math.floor(
40
- (pageX + this.scrollLeft - canvasPos.left - this.$padding - dom.getPageScrollLeft()) / this.characterWidth
43
+ (x + this.scrollLeft - canvasPos.left - this.$padding) / this.characterWidth
41
44
  );
42
45
  var row = Math.floor(
43
- (pageY + this.scrollTop - canvasPos.top - dom.getPageScrollTop()) / this.lineHeight
46
+ (y + this.scrollTop - canvasPos.top) / this.lineHeight
44
47
  );
45
48
 
46
49
  return this.session.screenToDocumentPosition(row, col);
@@ -49,20 +52,26 @@ var screenToTextBlockCoordinates = function(pageX, pageY) {
49
52
  var HashHandler = require("./hash_handler").HashHandler;
50
53
  exports.handler = new HashHandler();
51
54
 
55
+ exports.handler.isEmacs = true;
56
+ exports.handler.$id = "ace/keyboard/emacs";
57
+
52
58
  var initialized = false;
59
+ var $formerLongWords;
60
+ var $formerLineStart;
61
+
53
62
  exports.handler.attach = function(editor) {
54
63
  if (!initialized) {
55
64
  initialized = true;
56
65
  dom.importCssString('\
57
66
  .emacs-mode .ace_cursor{\
58
- border: 2px rgba(50,250,50,0.8) solid!important;\
67
+ border: 1px rgba(50,250,50,0.8) solid!important;\
59
68
  -moz-box-sizing: border-box!important;\
60
69
  -webkit-box-sizing: border-box!important;\
61
70
  box-sizing: border-box!important;\
62
71
  background-color: rgba(0,250,0,0.9);\
63
72
  opacity: 0.5;\
64
73
  }\
65
- .emacs-mode .ace_cursor.ace_hidden{\
74
+ .emacs-mode .ace_hidden-cursors .ace_cursor{\
66
75
  opacity: 1;\
67
76
  background-color: transparent;\
68
77
  }\
@@ -79,110 +88,268 @@ exports.handler.attach = function(editor) {
79
88
  }', 'emacsMode'
80
89
  );
81
90
  }
91
+ // in emacs, gotowordleft/right should not count a space as a word..
92
+ $formerLongWords = editor.session.$selectLongWords;
93
+ editor.session.$selectLongWords = true;
94
+ // CTRL-A should go to actual beginning of line
95
+ $formerLineStart = editor.session.$useEmacsStyleLineStart;
96
+ editor.session.$useEmacsStyleLineStart = true;
97
+
98
+ editor.session.$emacsMark = null; // the active mark
99
+ editor.session.$emacsMarkRing = editor.session.$emacsMarkRing || [];
100
+
101
+ editor.emacsMark = function() {
102
+ return this.session.$emacsMark;
103
+ };
104
+
105
+ editor.setEmacsMark = function(p) {
106
+ // to deactivate pass in a falsy value
107
+ this.session.$emacsMark = p;
108
+ };
109
+
110
+ editor.pushEmacsMark = function(p, activate) {
111
+ var prevMark = this.session.$emacsMark;
112
+ if (prevMark)
113
+ this.session.$emacsMarkRing.push(prevMark);
114
+ if (!p || activate) this.setEmacsMark(p);
115
+ else this.session.$emacsMarkRing.push(p);
116
+ };
117
+
118
+ editor.popEmacsMark = function() {
119
+ var mark = this.emacsMark();
120
+ if (mark) { this.setEmacsMark(null); return mark; }
121
+ return this.session.$emacsMarkRing.pop();
122
+ };
123
+
124
+ editor.getLastEmacsMark = function(p) {
125
+ return this.session.$emacsMark || this.session.$emacsMarkRing.slice(-1)[0];
126
+ };
127
+
128
+ editor.emacsMarkForSelection = function(replacement) {
129
+ // find the mark in $emacsMarkRing corresponding to the current
130
+ // selection
131
+ var sel = this.selection,
132
+ multiRangeLength = this.multiSelect ?
133
+ this.multiSelect.getAllRanges().length : 1,
134
+ selIndex = sel.index || 0,
135
+ markRing = this.session.$emacsMarkRing,
136
+ markIndex = markRing.length - (multiRangeLength - selIndex),
137
+ lastMark = markRing[markIndex] || sel.anchor;
138
+ if (replacement) {
139
+ markRing.splice(markIndex, 1,
140
+ "row" in replacement && "column" in replacement ?
141
+ replacement : undefined);
142
+ }
143
+ return lastMark;
144
+ }
82
145
 
146
+ editor.on("click", $resetMarkMode);
147
+ editor.on("changeSession", $kbSessionChange);
83
148
  editor.renderer.screenToTextCoordinates = screenToTextBlockCoordinates;
84
149
  editor.setStyle("emacs-mode");
150
+ editor.commands.addCommands(commands);
151
+ exports.handler.platform = editor.commands.platform;
152
+ editor.$emacsModeHandler = this;
153
+ editor.addEventListener('copy', this.onCopy);
154
+ editor.addEventListener('paste', this.onPaste);
85
155
  };
86
156
 
87
157
  exports.handler.detach = function(editor) {
88
158
  delete editor.renderer.screenToTextCoordinates;
159
+ editor.session.$selectLongWords = $formerLongWords;
160
+ editor.session.$useEmacsStyleLineStart = $formerLineStart;
161
+ editor.removeEventListener("click", $resetMarkMode);
162
+ editor.removeEventListener("changeSession", $kbSessionChange);
89
163
  editor.unsetStyle("emacs-mode");
164
+ editor.commands.removeCommands(commands);
165
+ editor.removeEventListener('copy', this.onCopy);
166
+ editor.removeEventListener('paste', this.onPaste);
167
+ editor.$emacsModeHandler = null;
168
+ };
169
+
170
+ var $kbSessionChange = function(e) {
171
+ if (e.oldSession) {
172
+ e.oldSession.$selectLongWords = $formerLongWords;
173
+ e.oldSession.$useEmacsStyleLineStart = $formerLineStart;
174
+ }
175
+
176
+ $formerLongWords = e.session.$selectLongWords;
177
+ e.session.$selectLongWords = true;
178
+ $formerLineStart = e.session.$useEmacsStyleLineStart;
179
+ e.session.$useEmacsStyleLineStart = true;
180
+
181
+ if (!e.session.hasOwnProperty('$emacsMark'))
182
+ e.session.$emacsMark = null;
183
+ if (!e.session.hasOwnProperty('$emacsMarkRing'))
184
+ e.session.$emacsMarkRing = [];
90
185
  };
91
186
 
187
+ var $resetMarkMode = function(e) {
188
+ e.editor.session.$emacsMark = null;
189
+ };
92
190
 
93
191
  var keys = require("../lib/keys").KEY_MODS;
94
- var eMods = {
95
- C: "ctrl", S: "shift", M: "alt"
96
- };
97
- ["S-C-M", "S-C", "S-M", "C-M", "S", "C", "M"].forEach(function(c) {
192
+ var eMods = {C: "ctrl", S: "shift", M: "alt", CMD: "command"};
193
+ var combinations = ["C-S-M-CMD",
194
+ "S-M-CMD", "C-M-CMD", "C-S-CMD", "C-S-M",
195
+ "M-CMD", "S-CMD", "S-M", "C-CMD", "C-M", "C-S",
196
+ "CMD", "M", "S", "C"];
197
+ combinations.forEach(function(c) {
98
198
  var hashId = 0;
99
- c.split("-").forEach(function(c){
199
+ c.split("-").forEach(function(c) {
100
200
  hashId = hashId | keys[eMods[c]];
101
201
  });
102
202
  eMods[hashId] = c.toLowerCase() + "-";
103
203
  });
104
204
 
205
+ exports.handler.onCopy = function(e, editor) {
206
+ if (editor.$handlesEmacsOnCopy) return;
207
+ editor.$handlesEmacsOnCopy = true;
208
+ exports.handler.commands.killRingSave.exec(editor);
209
+ editor.$handlesEmacsOnCopy = false;
210
+ };
211
+
212
+ exports.handler.onPaste = function(e, editor) {
213
+ editor.pushEmacsMark(editor.getCursorPosition());
214
+ };
215
+
105
216
  exports.handler.bindKey = function(key, command) {
217
+ if (typeof key == "object")
218
+ key = key[this.platform];
106
219
  if (!key)
107
220
  return;
108
221
 
109
- var ckb = this.commmandKeyBinding;
222
+ var ckb = this.commandKeyBinding;
110
223
  key.split("|").forEach(function(keyPart) {
111
224
  keyPart = keyPart.toLowerCase();
112
225
  ckb[keyPart] = command;
113
- keyPart = keyPart.split(" ")[0];
114
- if (!ckb[keyPart])
115
- ckb[keyPart] = "null";
226
+ // register all partial key combos as null commands
227
+ // to be able to activate key combos with arbitrary length
228
+ // Example: if keyPart is "C-c C-l t" then "C-c C-l t" will
229
+ // get command assigned and "C-c" and "C-c C-l" will get
230
+ // a null command assigned in this.commandKeyBinding. For
231
+ // the lookup logic see handleKeyboard()
232
+ var keyParts = keyPart.split(" ").slice(0,-1);
233
+ keyParts.reduce(function(keyMapKeys, keyPart, i) {
234
+ var prefix = keyMapKeys[i-1] ? keyMapKeys[i-1] + ' ' : '';
235
+ return keyMapKeys.concat([prefix + keyPart]);
236
+ }, []).forEach(function(keyPart) {
237
+ if (!ckb[keyPart]) ckb[keyPart] = "null";
238
+ });
116
239
  }, this);
117
240
  };
118
241
 
242
+ exports.handler.getStatusText = function(editor, data) {
243
+ var str = "";
244
+ if (data.count)
245
+ str += data.count;
246
+ if (data.keyChain)
247
+ str += " " + data.keyChain
248
+ return str;
249
+ };
119
250
 
120
251
  exports.handler.handleKeyboard = function(data, hashId, key, keyCode) {
252
+ // if keyCode == -1 a non-printable key was pressed, such as just
253
+ // control. Handling those is currently not supported in this handler
254
+ if (keyCode === -1) return undefined;
255
+
256
+ var editor = data.editor;
257
+ editor._signal("changeStatus");
258
+ // insertstring data.count times
121
259
  if (hashId == -1) {
260
+ editor.pushEmacsMark();
122
261
  if (data.count) {
123
- var str = Array(data.count + 1).join(key);
262
+ var str = new Array(data.count + 1).join(key);
124
263
  data.count = null;
125
264
  return {command: "insertstring", args: str};
126
265
  }
127
266
  }
128
267
 
129
- if (key == "\x00")
130
- return;
131
-
132
268
  var modifier = eMods[hashId];
133
- if (modifier == "c-" || data.universalArgument) {
269
+
270
+ // CTRL + number / universalArgument for setting data.count
271
+ if (modifier == "c-" || data.count) {
134
272
  var count = parseInt(key[key.length - 1]);
135
- if (count) {
136
- data.count = count;
273
+ if (typeof count === 'number' && !isNaN(count)) {
274
+ data.count = Math.max(data.count, 0) || 0;
275
+ data.count = 10 * data.count + count;
137
276
  return {command: "null"};
138
277
  }
139
278
  }
140
- data.universalArgument = false;
141
279
 
142
- if (modifier)
143
- key = modifier + key;
280
+ // this.commandKeyBinding maps key specs like "c-p" (for CTRL + P) to
281
+ // command objects, for lookup key needs to include the modifier
282
+ if (modifier) key = modifier + key;
144
283
 
145
- if (data.keyChain)
146
- key = data.keyChain += " " + key;
284
+ // Key combos like CTRL+X H build up the data.keyChain
285
+ if (data.keyChain) key = data.keyChain += " " + key;
147
286
 
148
- var command = this.commmandKeyBinding[key];
287
+ // Key combo prefixes get stored as "null" (String!) in this
288
+ // this.commandKeyBinding. When encountered no command is invoked but we
289
+ // buld up data.keyChain
290
+ var command = this.commandKeyBinding[key];
149
291
  data.keyChain = command == "null" ? key : "";
150
292
 
151
- if (!command)
152
- return;
293
+ // there really is no command
294
+ if (!command) return undefined;
153
295
 
154
- if (command == "null")
155
- return {command: "null"};
296
+ // we pass b/c of key combo or universalArgument
297
+ if (command === "null") return {command: "null"};
156
298
 
157
- if (command == "universalArgument") {
158
- data.universalArgument = true;
299
+ if (command === "universalArgument") {
300
+ // if no number pressed emacs repeats action 4 times.
301
+ // minus sign is needed to allow next keypress to replace it
302
+ data.count = -4;
159
303
  return {command: "null"};
160
304
  }
161
305
 
162
- if (typeof command != "string") {
163
- var args = command.args;
164
- command = command.command;
306
+ // lookup command
307
+ // TODO extract special handling of markmode
308
+ // TODO special case command.command is really unnecessary, remove
309
+ var args;
310
+ if (typeof command !== "string") {
311
+ args = command.args;
312
+ if (command.command) command = command.command;
313
+ if (command === "goorselect") {
314
+ command = editor.emacsMark() ? args[1] : args[0];
315
+ args = null;
316
+ }
165
317
  }
166
318
 
167
- if (typeof command == "string") {
168
- command = this.commands[command] || data.editor.commands.commands[command];
319
+ if (typeof command === "string") {
320
+ if (command === "insertstring" ||
321
+ command === "splitline" ||
322
+ command === "togglecomment") {
323
+ editor.pushEmacsMark();
324
+ }
325
+ command = this.commands[command] || editor.commands.commands[command];
326
+ if (!command) return undefined;
169
327
  }
170
328
 
171
- if (!command.readonly && !command.isYank)
329
+ if (!command.readOnly && !command.isYank)
172
330
  data.lastCommand = null;
173
331
 
332
+ if (!command.readOnly && editor.emacsMark())
333
+ editor.setEmacsMark(null)
334
+
174
335
  if (data.count) {
175
336
  var count = data.count;
176
337
  data.count = 0;
177
- return {
178
- args: args,
179
- command: {
180
- exec: function(editor, args) {
181
- for (var i = 0; i < count; i++)
182
- command.exec(editor, args);
338
+ if (!command || !command.handlesCount) {
339
+ return {
340
+ args: args,
341
+ command: {
342
+ exec: function(editor, args) {
343
+ for (var i = 0; i < count; i++)
344
+ command.exec(editor, args);
345
+ },
346
+ multiSelectAction: command.multiSelectAction
183
347
  }
184
- }
185
- };
348
+ };
349
+ } else {
350
+ if (!args) args = {};
351
+ if (typeof args === 'object') args.count = count;
352
+ }
186
353
  }
187
354
 
188
355
  return {command: command, args: args};
@@ -190,16 +357,16 @@ exports.handler.handleKeyboard = function(data, hashId, key, keyCode) {
190
357
 
191
358
  exports.emacsKeys = {
192
359
  // movement
193
- "Up|C-p" : "golineup",
194
- "Down|C-n" : "golinedown",
195
- "Left|C-b" : "gotoleft",
196
- "Right|C-f" : "gotoright",
197
- "C-Left|M-b" : "gotowordleft",
198
- "C-Right|M-f" : "gotowordright",
199
- "Home|C-a" : "gotolinestart",
200
- "End|C-e" : "gotolineend",
201
- "C-Home|S-M-,": "gotostart",
202
- "C-End|S-M-." : "gotoend",
360
+ "Up|C-p" : {command: "goorselect", args: ["golineup","selectup"]},
361
+ "Down|C-n" : {command: "goorselect", args: ["golinedown","selectdown"]},
362
+ "Left|C-b" : {command: "goorselect", args: ["gotoleft","selectleft"]},
363
+ "Right|C-f" : {command: "goorselect", args: ["gotoright","selectright"]},
364
+ "C-Left|M-b" : {command: "goorselect", args: ["gotowordleft","selectwordleft"]},
365
+ "C-Right|M-f" : {command: "goorselect", args: ["gotowordright","selectwordright"]},
366
+ "Home|C-a" : {command: "goorselect", args: ["gotolinestart","selecttolinestart"]},
367
+ "End|C-e" : {command: "goorselect", args: ["gotolineend","selecttolineend"]},
368
+ "C-Home|S-M-,": {command: "goorselect", args: ["gotostart","selecttostart"]},
369
+ "C-End|S-M-." : {command: "goorselect", args: ["gotoend","selecttoend"]},
203
370
 
204
371
  // selection
205
372
  "S-Up|S-C-p" : "selectup",
@@ -219,14 +386,16 @@ exports.emacsKeys = {
219
386
  "C-x C-p": "selectall",
220
387
 
221
388
  // todo fix these
222
- "C-Down": "gotopagedown",
223
- "C-Up": "gotopageup",
224
- "PageDown|C-v": "gotopagedown",
225
- "PageUp|M-v": "gotopageup",
389
+ "C-Down": {command: "goorselect", args: ["gotopagedown","selectpagedown"]},
390
+ "C-Up": {command: "goorselect", args: ["gotopageup","selectpageup"]},
391
+ "PageDown|C-v": {command: "goorselect", args: ["gotopagedown","selectpagedown"]},
392
+ "PageUp|M-v": {command: "goorselect", args: ["gotopageup","selectpageup"]},
226
393
  "S-C-Down": "selectpagedown",
227
394
  "S-C-Up": "selectpageup",
228
- "C-s": "findnext",
229
- "C-r": "findprevious",
395
+
396
+ "C-s": "iSearch",
397
+ "C-r": "iSearchBackwards",
398
+
230
399
  "M-C-s": "findnext",
231
400
  "M-C-r": "findprevious",
232
401
  "S-M-5": "replace",
@@ -245,27 +414,26 @@ exports.emacsKeys = {
245
414
  "M-y": "yankRotate",
246
415
  "C-g": "keyboardQuit",
247
416
 
248
- "C-w": "killRegion",
417
+ "C-w|C-S-W": "killRegion",
249
418
  "M-w": "killRingSave",
250
-
251
419
  "C-Space": "setMark",
252
420
  "C-x C-x": "exchangePointAndMark",
253
421
 
254
422
  "C-t": "transposeletters",
255
-
256
- "M-u": "touppercase",
423
+ "M-u": "touppercase", // Doesn't work
257
424
  "M-l": "tolowercase",
258
- "M-/": "autocomplete",
425
+ "M-/": "autocomplete", // Doesn't work
259
426
  "C-u": "universalArgument",
427
+
260
428
  "M-;": "togglecomment",
261
429
 
262
430
  "C-/|C-x u|S-C--|C-z": "undo",
263
431
  "S-C-/|S-C-x u|C--|S-C-z": "redo", //infinite undo?
264
432
  // vertical editing
265
- "C-x r": "selectRectangularRegion"
266
-
433
+ "C-x r": "selectRectangularRegion",
434
+ "M-x": {command: "focusCommandLine", args: "M-x "}
267
435
  // todo
268
- // "M-x" "C-x C-t" "M-t" "M-c" "F11" "C-M- "M-q"
436
+ // "C-x C-t" "M-t" "M-c" "F11" "C-M- "M-q"
269
437
  };
270
438
 
271
439
 
@@ -275,7 +443,7 @@ exports.handler.addCommands({
275
443
  recenterTopBottom: function(editor) {
276
444
  var renderer = editor.renderer;
277
445
  var pos = renderer.$cursorLayer.getPixelPosition();
278
- var h = renderer.$size.scrollerHeight - renderer.lineHeight;
446
+ var h = renderer.$size.scrollerHeight - renderer.lineHeight;
279
447
  var scrollTop = renderer.scrollTop;
280
448
  if (Math.abs(pos.top - scrollTop) < 2) {
281
449
  scrollTop = pos.top - h;
@@ -289,15 +457,74 @@ exports.handler.addCommands({
289
457
  selectRectangularRegion: function(editor) {
290
458
  editor.multiSelect.toggleBlockSelection();
291
459
  },
292
- setMark: function() {
460
+ setMark: {
461
+ exec: function(editor, args) {
462
+ // Sets mark-mode and clears current selection.
463
+ // When mark is set, keyboard cursor movement commands become
464
+ // selection modification commands. That is,
465
+ // "goto" commands become "select" commands.
466
+ // Any insertion or mouse click resets mark-mode.
467
+ // setMark twice in a row at the same place resets markmode.
468
+ // in multi select mode, ea selection is handled individually
469
+
470
+ if (args && args.count) {
471
+ if (editor.inMultiSelectMode) editor.forEachSelection(moveToMark);
472
+ else moveToMark();
473
+ moveToMark();
474
+ return;
475
+ }
476
+
477
+ var mark = editor.emacsMark(),
478
+ ranges = editor.selection.getAllRanges(),
479
+ rangePositions = ranges.map(function(r) { return {row: r.start.row, column: r.start.column}; }),
480
+ transientMarkModeActive = true,
481
+ hasNoSelection = ranges.every(function(range) { return range.isEmpty(); });
482
+ // if transientMarkModeActive then mark behavior is a little
483
+ // different. Deactivate the mark when setMark is run with active
484
+ // mark
485
+ if (transientMarkModeActive && (mark || !hasNoSelection)) {
486
+ if (editor.inMultiSelectMode) editor.forEachSelection({exec: editor.clearSelection.bind(editor)})
487
+ else editor.clearSelection();
488
+ if (mark) editor.pushEmacsMark(null);
489
+ return;
490
+ }
491
+
492
+ if (!mark) {
493
+ rangePositions.forEach(function(pos) { editor.pushEmacsMark(pos); });
494
+ editor.setEmacsMark(rangePositions[rangePositions.length-1]);
495
+ return;
496
+ }
497
+
498
+ // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
499
+
500
+ function moveToMark() {
501
+ var mark = editor.popEmacsMark();
502
+ mark && editor.moveCursorToPosition(mark);
503
+ }
504
+
505
+ },
506
+ readOnly: true,
507
+ handlesCount: true
293
508
  },
294
509
  exchangePointAndMark: {
295
- exec: function(editor) {
296
- var range = editor.selection.getRange();
297
- editor.selection.setSelectionRange(range, !editor.selection.isBackwards());
510
+ exec: function exchangePointAndMark$exec(editor, args) {
511
+ var sel = editor.selection;
512
+ if (!args.count && !sel.isEmpty()) { // just invert selection
513
+ sel.setSelectionRange(sel.getRange(), !sel.isBackwards());
514
+ return;
515
+ }
516
+
517
+ if (args.count) { // replace mark and point
518
+ var pos = {row: sel.lead.row, column: sel.lead.column};
519
+ sel.clearSelection();
520
+ sel.moveCursorToPosition(editor.emacsMarkForSelection(pos));
521
+ } else { // create selection to last mark
522
+ sel.selectToPosition(editor.emacsMarkForSelection());
523
+ }
298
524
  },
299
- readonly: true,
300
- multiselectAction: "forEach"
525
+ readOnly: true,
526
+ handlesCount: true,
527
+ multiSelectAction: "forEach"
301
528
  },
302
529
  killWord: {
303
530
  exec: function(editor, dir) {
@@ -314,10 +541,23 @@ exports.handler.addCommands({
314
541
  editor.session.remove(range);
315
542
  editor.clearSelection();
316
543
  },
317
- multiselectAction: "forEach"
544
+ multiSelectAction: "forEach"
318
545
  },
319
546
  killLine: function(editor) {
320
- editor.selection.selectLine();
547
+ editor.pushEmacsMark(null);
548
+ var pos = editor.getCursorPosition();
549
+ if (pos.column === 0 &&
550
+ editor.session.doc.getLine(pos.row).length === 0) {
551
+ // If an already empty line is killed, remove
552
+ // the line entirely
553
+ editor.selection.selectLine();
554
+ } else {
555
+ // otherwise just remove from the current cursor position
556
+ // to the end (but don't delete the selection if it's before
557
+ // the cursor)
558
+ editor.clearSelection();
559
+ editor.selection.selectLineEnd();
560
+ }
321
561
  var range = editor.getSelectionRange();
322
562
  var text = editor.session.getTextRange(range);
323
563
  exports.killRing.add(text);
@@ -326,26 +566,63 @@ exports.handler.addCommands({
326
566
  editor.clearSelection();
327
567
  },
328
568
  yank: function(editor) {
329
- editor.onPaste(exports.killRing.get());
569
+ editor.onPaste(exports.killRing.get() || '');
330
570
  editor.keyBinding.$data.lastCommand = "yank";
331
571
  },
332
572
  yankRotate: function(editor) {
333
573
  if (editor.keyBinding.$data.lastCommand != "yank")
334
574
  return;
335
-
336
575
  editor.undo();
576
+ editor.session.$emacsMarkRing.pop(); // also undo recording mark
337
577
  editor.onPaste(exports.killRing.rotate());
338
578
  editor.keyBinding.$data.lastCommand = "yank";
339
579
  },
340
- killRegion: function(editor) {
341
- exports.killRing.add(editor.getCopyText());
342
- editor.commands.byName.cut.exec(editor);
580
+ killRegion: {
581
+ exec: function(editor) {
582
+ exports.killRing.add(editor.getCopyText());
583
+ editor.commands.byName.cut.exec(editor);
584
+ },
585
+ readOnly: true,
586
+ multiSelectAction: "forEach"
343
587
  },
344
- killRingSave: function(editor) {
345
- exports.killRing.add(editor.getCopyText());
588
+ killRingSave: {
589
+ exec: function(editor) {
590
+ // copy text and deselect. will save marks for starts of the
591
+ // selection(s)
592
+
593
+ editor.$handlesEmacsOnCopy = true;
594
+ var marks = editor.session.$emacsMarkRing.slice(),
595
+ deselectedMarks = [];
596
+ exports.killRing.add(editor.getCopyText());
597
+
598
+ setTimeout(function() {
599
+ function deselect() {
600
+ var sel = editor.selection, range = sel.getRange(),
601
+ pos = sel.isBackwards() ? range.end : range.start;
602
+ deselectedMarks.push({row: pos.row, column: pos.column});
603
+ sel.clearSelection();
604
+ }
605
+ editor.$handlesEmacsOnCopy = false;
606
+ if (editor.inMultiSelectMode) editor.forEachSelection({exec: deselect});
607
+ else deselect();
608
+ editor.session.$emacsMarkRing = marks.concat(deselectedMarks.reverse());
609
+ }, 0);
610
+ },
611
+ readOnly: true
612
+ },
613
+ keyboardQuit: function(editor) {
614
+ editor.selection.clearSelection();
615
+ editor.setEmacsMark(null);
616
+ editor.keyBinding.$data.count = null;
617
+ },
618
+ focusCommandLine: function(editor, arg) {
619
+ if (editor.showCommandLine)
620
+ editor.showCommandLine(arg);
346
621
  }
347
622
  });
348
623
 
624
+ exports.handler.addCommands(iSearchCommandModule.iSearchStartCommands);
625
+
349
626
  var commands = exports.handler.commands;
350
627
  commands.yank.isYank = true;
351
628
  commands.yankRotate.isYank = true;
@@ -357,8 +634,9 @@ exports.killRing = {
357
634
  if (this.$data.length > 30)
358
635
  this.$data.shift();
359
636
  },
360
- get: function() {
361
- return this.$data[this.$data.length - 1] || "";
637
+ get: function(n) {
638
+ n = n || 1;
639
+ return this.$data.slice(this.$data.length-n, this.$data.length).reverse().join('\n');
362
640
  },
363
641
  pop: function() {
364
642
  if (this.$data.length > 1)
@@ -371,5 +649,4 @@ exports.killRing = {
371
649
  }
372
650
  };
373
651
 
374
-
375
652
  });