jquery-ace-rails 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (202) hide show
  1. data/lib/jquery-ace-rails/version.rb +1 -1
  2. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/ace.js +0 -0
  3. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/ext-static_highlight.js +0 -0
  4. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/ext-textarea.js +0 -0
  5. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/keybinding-emacs.js +0 -0
  6. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/keybinding-vim.js +0 -0
  7. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-abap.js +0 -0
  8. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-asciidoc.js +0 -0
  9. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-c9search.js +0 -0
  10. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-c_cpp.js +0 -0
  11. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-clojure.js +0 -0
  12. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-coffee.js +0 -0
  13. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-coldfusion.js +0 -0
  14. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-csharp.js +0 -0
  15. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-css.js +0 -0
  16. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-dart.js +0 -0
  17. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-diff.js +0 -0
  18. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-dot.js +0 -0
  19. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-glsl.js +0 -0
  20. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-golang.js +0 -0
  21. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-groovy.js +0 -0
  22. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-haml.js +0 -0
  23. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-haxe.js +0 -0
  24. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-html.js +0 -0
  25. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-jade.js +0 -0
  26. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-java.js +0 -0
  27. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-javascript.js +0 -0
  28. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-json.js +0 -0
  29. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-jsp.js +0 -0
  30. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-jsx.js +0 -0
  31. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-latex.js +0 -0
  32. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-less.js +0 -0
  33. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-liquid.js +0 -0
  34. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-lisp.js +0 -0
  35. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-lua.js +0 -0
  36. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-luapage.js +0 -0
  37. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-lucene.js +0 -0
  38. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-makefile.js +0 -0
  39. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-markdown.js +0 -0
  40. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-objectivec.js +0 -0
  41. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-ocaml.js +0 -0
  42. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-perl.js +0 -0
  43. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-pgsql.js +0 -0
  44. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-php.js +0 -0
  45. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-powershell.js +0 -0
  46. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-python.js +0 -0
  47. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-r.js +0 -0
  48. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-rdoc.js +0 -0
  49. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-rhtml.js +0 -0
  50. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-ruby.js +0 -0
  51. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-scad.js +0 -0
  52. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-scala.js +0 -0
  53. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-scss.js +0 -0
  54. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-sh.js +0 -0
  55. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-sql.js +0 -0
  56. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-stylus.js +0 -0
  57. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-svg.js +0 -0
  58. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-tcl.js +0 -0
  59. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-tex.js +0 -0
  60. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-text.js +0 -0
  61. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-textile.js +0 -0
  62. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-typescript.js +0 -0
  63. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-xml.js +0 -0
  64. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-xquery.js +0 -0
  65. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/mode-yaml.js +0 -0
  66. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-ambiance.js +0 -0
  67. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-chaos.js +0 -0
  68. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-chrome.js +0 -0
  69. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-clouds.js +0 -0
  70. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-clouds_midnight.js +0 -0
  71. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-cobalt.js +0 -0
  72. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-crimson_editor.js +0 -0
  73. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-dawn.js +0 -0
  74. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-dreamweaver.js +0 -0
  75. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-eclipse.js +0 -0
  76. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-github.js +0 -0
  77. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-idle_fingers.js +0 -0
  78. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-kr.js +0 -0
  79. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-merbivore.js +0 -0
  80. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-merbivore_soft.js +0 -0
  81. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-mono_industrial.js +0 -0
  82. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-monokai.js +0 -0
  83. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-pastel_on_dark.js +0 -0
  84. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-solarized_dark.js +0 -0
  85. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-solarized_light.js +0 -0
  86. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-textmate.js +0 -0
  87. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-tomorrow.js +0 -0
  88. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-tomorrow_night.js +0 -0
  89. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-tomorrow_night_blue.js +0 -0
  90. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-tomorrow_night_bright.js +0 -0
  91. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-tomorrow_night_eighties.js +0 -0
  92. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-twilight.js +0 -0
  93. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-vibrant_ink.js +0 -0
  94. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/theme-xcode.js +0 -0
  95. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/worker-coffee.js +0 -0
  96. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/worker-css.js +0 -0
  97. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/worker-javascript.js +0 -0
  98. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/worker-json.js +0 -0
  99. data/vendor/assets/javascripts/{jquery-ace/vendor/ace-build/src-min-noconflict → ace}/worker-xquery.js +0 -0
  100. data/vendor/assets/javascripts/{jquery-ace/jquery-ace.coffee → jquery-ace.coffee} +1 -1
  101. data/vendor/assets/javascripts/{jquery-ace/jquery-ace.js → jquery-ace.js} +1 -1
  102. data/vendor/assets/javascripts/{jquery-ace/jquery-ace.min.js → jquery-ace.min.js} +1 -1
  103. data/vendor/assets/javascripts/{jquery-ace/vendor → jquery}/jquery-1.8.3.min.js +0 -0
  104. metadata +104 -202
  105. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/ace.js +0 -14262
  106. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/ext-static_highlight.js +0 -96
  107. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/ext-textarea.js +0 -591
  108. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/keybinding-emacs.js +0 -364
  109. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/keybinding-vim.js +0 -1646
  110. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-abap.js +0 -259
  111. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-asciidoc.js +0 -372
  112. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-c9search.js +0 -187
  113. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-c_cpp.js +0 -765
  114. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-clojure.js +0 -325
  115. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-coffee.js +0 -520
  116. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-coldfusion.js +0 -1725
  117. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-csharp.js +0 -605
  118. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-css.js +0 -680
  119. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-dart.js +0 -279
  120. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-diff.js +0 -163
  121. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-dot.js +0 -348
  122. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-glsl.js +0 -838
  123. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-golang.js +0 -660
  124. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-groovy.js +0 -1082
  125. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-haml.js +0 -440
  126. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-haxe.js +0 -610
  127. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-html.js +0 -1850
  128. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-jade.js +0 -2035
  129. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-java.js +0 -1041
  130. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-javascript.js +0 -921
  131. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-json.js +0 -574
  132. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-jsp.js +0 -1371
  133. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-jsx.js +0 -635
  134. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-latex.js +0 -217
  135. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-less.js +0 -394
  136. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-liquid.js +0 -921
  137. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-lisp.js +0 -142
  138. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-lua.js +0 -609
  139. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-luapage.js +0 -2463
  140. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-lucene.js +0 -64
  141. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-makefile.js +0 -314
  142. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-markdown.js +0 -2228
  143. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-objectivec.js +0 -655
  144. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-ocaml.js +0 -448
  145. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-perl.js +0 -319
  146. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-pgsql.js +0 -928
  147. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-php.js +0 -2299
  148. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-powershell.js +0 -611
  149. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-python.js +0 -290
  150. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-r.js +0 -410
  151. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-rdoc.js +0 -189
  152. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-rhtml.js +0 -2138
  153. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-ruby.js +0 -410
  154. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-scad.js +0 -698
  155. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-scala.js +0 -1070
  156. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-scss.js +0 -416
  157. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-sh.js +0 -232
  158. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-sql.js +0 -145
  159. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-stylus.js +0 -474
  160. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-svg.js +0 -1490
  161. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-tcl.js +0 -342
  162. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-tex.js +0 -171
  163. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-text.js +0 -0
  164. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-textile.js +0 -175
  165. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-typescript.js +0 -1011
  166. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-xml.js +0 -792
  167. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-xquery.js +0 -676
  168. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-yaml.js +0 -298
  169. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-ambiance.js +0 -202
  170. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-chaos.js +0 -167
  171. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-chrome.js +0 -161
  172. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-clouds.js +0 -135
  173. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-clouds_midnight.js +0 -136
  174. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-cobalt.js +0 -150
  175. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-crimson_editor.js +0 -154
  176. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-dawn.js +0 -146
  177. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-dreamweaver.js +0 -173
  178. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-eclipse.js +0 -122
  179. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-github.js +0 -136
  180. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-idle_fingers.js +0 -136
  181. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-kr.js +0 -143
  182. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-merbivore.js +0 -135
  183. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-merbivore_soft.js +0 -136
  184. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-mono_industrial.js +0 -148
  185. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-monokai.js +0 -140
  186. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-pastel_on_dark.js +0 -148
  187. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-solarized_dark.js +0 -128
  188. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-solarized_light.js +0 -131
  189. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-textmate.js +0 -163
  190. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-tomorrow.js +0 -147
  191. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-tomorrow_night.js +0 -147
  192. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-tomorrow_night_blue.js +0 -145
  193. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-tomorrow_night_bright.js +0 -147
  194. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-tomorrow_night_eighties.js +0 -144
  195. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-twilight.js +0 -147
  196. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-vibrant_ink.js +0 -131
  197. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-xcode.js +0 -125
  198. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/worker-coffee.js +0 -6985
  199. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/worker-css.js +0 -7741
  200. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/worker-javascript.js +0 -6387
  201. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/worker-json.js +0 -2228
  202. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/worker-xquery.js +0 -21719
@@ -1,364 +0,0 @@
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
- define('ace/keyboard/emacs', ['require', 'exports', 'module' , 'ace/lib/dom', 'ace/keyboard/hash_handler', 'ace/lib/keys'], function(require, exports, module) {
32
-
33
-
34
- var dom = require("../lib/dom");
35
-
36
- var screenToTextBlockCoordinates = function(pageX, pageY) {
37
- var canvasPos = this.scroller.getBoundingClientRect();
38
-
39
- var col = Math.floor(
40
- (pageX + this.scrollLeft - canvasPos.left - this.$padding - dom.getPageScrollLeft()) / this.characterWidth
41
- );
42
- var row = Math.floor(
43
- (pageY + this.scrollTop - canvasPos.top - dom.getPageScrollTop()) / this.lineHeight
44
- );
45
-
46
- return this.session.screenToDocumentPosition(row, col);
47
- };
48
-
49
- var HashHandler = require("./hash_handler").HashHandler;
50
- exports.handler = new HashHandler();
51
-
52
- var initialized = false;
53
- exports.handler.attach = function(editor) {
54
- if (!initialized) {
55
- initialized = true;
56
- dom.importCssString('\
57
- .emacs-mode .ace_cursor{\
58
- border: 2px rgba(50,250,50,0.8) solid!important;\
59
- -moz-box-sizing: border-box!important;\
60
- -webkit-box-sizing: border-box!important;\
61
- box-sizing: border-box!important;\
62
- background-color: rgba(0,250,0,0.9);\
63
- opacity: 0.5;\
64
- }\
65
- .emacs-mode .ace_cursor.ace_hidden{\
66
- opacity: 1;\
67
- background-color: transparent;\
68
- }\
69
- .emacs-mode .ace_overwrite-cursors .ace_cursor {\
70
- opacity: 1;\
71
- background-color: transparent;\
72
- border-width: 0 0 2px 2px !important;\
73
- }\
74
- .emacs-mode .ace_text-layer {\
75
- z-index: 4\
76
- }\
77
- .emacs-mode .ace_cursor-layer {\
78
- z-index: 2\
79
- }', 'emacsMode'
80
- );
81
- }
82
-
83
- editor.renderer.screenToTextCoordinates = screenToTextBlockCoordinates;
84
- editor.setStyle("emacs-mode");
85
- };
86
-
87
- exports.handler.detach = function(editor) {
88
- delete editor.renderer.screenToTextCoordinates;
89
- editor.unsetStyle("emacs-mode");
90
- };
91
-
92
-
93
- 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) {
98
- var hashId = 0;
99
- c.split("-").forEach(function(c){
100
- hashId = hashId | keys[eMods[c]];
101
- });
102
- eMods[hashId] = c.toLowerCase() + "-";
103
- });
104
-
105
- exports.handler.bindKey = function(key, command) {
106
- if (!key)
107
- return;
108
-
109
- var ckb = this.commmandKeyBinding;
110
- key.split("|").forEach(function(keyPart) {
111
- keyPart = keyPart.toLowerCase();
112
- ckb[keyPart] = command;
113
- keyPart = keyPart.split(" ")[0];
114
- if (!ckb[keyPart])
115
- ckb[keyPart] = "null";
116
- }, this);
117
- };
118
-
119
-
120
- exports.handler.handleKeyboard = function(data, hashId, key, keyCode) {
121
- if (hashId == -1) {
122
- if (data.count) {
123
- var str = Array(data.count + 1).join(key);
124
- data.count = null;
125
- return {command: "insertstring", args: str};
126
- }
127
- }
128
-
129
- if (key == "\x00")
130
- return;
131
-
132
- var modifier = eMods[hashId];
133
- if (modifier == "c-" || data.universalArgument) {
134
- var count = parseInt(key[key.length - 1]);
135
- if (count) {
136
- data.count = count;
137
- return {command: "null"};
138
- }
139
- }
140
- data.universalArgument = false;
141
-
142
- if (modifier)
143
- key = modifier + key;
144
-
145
- if (data.keyChain)
146
- key = data.keyChain += " " + key;
147
-
148
- var command = this.commmandKeyBinding[key];
149
- data.keyChain = command == "null" ? key : "";
150
-
151
- if (!command)
152
- return;
153
-
154
- if (command == "null")
155
- return {command: "null"};
156
-
157
- if (command == "universalArgument") {
158
- data.universalArgument = true;
159
- return {command: "null"};
160
- }
161
-
162
- if (typeof command != "string") {
163
- var args = command.args;
164
- command = command.command;
165
- }
166
-
167
- if (typeof command == "string") {
168
- command = this.commands[command] || data.editor.commands.commands[command];
169
- }
170
-
171
- if (!command.readonly && !command.isYank)
172
- data.lastCommand = null;
173
-
174
- if (data.count) {
175
- var count = data.count;
176
- 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);
183
- }
184
- }
185
- };
186
- }
187
-
188
- return {command: command, args: args};
189
- };
190
-
191
- exports.emacsKeys = {
192
- "Up|C-p" : "golineup",
193
- "Down|C-n" : "golinedown",
194
- "Left|C-b" : "gotoleft",
195
- "Right|C-f" : "gotoright",
196
- "C-Left|M-b" : "gotowordleft",
197
- "C-Right|M-f" : "gotowordright",
198
- "Home|C-a" : "gotolinestart",
199
- "End|C-e" : "gotolineend",
200
- "C-Home|S-M-,": "gotostart",
201
- "C-End|S-M-." : "gotoend",
202
- "S-Up|S-C-p" : "selectup",
203
- "S-Down|S-C-n" : "selectdown",
204
- "S-Left|S-C-b" : "selectleft",
205
- "S-Right|S-C-f" : "selectright",
206
- "S-C-Left|S-M-b" : "selectwordleft",
207
- "S-C-Right|S-M-f" : "selectwordright",
208
- "S-Home|S-C-a" : "selecttolinestart",
209
- "S-End|S-C-e" : "selecttolineend",
210
- "S-C-Home" : "selecttostart",
211
- "S-C-End" : "selecttoend",
212
-
213
- "C-l" : "recenterTopBottom",
214
- "M-s" : "centerselection",
215
- "M-g": "gotoline",
216
- "C-x C-p": "selectall",
217
- "C-Down": "gotopagedown",
218
- "C-Up": "gotopageup",
219
- "PageDown|C-v": "gotopagedown",
220
- "PageUp|M-v": "gotopageup",
221
- "S-C-Down": "selectpagedown",
222
- "S-C-Up": "selectpageup",
223
- "C-s": "findnext",
224
- "C-r": "findprevious",
225
- "M-C-s": "findnext",
226
- "M-C-r": "findprevious",
227
- "S-M-5": "replace",
228
- "Backspace": "backspace",
229
- "Delete|C-d": "del",
230
- "Return|C-m": {command: "insertstring", args: "\n"}, // "newline"
231
- "C-o": "splitline",
232
-
233
- "M-d|C-Delete": {command: "killWord", args: "right"},
234
- "C-Backspace|M-Backspace|M-Delete": {command: "killWord", args: "left"},
235
- "C-k": "killLine",
236
-
237
- "C-y|S-Delete": "yank",
238
- "M-y": "yankRotate",
239
- "C-g": "keyboardQuit",
240
-
241
- "C-w": "killRegion",
242
- "M-w": "killRingSave",
243
-
244
- "C-Space": "setMark",
245
- "C-x C-x": "exchangePointAndMark",
246
-
247
- "C-t": "transposeletters",
248
-
249
- "M-u": "touppercase",
250
- "M-l": "tolowercase",
251
- "M-/": "autocomplete",
252
- "C-u": "universalArgument",
253
- "M-;": "togglecomment",
254
-
255
- "C-/|C-x u|S-C--|C-z": "undo",
256
- "S-C-/|S-C-x u|C--|S-C-z": "redo", //infinite undo?
257
- "C-x r": "selectRectangularRegion"
258
- };
259
-
260
-
261
- exports.handler.bindKeys(exports.emacsKeys);
262
-
263
- exports.handler.addCommands({
264
- recenterTopBottom: function(editor) {
265
- var renderer = editor.renderer;
266
- var pos = renderer.$cursorLayer.getPixelPosition();
267
- var h = renderer.$size.scrollerHeight - renderer.lineHeight;
268
- var scrollTop = renderer.scrollTop;
269
- if (Math.abs(pos.top - scrollTop) < 2) {
270
- scrollTop = pos.top - h;
271
- } else if (Math.abs(pos.top - scrollTop - h * 0.5) < 2) {
272
- scrollTop = pos.top;
273
- } else {
274
- scrollTop = pos.top - h * 0.5;
275
- }
276
- editor.session.setScrollTop(scrollTop);
277
- },
278
- selectRectangularRegion: function(editor) {
279
- editor.multiSelect.toggleBlockSelection();
280
- },
281
- setMark: function() {
282
- },
283
- exchangePointAndMark: {
284
- exec: function(editor) {
285
- var range = editor.selection.getRange();
286
- editor.selection.setSelectionRange(range, !editor.selection.isBackwards());
287
- },
288
- readonly: true,
289
- multiselectAction: "forEach"
290
- },
291
- killWord: {
292
- exec: function(editor, dir) {
293
- editor.clearSelection();
294
- if (dir == "left")
295
- editor.selection.selectWordLeft();
296
- else
297
- editor.selection.selectWordRight();
298
-
299
- var range = editor.getSelectionRange();
300
- var text = editor.session.getTextRange(range);
301
- exports.killRing.add(text);
302
-
303
- editor.session.remove(range);
304
- editor.clearSelection();
305
- },
306
- multiselectAction: "forEach"
307
- },
308
- killLine: function(editor) {
309
- editor.selection.selectLine();
310
- var range = editor.getSelectionRange();
311
- var text = editor.session.getTextRange(range);
312
- exports.killRing.add(text);
313
-
314
- editor.session.remove(range);
315
- editor.clearSelection();
316
- },
317
- yank: function(editor) {
318
- editor.onPaste(exports.killRing.get());
319
- editor.keyBinding.$data.lastCommand = "yank";
320
- },
321
- yankRotate: function(editor) {
322
- if (editor.keyBinding.$data.lastCommand != "yank")
323
- return;
324
-
325
- editor.undo();
326
- editor.onPaste(exports.killRing.rotate());
327
- editor.keyBinding.$data.lastCommand = "yank";
328
- },
329
- killRegion: function(editor) {
330
- exports.killRing.add(editor.getCopyText());
331
- editor.commands.byName.cut.exec(editor);
332
- },
333
- killRingSave: function(editor) {
334
- exports.killRing.add(editor.getCopyText());
335
- }
336
- });
337
-
338
- var commands = exports.handler.commands;
339
- commands.yank.isYank = true;
340
- commands.yankRotate.isYank = true;
341
-
342
- exports.killRing = {
343
- $data: [],
344
- add: function(str) {
345
- str && this.$data.push(str);
346
- if (this.$data.length > 30)
347
- this.$data.shift();
348
- },
349
- get: function() {
350
- return this.$data[this.$data.length - 1] || "";
351
- },
352
- pop: function() {
353
- if (this.$data.length > 1)
354
- this.$data.pop();
355
- return this.get();
356
- },
357
- rotate: function() {
358
- this.$data.unshift(this.$data.pop());
359
- return this.get();
360
- }
361
- };
362
-
363
-
364
- });
@@ -1,1646 +0,0 @@
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
- define('ace/keyboard/vim', ['require', 'exports', 'module' , 'ace/keyboard/vim/commands', 'ace/keyboard/vim/maps/util', 'ace/lib/useragent'], function(require, exports, module) {
32
-
33
-
34
- var cmds = require("./vim/commands");
35
- var coreCommands = cmds.coreCommands;
36
- var util = require("./vim/maps/util");
37
- var useragent = require("../lib/useragent");
38
-
39
- var startCommands = {
40
- "i": {
41
- command: coreCommands.start
42
- },
43
- "I": {
44
- command: coreCommands.startBeginning
45
- },
46
- "a": {
47
- command: coreCommands.append
48
- },
49
- "A": {
50
- command: coreCommands.appendEnd
51
- },
52
- "ctrl-f": {
53
- command: "gotopagedown"
54
- },
55
- "ctrl-b": {
56
- command: "gotopageup"
57
- }
58
- };
59
-
60
- exports.handler = {
61
- handleMacRepeat: function(data, hashId, key) {
62
- if (hashId == -1) {
63
- data.inputChar = key;
64
- data.lastEvent = "input";
65
- } else if (data.inputChar && data.$lastHash == hashId && data.$lastKey == key) {
66
- if (data.lastEvent == "input") {
67
- data.lastEvent = "input1";
68
- } else if (data.lastEvent == "input1") {
69
- return true;
70
- }
71
- } else {
72
- data.$lastHash = hashId;
73
- data.$lastKey = key;
74
- data.lastEvent = "keypress";
75
- }
76
- },
77
-
78
- handleKeyboard: function(data, hashId, key, keyCode, e) {
79
- if (hashId != 0 && (key == "" || key == "\x00"))
80
- return null;
81
-
82
- if (hashId == 1)
83
- key = "ctrl-" + key;
84
-
85
- if ((key == "esc" && hashId == 0) || key == "ctrl-[") {
86
- return {command: coreCommands.stop};
87
- } else if (data.state == "start") {
88
- if (useragent.isMac && this.handleMacRepeat(data, hashId, key)) {
89
- hashId = -1;
90
- key = data.inputChar;
91
- }
92
-
93
- if (hashId == -1 || hashId == 1 || hashId == 0 && key.length > 1) {
94
- if (cmds.inputBuffer.idle && startCommands[key])
95
- return startCommands[key];
96
- return {
97
- command: {
98
- exec: function(editor) {
99
- return cmds.inputBuffer.push(editor, key);
100
- }
101
- }
102
- };
103
- } // if no modifier || shift: wait for input.
104
- else if (key.length == 1 && (hashId == 0 || hashId == 4)) {
105
- return {command: "null", passEvent: true};
106
- } else if (key == "esc" && hashId == 0) {
107
- return {command: coreCommands.stop};
108
- }
109
- } else {
110
- if (key == "ctrl-w") {
111
- return {command: "removewordleft"};
112
- }
113
- }
114
- },
115
-
116
- attach: function(editor) {
117
- editor.on("click", exports.onCursorMove);
118
- if (util.currentMode !== "insert")
119
- cmds.coreCommands.stop.exec(editor);
120
- editor.$vimModeHandler = this;
121
- },
122
-
123
- detach: function(editor) {
124
- editor.removeListener("click", exports.onCursorMove);
125
- util.noMode(editor);
126
- util.currentMode = "normal";
127
- },
128
-
129
- actions: cmds.actions,
130
- getStatusText: function() {
131
- if (util.currentMode == "insert")
132
- return "INSERT";
133
- if (util.onVisualMode)
134
- return (util.onVisualLineMode ? "VISUAL LINE " : "VISUAL ") + cmds.inputBuffer.status;
135
- return cmds.inputBuffer.status;
136
- }
137
- };
138
-
139
-
140
- exports.onCursorMove = function(e) {
141
- cmds.onCursorMove(e.editor, e);
142
- exports.onCursorMove.scheduled = false;
143
- };
144
-
145
- });
146
-
147
- define('ace/keyboard/vim/commands', ['require', 'exports', 'module' , 'ace/keyboard/vim/maps/util', 'ace/keyboard/vim/maps/motions', 'ace/keyboard/vim/maps/operators', 'ace/keyboard/vim/maps/aliases', 'ace/keyboard/vim/registers'], function(require, exports, module) {
148
-
149
- "never use strict";
150
-
151
- var util = require("./maps/util");
152
- var motions = require("./maps/motions");
153
- var operators = require("./maps/operators");
154
- var alias = require("./maps/aliases");
155
- var registers = require("./registers");
156
-
157
- var NUMBER = 1;
158
- var OPERATOR = 2;
159
- var MOTION = 3;
160
- var ACTION = 4;
161
- var HMARGIN = 8; // Minimum amount of line separation between margins;
162
-
163
- var repeat = function repeat(fn, count, args) {
164
- while (0 < count--)
165
- fn.apply(this, args);
166
- };
167
-
168
- var ensureScrollMargin = function(editor) {
169
- var renderer = editor.renderer;
170
- var pos = renderer.$cursorLayer.getPixelPosition();
171
-
172
- var top = pos.top;
173
-
174
- var margin = HMARGIN * renderer.layerConfig.lineHeight;
175
- if (2 * margin > renderer.$size.scrollerHeight)
176
- margin = renderer.$size.scrollerHeight / 2;
177
-
178
- if (renderer.scrollTop > top - margin) {
179
- renderer.session.setScrollTop(top - margin);
180
- }
181
-
182
- if (renderer.scrollTop + renderer.$size.scrollerHeight < top + margin + renderer.lineHeight) {
183
- renderer.session.setScrollTop(top + margin + renderer.lineHeight - renderer.$size.scrollerHeight);
184
- }
185
- };
186
-
187
- var actions = exports.actions = {
188
- "z": {
189
- param: true,
190
- fn: function(editor, range, count, param) {
191
- switch (param) {
192
- case "z":
193
- editor.renderer.alignCursor(null, 0.5);
194
- break;
195
- case "t":
196
- editor.renderer.alignCursor(null, 0);
197
- break;
198
- case "b":
199
- editor.renderer.alignCursor(null, 1);
200
- break;
201
- }
202
- }
203
- },
204
- "r": {
205
- param: true,
206
- fn: function(editor, range, count, param) {
207
- if (param && param.length) {
208
- repeat(function() { editor.insert(param); }, count || 1);
209
- editor.navigateLeft();
210
- }
211
- }
212
- },
213
- "R": {
214
- fn: function(editor, range, count, param) {
215
- util.insertMode(editor);
216
- editor.setOverwrite(true);
217
- }
218
- },
219
- "~": {
220
- fn: function(editor, range, count) {
221
- repeat(function() {
222
- var range = editor.selection.getRange();
223
- if (range.isEmpty())
224
- range.end.column++;
225
- var text = editor.session.getTextRange(range);
226
- var toggled = text.toUpperCase();
227
- if (toggled == text)
228
- editor.navigateRight();
229
- else
230
- editor.session.replace(range, toggled);
231
- }, count || 1);
232
- }
233
- },
234
- "*": {
235
- fn: function(editor, range, count, param) {
236
- editor.selection.selectWord();
237
- editor.findNext();
238
- ensureScrollMargin(editor);
239
- var r = editor.selection.getRange();
240
- editor.selection.setSelectionRange(r, true);
241
- }
242
- },
243
- "#": {
244
- fn: function(editor, range, count, param) {
245
- editor.selection.selectWord();
246
- editor.findPrevious();
247
- ensureScrollMargin(editor);
248
- var r = editor.selection.getRange();
249
- editor.selection.setSelectionRange(r, true);
250
- }
251
- },
252
- "m": {
253
- param: true,
254
- fn: function(editor, range, count, param) {
255
- var s = editor.session;
256
- var markers = s.vimMarkers || (s.vimMarkers = {});
257
- var c = editor.getCursorPosition();
258
- if (!markers[param]) {
259
- markers[param] = editor.session.doc.createAnchor(c);
260
- }
261
- markers[param].setPosition(c.row, c.column, true);
262
- }
263
- },
264
- "n": {
265
- fn: function(editor, range, count, param) {
266
- var options = editor.getLastSearchOptions();
267
- options.backwards = false;
268
-
269
- editor.selection.moveCursorRight();
270
- editor.selection.clearSelection();
271
- editor.findNext(options);
272
-
273
- ensureScrollMargin(editor);
274
- var r = editor.selection.getRange();
275
- r.end.row = r.start.row;
276
- r.end.column = r.start.column;
277
- editor.selection.setSelectionRange(r, true);
278
- }
279
- },
280
- "N": {
281
- fn: function(editor, range, count, param) {
282
- var options = editor.getLastSearchOptions();
283
- options.backwards = true;
284
-
285
- editor.findPrevious(options);
286
- ensureScrollMargin(editor);
287
- var r = editor.selection.getRange();
288
- r.end.row = r.start.row;
289
- r.end.column = r.start.column;
290
- editor.selection.setSelectionRange(r, true);
291
- }
292
- },
293
- "v": {
294
- fn: function(editor, range, count, param) {
295
- editor.selection.selectRight();
296
- util.visualMode(editor, false);
297
- },
298
- acceptsMotion: true
299
- },
300
- "V": {
301
- fn: function(editor, range, count, param) {
302
- var row = editor.getCursorPosition().row;
303
- editor.selection.clearSelection();
304
- editor.selection.moveCursorTo(row, 0);
305
- editor.selection.selectLineEnd();
306
- editor.selection.visualLineStart = row;
307
-
308
- util.visualMode(editor, true);
309
- },
310
- acceptsMotion: true
311
- },
312
- "Y": {
313
- fn: function(editor, range, count, param) {
314
- util.copyLine(editor);
315
- }
316
- },
317
- "p": {
318
- fn: function(editor, range, count, param) {
319
- var defaultReg = registers._default;
320
-
321
- editor.setOverwrite(false);
322
- if (defaultReg.isLine) {
323
- var pos = editor.getCursorPosition();
324
- var lines = defaultReg.text.split("\n");
325
- editor.session.getDocument().insertLines(pos.row + 1, lines);
326
- editor.moveCursorTo(pos.row + 1, 0);
327
- }
328
- else {
329
- editor.navigateRight();
330
- editor.insert(defaultReg.text);
331
- editor.navigateLeft();
332
- }
333
- editor.setOverwrite(true);
334
- editor.selection.clearSelection();
335
- }
336
- },
337
- "P": {
338
- fn: function(editor, range, count, param) {
339
- var defaultReg = registers._default;
340
- editor.setOverwrite(false);
341
-
342
- if (defaultReg.isLine) {
343
- var pos = editor.getCursorPosition();
344
- var lines = defaultReg.text.split("\n");
345
- editor.session.getDocument().insertLines(pos.row, lines);
346
- editor.moveCursorTo(pos.row, 0);
347
- }
348
- else {
349
- editor.insert(defaultReg.text);
350
- }
351
- editor.setOverwrite(true);
352
- editor.selection.clearSelection();
353
- }
354
- },
355
- "J": {
356
- fn: function(editor, range, count, param) {
357
- var session = editor.session;
358
- range = editor.getSelectionRange();
359
- var pos = {row: range.start.row, column: range.start.column};
360
- count = count || range.end.row - range.start.row;
361
- var maxRow = Math.min(pos.row + (count || 1), session.getLength() - 1);
362
-
363
- range.start.column = session.getLine(pos.row).length;
364
- range.end.column = session.getLine(maxRow).length;
365
- range.end.row = maxRow;
366
-
367
- var text = "";
368
- for (var i = pos.row; i < maxRow; i++) {
369
- var nextLine = session.getLine(i + 1);
370
- text += " " + /^\s*(.*)$/.exec(nextLine)[1] || "";
371
- }
372
-
373
- session.replace(range, text);
374
- editor.moveCursorTo(pos.row, pos.column);
375
- }
376
- },
377
- "u": {
378
- fn: function(editor, range, count, param) {
379
- count = parseInt(count || 1, 10);
380
- for (var i = 0; i < count; i++) {
381
- editor.undo();
382
- }
383
- editor.selection.clearSelection();
384
- }
385
- },
386
- "ctrl-r": {
387
- fn: function(editor, range, count, param) {
388
- count = parseInt(count || 1, 10);
389
- for (var i = 0; i < count; i++) {
390
- editor.redo();
391
- }
392
- editor.selection.clearSelection();
393
- }
394
- },
395
- ":": {
396
- fn: function(editor, range, count, param) {
397
- }
398
- },
399
- "/": {
400
- fn: function(editor, range, count, param) {
401
- }
402
- },
403
- "?": {
404
- fn: function(editor, range, count, param) {
405
- }
406
- },
407
- ".": {
408
- fn: function(editor, range, count, param) {
409
- util.onInsertReplaySequence = inputBuffer.lastInsertCommands;
410
- var previous = inputBuffer.previous;
411
- if (previous) // If there is a previous action
412
- inputBuffer.exec(editor, previous.action, previous.param);
413
- }
414
- },
415
- "ctrl-x": {
416
- fn: function(editor, range, count, param) {
417
- editor.modifyNumber(-(count || 1));
418
- }
419
- },
420
- "ctrl-a": {
421
- fn: function(editor, range, count, param) {
422
- editor.modifyNumber(count || 1);
423
- }
424
- },
425
- };
426
-
427
- var inputBuffer = exports.inputBuffer = {
428
- accepting: [NUMBER, OPERATOR, MOTION, ACTION],
429
- currentCmd: null,
430
- currentCount: "",
431
- status: "",
432
- operator: null,
433
- motion: null,
434
-
435
- lastInsertCommands: [],
436
-
437
- push: function(editor, ch, keyId) {
438
- var isKeyHandled = true;
439
- this.idle = false;
440
- var wObj = this.waitingForParam;
441
- if (wObj) {
442
- this.exec(editor, wObj, ch);
443
- }
444
- else if (!(ch === "0" && !this.currentCount.length) &&
445
- (ch.match(/^\d+$/) && this.isAccepting(NUMBER))) {
446
- this.currentCount += ch;
447
- this.currentCmd = NUMBER;
448
- this.accepting = [NUMBER, OPERATOR, MOTION, ACTION];
449
- }
450
- else if (!this.operator && this.isAccepting(OPERATOR) && operators[ch]) {
451
- this.operator = {
452
- ch: ch,
453
- count: this.getCount()
454
- };
455
- this.currentCmd = OPERATOR;
456
- this.accepting = [NUMBER, MOTION, ACTION];
457
- this.exec(editor, { operator: this.operator });
458
- }
459
- else if (motions[ch] && this.isAccepting(MOTION)) {
460
- this.currentCmd = MOTION;
461
-
462
- var ctx = {
463
- operator: this.operator,
464
- motion: {
465
- ch: ch,
466
- count: this.getCount()
467
- }
468
- };
469
-
470
- if (motions[ch].param)
471
- this.waitForParam(ctx);
472
- else
473
- this.exec(editor, ctx);
474
- }
475
- else if (alias[ch] && this.isAccepting(MOTION)) {
476
- alias[ch].operator.count = this.getCount();
477
- this.exec(editor, alias[ch]);
478
- }
479
- else if (actions[ch] && this.isAccepting(ACTION)) {
480
- var actionObj = {
481
- action: {
482
- fn: actions[ch].fn,
483
- count: this.getCount()
484
- }
485
- };
486
-
487
- if (actions[ch].param) {
488
- this.waitForParam(actionObj);
489
- }
490
- else {
491
- this.exec(editor, actionObj);
492
- }
493
-
494
- if (actions[ch].acceptsMotion)
495
- this.idle = false;
496
- }
497
- else if (this.operator) {
498
- this.exec(editor, { operator: this.operator }, ch);
499
- }
500
- else {
501
- isKeyHandled = ch.length == 1;
502
- this.reset();
503
- }
504
-
505
- if (this.waitingForParam || this.motion || this.operator) {
506
- this.status += ch;
507
- } else if (this.currentCount) {
508
- this.status = this.currentCount;
509
- } else if (this.status) {
510
- this.status = "";
511
- } else {
512
- return isKeyHandled;
513
- }
514
- editor._emit("changeStatus");
515
- return isKeyHandled;
516
- },
517
-
518
- waitForParam: function(cmd) {
519
- this.waitingForParam = cmd;
520
- },
521
-
522
- getCount: function() {
523
- var count = this.currentCount;
524
- this.currentCount = "";
525
- return count && parseInt(count, 10);
526
- },
527
-
528
- exec: function(editor, action, param) {
529
- var m = action.motion;
530
- var o = action.operator;
531
- var a = action.action;
532
-
533
- if (!param)
534
- param = action.param;
535
-
536
- if (o) {
537
- this.previous = {
538
- action: action,
539
- param: param
540
- };
541
- }
542
-
543
- if (o && !editor.selection.isEmpty()) {
544
- if (operators[o.ch].selFn) {
545
- operators[o.ch].selFn(editor, editor.getSelectionRange(), o.count, param);
546
- this.reset();
547
- }
548
- return;
549
- }
550
- else if (!m && !a && o && param) {
551
- operators[o.ch].fn(editor, null, o.count, param);
552
- this.reset();
553
- }
554
- else if (m) {
555
- var run = function(fn) {
556
- if (fn && typeof fn === "function") { // There should always be a motion
557
- if (m.count && !motionObj.handlesCount)
558
- repeat(fn, m.count, [editor, null, m.count, param]);
559
- else
560
- fn(editor, null, m.count, param);
561
- }
562
- };
563
-
564
- var motionObj = motions[m.ch];
565
- var selectable = motionObj.sel;
566
-
567
- if (!o) {
568
- if ((util.onVisualMode || util.onVisualLineMode) && selectable)
569
- run(motionObj.sel);
570
- else
571
- run(motionObj.nav);
572
- }
573
- else if (selectable) {
574
- repeat(function() {
575
- run(motionObj.sel);
576
- operators[o.ch].fn(editor, editor.getSelectionRange(), o.count, param);
577
- }, o.count || 1);
578
- }
579
- this.reset();
580
- }
581
- else if (a) {
582
- a.fn(editor, editor.getSelectionRange(), a.count, param);
583
- this.reset();
584
- }
585
- handleCursorMove(editor);
586
- },
587
-
588
- isAccepting: function(type) {
589
- return this.accepting.indexOf(type) !== -1;
590
- },
591
-
592
- reset: function() {
593
- this.operator = null;
594
- this.motion = null;
595
- this.currentCount = "";
596
- this.status = "";
597
- this.accepting = [NUMBER, OPERATOR, MOTION, ACTION];
598
- this.idle = true;
599
- this.waitingForParam = null;
600
- }
601
- };
602
-
603
- function setPreviousCommand(fn) {
604
- inputBuffer.previous = { action: { action: { fn: fn } } };
605
- }
606
-
607
- exports.coreCommands = {
608
- start: {
609
- exec: function start(editor) {
610
- util.insertMode(editor);
611
- setPreviousCommand(start);
612
- }
613
- },
614
- startBeginning: {
615
- exec: function startBeginning(editor) {
616
- editor.navigateLineStart();
617
- util.insertMode(editor);
618
- setPreviousCommand(startBeginning);
619
- }
620
- },
621
- stop: {
622
- exec: function stop(editor) {
623
- inputBuffer.reset();
624
- util.onVisualMode = false;
625
- util.onVisualLineMode = false;
626
- inputBuffer.lastInsertCommands = util.normalMode(editor);
627
- }
628
- },
629
- append: {
630
- exec: function append(editor) {
631
- var pos = editor.getCursorPosition();
632
- var lineLen = editor.session.getLine(pos.row).length;
633
- if (lineLen)
634
- editor.navigateRight();
635
- util.insertMode(editor);
636
- setPreviousCommand(append);
637
- }
638
- },
639
- appendEnd: {
640
- exec: function appendEnd(editor) {
641
- editor.navigateLineEnd();
642
- util.insertMode(editor);
643
- setPreviousCommand(appendEnd);
644
- }
645
- }
646
- };
647
-
648
- var handleCursorMove = exports.onCursorMove = function(editor, e) {
649
- if (util.currentMode === 'insert' || handleCursorMove.running)
650
- return;
651
- else if(!editor.selection.isEmpty()) {
652
- handleCursorMove.running = true;
653
- if (util.onVisualLineMode) {
654
- var originRow = editor.selection.visualLineStart;
655
- var cursorRow = editor.getCursorPosition().row;
656
- if(originRow <= cursorRow) {
657
- var endLine = editor.session.getLine(cursorRow);
658
- editor.selection.clearSelection();
659
- editor.selection.moveCursorTo(originRow, 0);
660
- editor.selection.selectTo(cursorRow, endLine.length);
661
- } else {
662
- var endLine = editor.session.getLine(originRow);
663
- editor.selection.clearSelection();
664
- editor.selection.moveCursorTo(originRow, endLine.length);
665
- editor.selection.selectTo(cursorRow, 0);
666
- }
667
- }
668
- handleCursorMove.running = false;
669
- return;
670
- }
671
- else {
672
- if (e && (util.onVisualLineMode || util.onVisualMode)) {
673
- editor.selection.clearSelection();
674
- util.normalMode(editor);
675
- }
676
-
677
- handleCursorMove.running = true;
678
- var pos = editor.getCursorPosition();
679
- var lineLen = editor.session.getLine(pos.row).length;
680
-
681
- if (lineLen && pos.column === lineLen)
682
- editor.navigateLeft();
683
- handleCursorMove.running = false;
684
- }
685
- };
686
- });
687
- define('ace/keyboard/vim/maps/util', ['require', 'exports', 'module' , 'ace/keyboard/vim/registers', 'ace/lib/dom'], function(require, exports, module) {
688
- var registers = require("../registers");
689
-
690
- var dom = require("../../../lib/dom");
691
- dom.importCssString('.insert-mode .ace_cursor{\
692
- border-left: 2px solid #333333;\
693
- }\
694
- .ace_dark.insert-mode .ace_cursor{\
695
- border-left: 2px solid #eeeeee;\
696
- }\
697
- .normal-mode .ace_cursor{\
698
- border: 0!important;\
699
- background-color: red;\
700
- opacity: 0.5;\
701
- }', 'vimMode');
702
-
703
- module.exports = {
704
- onVisualMode: false,
705
- onVisualLineMode: false,
706
- currentMode: 'normal',
707
- noMode: function(editor) {
708
- editor.unsetStyle('insert-mode');
709
- editor.unsetStyle('normal-mode');
710
- if (editor.commands.recording)
711
- editor.commands.toggleRecording(editor);
712
- editor.setOverwrite(false);
713
- },
714
- insertMode: function(editor) {
715
- this.currentMode = 'insert';
716
- editor.setStyle('insert-mode');
717
- editor.unsetStyle('normal-mode');
718
-
719
- editor.setOverwrite(false);
720
- editor.keyBinding.$data.buffer = "";
721
- editor.keyBinding.$data.state = "insertMode";
722
- this.onVisualMode = false;
723
- this.onVisualLineMode = false;
724
- if(this.onInsertReplaySequence) {
725
- editor.commands.macro = this.onInsertReplaySequence;
726
- editor.commands.replay(editor);
727
- this.onInsertReplaySequence = null;
728
- this.normalMode(editor);
729
- } else {
730
- editor._emit("changeStatus");
731
- if(!editor.commands.recording)
732
- editor.commands.toggleRecording(editor);
733
- }
734
- },
735
- normalMode: function(editor) {
736
- this.currentMode = 'normal';
737
-
738
- editor.unsetStyle('insert-mode');
739
- editor.setStyle('normal-mode');
740
- editor.clearSelection();
741
-
742
- var pos;
743
- if (!editor.getOverwrite()) {
744
- pos = editor.getCursorPosition();
745
- if (pos.column > 0)
746
- editor.navigateLeft();
747
- }
748
-
749
- editor.setOverwrite(true);
750
- editor.keyBinding.$data.buffer = "";
751
- editor.keyBinding.$data.state = "start";
752
- this.onVisualMode = false;
753
- this.onVisualLineMode = false;
754
- editor._emit("changeStatus");
755
- if (editor.commands.recording) {
756
- editor.commands.toggleRecording(editor);
757
- return editor.commands.macro;
758
- }
759
- else {
760
- return [];
761
- }
762
- },
763
- visualMode: function(editor, lineMode) {
764
- if (
765
- (this.onVisualLineMode && lineMode)
766
- || (this.onVisualMode && !lineMode)
767
- ) {
768
- this.normalMode(editor);
769
- return;
770
- }
771
-
772
- editor.setStyle('insert-mode');
773
- editor.unsetStyle('normal-mode');
774
-
775
- editor._emit("changeStatus");
776
- if (lineMode) {
777
- this.onVisualLineMode = true;
778
- } else {
779
- this.onVisualMode = true;
780
- this.onVisualLineMode = false;
781
- }
782
- },
783
- getRightNthChar: function(editor, cursor, ch, n) {
784
- var line = editor.getSession().getLine(cursor.row);
785
- var matches = line.substr(cursor.column + 1).split(ch);
786
-
787
- return n < matches.length ? matches.slice(0, n).join(ch).length : null;
788
- },
789
- getLeftNthChar: function(editor, cursor, ch, n) {
790
- var line = editor.getSession().getLine(cursor.row);
791
- var matches = line.substr(0, cursor.column).split(ch);
792
-
793
- return n < matches.length ? matches.slice(-1 * n).join(ch).length : null;
794
- },
795
- toRealChar: function(ch) {
796
- if (ch.length === 1)
797
- return ch;
798
-
799
- if (/^shift-./.test(ch))
800
- return ch[ch.length - 1].toUpperCase();
801
- else
802
- return "";
803
- },
804
- copyLine: function(editor) {
805
- var pos = editor.getCursorPosition();
806
- editor.selection.clearSelection();
807
- editor.moveCursorTo(pos.row, pos.column);
808
- editor.selection.selectLine();
809
- registers._default.isLine = true;
810
- registers._default.text = editor.getCopyText().replace(/\n$/, "");
811
- editor.selection.clearSelection();
812
- editor.moveCursorTo(pos.row, pos.column);
813
- }
814
- };
815
- });
816
-
817
- define('ace/keyboard/vim/registers', ['require', 'exports', 'module' ], function(require, exports, module) {
818
-
819
- "never use strict";
820
-
821
- module.exports = {
822
- _default: {
823
- text: "",
824
- isLine: false
825
- }
826
- };
827
-
828
- });
829
-
830
-
831
- define('ace/keyboard/vim/maps/motions', ['require', 'exports', 'module' , 'ace/keyboard/vim/maps/util', 'ace/search', 'ace/range'], function(require, exports, module) {
832
-
833
-
834
- var util = require("./util");
835
-
836
- var keepScrollPosition = function(editor, fn) {
837
- var scrollTopRow = editor.renderer.getScrollTopRow();
838
- var initialRow = editor.getCursorPosition().row;
839
- var diff = initialRow - scrollTopRow;
840
- fn && fn.call(editor);
841
- editor.renderer.scrollToRow(editor.getCursorPosition().row - diff);
842
- };
843
-
844
- function Motion(m) {
845
- if (typeof m == "function") {
846
- var getPos = m;
847
- m = this;
848
- } else {
849
- var getPos = m.getPos;
850
- }
851
- m.nav = function(editor, range, count, param) {
852
- var a = getPos(editor, range, count, param, false);
853
- if (!a)
854
- return;
855
- editor.clearSelection();
856
- editor.moveCursorTo(a.row, a.column);
857
- };
858
- m.sel = function(editor, range, count, param) {
859
- var a = getPos(editor, range, count, param, true);
860
- if (!a)
861
- return;
862
- editor.selection.selectTo(a.row, a.column);
863
- };
864
- return m;
865
- }
866
-
867
- var nonWordRe = /[\s.\/\\()\"'-:,.;<>~!@#$%^&*|+=\[\]{}`~?]/;
868
- var wordSeparatorRe = /[.\/\\()\"'-:,.;<>~!@#$%^&*|+=\[\]{}`~?]/;
869
- var whiteRe = /\s/;
870
- var StringStream = function(editor, cursor) {
871
- var sel = editor.selection;
872
- this.range = sel.getRange();
873
- cursor = cursor || sel.selectionLead;
874
- this.row = cursor.row;
875
- this.col = cursor.column;
876
- var line = editor.session.getLine(this.row);
877
- var maxRow = editor.session.getLength();
878
- this.ch = line[this.col] || '\n';
879
- this.skippedLines = 0;
880
-
881
- this.next = function() {
882
- this.ch = line[++this.col] || this.handleNewLine(1);
883
- return this.ch;
884
- };
885
- this.prev = function() {
886
- this.ch = line[--this.col] || this.handleNewLine(-1);
887
- return this.ch;
888
- };
889
- this.peek = function(dir) {
890
- var ch = line[this.col + dir];
891
- if (ch)
892
- return ch;
893
- if (dir == -1)
894
- return '\n';
895
- if (this.col == line.length - 1)
896
- return '\n';
897
- return editor.session.getLine(this.row + 1)[0] || '\n';
898
- };
899
-
900
- this.handleNewLine = function(dir) {
901
- if (dir == 1){
902
- if (this.col == line.length)
903
- return '\n';
904
- if (this.row == maxRow - 1)
905
- return '';
906
- this.col = 0;
907
- this.row ++;
908
- line = editor.session.getLine(this.row);
909
- this.skippedLines++;
910
- return line[0] || '\n';
911
- }
912
- if (dir == -1) {
913
- if (this.row === 0)
914
- return '';
915
- this.row --;
916
- line = editor.session.getLine(this.row);
917
- this.col = line.length;
918
- this.skippedLines--;
919
- return '\n';
920
- }
921
- };
922
- this.debug = function() {
923
- console.log(line.substring(0, this.col)+'|'+this.ch+'\''+this.col+'\''+line.substr(this.col+1));
924
- };
925
- };
926
-
927
- var Search = require("../../../search").Search;
928
- var search = new Search();
929
-
930
- function find(editor, needle, dir) {
931
- search.$options.needle = needle;
932
- search.$options.backwards = dir == -1;
933
- return search.find(editor.session);
934
- }
935
-
936
- var Range = require("../../../range").Range;
937
-
938
- module.exports = {
939
- "w": new Motion(function(editor) {
940
- var str = new StringStream(editor);
941
-
942
- if (str.ch && wordSeparatorRe.test(str.ch)) {
943
- while (str.ch && wordSeparatorRe.test(str.ch))
944
- str.next();
945
- } else {
946
- while (str.ch && !nonWordRe.test(str.ch))
947
- str.next();
948
- }
949
- while (str.ch && whiteRe.test(str.ch) && str.skippedLines < 2)
950
- str.next();
951
-
952
- str.skippedLines == 2 && str.prev();
953
- return {column: str.col, row: str.row};
954
- }),
955
- "W": new Motion(function(editor) {
956
- var str = new StringStream(editor);
957
- while(str.ch && !(whiteRe.test(str.ch) && !whiteRe.test(str.peek(1))) && str.skippedLines < 2)
958
- str.next();
959
- if (str.skippedLines == 2)
960
- str.prev();
961
- else
962
- str.next();
963
-
964
- return {column: str.col, row: str.row};
965
- }),
966
- "b": new Motion(function(editor) {
967
- var str = new StringStream(editor);
968
-
969
- str.prev();
970
- while (str.ch && whiteRe.test(str.ch) && str.skippedLines > -2)
971
- str.prev();
972
-
973
- if (str.ch && wordSeparatorRe.test(str.ch)) {
974
- while (str.ch && wordSeparatorRe.test(str.ch))
975
- str.prev();
976
- } else {
977
- while (str.ch && !nonWordRe.test(str.ch))
978
- str.prev();
979
- }
980
- str.ch && str.next();
981
- return {column: str.col, row: str.row};
982
- }),
983
- "B": new Motion(function(editor) {
984
- var str = new StringStream(editor);
985
- str.prev();
986
- while(str.ch && !(!whiteRe.test(str.ch) && whiteRe.test(str.peek(-1))) && str.skippedLines > -2)
987
- str.prev();
988
-
989
- if (str.skippedLines == -2)
990
- str.next();
991
-
992
- return {column: str.col, row: str.row};
993
- }),
994
- "e": new Motion(function(editor) {
995
- var str = new StringStream(editor);
996
-
997
- str.next();
998
- while (str.ch && whiteRe.test(str.ch))
999
- str.next();
1000
-
1001
- if (str.ch && wordSeparatorRe.test(str.ch)) {
1002
- while (str.ch && wordSeparatorRe.test(str.ch))
1003
- str.next();
1004
- } else {
1005
- while (str.ch && !nonWordRe.test(str.ch))
1006
- str.next();
1007
- }
1008
- str.ch && str.prev();
1009
- return {column: str.col, row: str.row};
1010
- }),
1011
- "E": new Motion(function(editor) {
1012
- var str = new StringStream(editor);
1013
- str.next();
1014
- while(str.ch && !(!whiteRe.test(str.ch) && whiteRe.test(str.peek(1))))
1015
- str.next();
1016
-
1017
- return {column: str.col, row: str.row};
1018
- }),
1019
-
1020
- "l": {
1021
- nav: function(editor) {
1022
- var pos = editor.getCursorPosition();
1023
- var col = pos.column;
1024
- var lineLen = editor.session.getLine(pos.row).length;
1025
- if (lineLen && col !== lineLen)
1026
- editor.navigateRight();
1027
- },
1028
- sel: function(editor) {
1029
- var pos = editor.getCursorPosition();
1030
- var col = pos.column;
1031
- var lineLen = editor.session.getLine(pos.row).length;
1032
- if (lineLen && col !== lineLen) //In selection mode you can select the newline
1033
- editor.selection.selectRight();
1034
- }
1035
- },
1036
- "h": {
1037
- nav: function(editor) {
1038
- var pos = editor.getCursorPosition();
1039
- if (pos.column > 0)
1040
- editor.navigateLeft();
1041
- },
1042
- sel: function(editor) {
1043
- var pos = editor.getCursorPosition();
1044
- if (pos.column > 0)
1045
- editor.selection.selectLeft();
1046
- }
1047
- },
1048
- "H": {
1049
- nav: function(editor) {
1050
- var row = editor.renderer.getScrollTopRow();
1051
- editor.moveCursorTo(row);
1052
- },
1053
- sel: function(editor) {
1054
- var row = editor.renderer.getScrollTopRow();
1055
- editor.selection.selectTo(row);
1056
- }
1057
- },
1058
- "M": {
1059
- nav: function(editor) {
1060
- var topRow = editor.renderer.getScrollTopRow();
1061
- var bottomRow = editor.renderer.getScrollBottomRow();
1062
- var row = topRow + ((bottomRow - topRow) / 2);
1063
- editor.moveCursorTo(row);
1064
- },
1065
- sel: function(editor) {
1066
- var topRow = editor.renderer.getScrollTopRow();
1067
- var bottomRow = editor.renderer.getScrollBottomRow();
1068
- var row = topRow + ((bottomRow - topRow) / 2);
1069
- editor.selection.selectTo(row);
1070
- }
1071
- },
1072
- "L": {
1073
- nav: function(editor) {
1074
- var row = editor.renderer.getScrollBottomRow();
1075
- editor.moveCursorTo(row);
1076
- },
1077
- sel: function(editor) {
1078
- var row = editor.renderer.getScrollBottomRow();
1079
- editor.selection.selectTo(row);
1080
- }
1081
- },
1082
- "k": {
1083
- nav: function(editor) {
1084
- editor.navigateUp();
1085
- },
1086
- sel: function(editor) {
1087
- editor.selection.selectUp();
1088
- }
1089
- },
1090
- "j": {
1091
- nav: function(editor) {
1092
- editor.navigateDown();
1093
- },
1094
- sel: function(editor) {
1095
- editor.selection.selectDown();
1096
- }
1097
- },
1098
-
1099
- "i": {
1100
- param: true,
1101
- sel: function(editor, range, count, param) {
1102
- switch (param) {
1103
- case "w":
1104
- editor.selection.selectWord();
1105
- break;
1106
- case "W":
1107
- editor.selection.selectAWord();
1108
- break;
1109
- case "(":
1110
- case "{":
1111
- case "[":
1112
- var cursor = editor.getCursorPosition();
1113
- var end = editor.session.$findClosingBracket(param, cursor, /paren/);
1114
- if (!end)
1115
- return;
1116
- var start = editor.session.$findOpeningBracket(editor.session.$brackets[param], cursor, /paren/);
1117
- if (!start)
1118
- return;
1119
- start.column ++;
1120
- editor.selection.setSelectionRange(Range.fromPoints(start, end));
1121
- break;
1122
- case "'":
1123
- case '"':
1124
- case "/":
1125
- var end = find(editor, param, 1);
1126
- if (!end)
1127
- return;
1128
- var start = find(editor, param, -1);
1129
- if (!start)
1130
- return;
1131
- editor.selection.setSelectionRange(Range.fromPoints(start.end, end.start));
1132
- break;
1133
- }
1134
- }
1135
- },
1136
- "a": {
1137
- param: true,
1138
- sel: function(editor, range, count, param) {
1139
- switch (param) {
1140
- case "w":
1141
- editor.selection.selectAWord();
1142
- break;
1143
- case "W":
1144
- editor.selection.selectAWord();
1145
- break;
1146
- case "(":
1147
- case "{":
1148
- case "[":
1149
- var cursor = editor.getCursorPosition();
1150
- var end = editor.session.$findClosingBracket(param, cursor, /paren/);
1151
- if (!end)
1152
- return;
1153
- var start = editor.session.$findOpeningBracket(editor.session.$brackets[param], cursor, /paren/);
1154
- if (!start)
1155
- return;
1156
- end.column ++;
1157
- editor.selection.setSelectionRange(Range.fromPoints(start, end));
1158
- break;
1159
- case "'":
1160
- case "\"":
1161
- case "/":
1162
- var end = find(editor, param, 1);
1163
- if (!end)
1164
- return;
1165
- var start = find(editor, param, -1);
1166
- if (!start)
1167
- return;
1168
- end.column ++;
1169
- editor.selection.setSelectionRange(Range.fromPoints(start.start, end.end));
1170
- break;
1171
- }
1172
- }
1173
- },
1174
-
1175
- "f": new Motion({
1176
- param: true,
1177
- handlesCount: true,
1178
- getPos: function(editor, range, count, param, isSel) {
1179
- var cursor = editor.getCursorPosition();
1180
- var column = util.getRightNthChar(editor, cursor, param, count || 1);
1181
-
1182
- if (typeof column === "number") {
1183
- cursor.column += column + (isSel ? 2 : 1);
1184
- return cursor;
1185
- }
1186
- }
1187
- }),
1188
- "F": new Motion({
1189
- param: true,
1190
- handlesCount: true,
1191
- getPos: function(editor, range, count, param, isSel) {
1192
- var cursor = editor.getCursorPosition();
1193
- var column = util.getLeftNthChar(editor, cursor, param, count || 1);
1194
-
1195
- if (typeof column === "number") {
1196
- cursor.column -= column + 1;
1197
- return cursor;
1198
- }
1199
- }
1200
- }),
1201
- "t": new Motion({
1202
- param: true,
1203
- handlesCount: true,
1204
- getPos: function(editor, range, count, param, isSel) {
1205
- var cursor = editor.getCursorPosition();
1206
- var column = util.getRightNthChar(editor, cursor, param, count || 1);
1207
-
1208
- if (typeof column === "number") {
1209
- cursor.column += column + (isSel ? 1 : 0);
1210
- return cursor;
1211
- }
1212
- }
1213
- }),
1214
- "T": new Motion({
1215
- param: true,
1216
- handlesCount: true,
1217
- getPos: function(editor, range, count, param, isSel) {
1218
- var cursor = editor.getCursorPosition();
1219
- var column = util.getLeftNthChar(editor, cursor, param, count || 1);
1220
-
1221
- if (typeof column === "number") {
1222
- cursor.column -= column;
1223
- return cursor;
1224
- }
1225
- }
1226
- }),
1227
-
1228
- "^": {
1229
- nav: function(editor) {
1230
- editor.navigateLineStart();
1231
- },
1232
- sel: function(editor) {
1233
- editor.selection.selectLineStart();
1234
- }
1235
- },
1236
- "$": {
1237
- nav: function(editor) {
1238
- editor.navigateLineEnd();
1239
- },
1240
- sel: function(editor) {
1241
- editor.selection.selectLineEnd();
1242
- }
1243
- },
1244
- "0": new Motion(function(ed) {
1245
- return {row: ed.selection.lead.row, column: 0};
1246
- }),
1247
- "G": {
1248
- nav: function(editor, range, count, param) {
1249
- if (!count && count !== 0) { // Stupid JS
1250
- count = editor.session.getLength();
1251
- }
1252
- editor.gotoLine(count);
1253
- },
1254
- sel: function(editor, range, count, param) {
1255
- if (!count && count !== 0) { // Stupid JS
1256
- count = editor.session.getLength();
1257
- }
1258
- editor.selection.selectTo(count, 0);
1259
- }
1260
- },
1261
- "g": {
1262
- param: true,
1263
- nav: function(editor, range, count, param) {
1264
- switch(param) {
1265
- case "m":
1266
- console.log("Middle line");
1267
- break;
1268
- case "e":
1269
- console.log("End of prev word");
1270
- break;
1271
- case "g":
1272
- editor.gotoLine(count || 0);
1273
- case "u":
1274
- editor.gotoLine(count || 0);
1275
- case "U":
1276
- editor.gotoLine(count || 0);
1277
- }
1278
- },
1279
- sel: function(editor, range, count, param) {
1280
- switch(param) {
1281
- case "m":
1282
- console.log("Middle line");
1283
- break;
1284
- case "e":
1285
- console.log("End of prev word");
1286
- break;
1287
- case "g":
1288
- editor.selection.selectTo(count || 0, 0);
1289
- }
1290
- }
1291
- },
1292
- "o": {
1293
- nav: function(editor, range, count, param) {
1294
- count = count || 1;
1295
- var content = "";
1296
- while (0 < count--)
1297
- content += "\n";
1298
-
1299
- if (content.length) {
1300
- editor.navigateLineEnd()
1301
- editor.insert(content);
1302
- util.insertMode(editor);
1303
- }
1304
- }
1305
- },
1306
- "O": {
1307
- nav: function(editor, range, count, param) {
1308
- var row = editor.getCursorPosition().row;
1309
- count = count || 1;
1310
- var content = "";
1311
- while (0 < count--)
1312
- content += "\n";
1313
-
1314
- if (content.length) {
1315
- if(row > 0) {
1316
- editor.navigateUp();
1317
- editor.navigateLineEnd()
1318
- editor.insert(content);
1319
- } else {
1320
- editor.session.insert({row: 0, column: 0}, content);
1321
- editor.navigateUp();
1322
- }
1323
- util.insertMode(editor);
1324
- }
1325
- }
1326
- },
1327
- "%": new Motion(function(editor){
1328
- var brRe = /[\[\]{}()]/g;
1329
- var cursor = editor.getCursorPosition();
1330
- var ch = editor.session.getLine(cursor.row)[cursor.column];
1331
- if (!brRe.test(ch)) {
1332
- var range = find(editor, brRe);
1333
- if (!range)
1334
- return;
1335
- cursor = range.start;
1336
- }
1337
- var match = editor.session.findMatchingBracket({
1338
- row: cursor.row,
1339
- column: cursor.column + 1
1340
- });
1341
-
1342
- return match;
1343
- }),
1344
- "{": new Motion(function(ed) {
1345
- var session = ed.session;
1346
- var row = session.selection.lead.row;
1347
- while(row > 0 && !/\S/.test(session.getLine(row)))
1348
- row--;
1349
- while(/\S/.test(session.getLine(row)))
1350
- row--;
1351
- return {column: 0, row: row};
1352
- }),
1353
- "}": new Motion(function(ed) {
1354
- var session = ed.session;
1355
- var l = session.getLength();
1356
- var row = session.selection.lead.row;
1357
- while(row < l && !/\S/.test(session.getLine(row)))
1358
- row++;
1359
- while(/\S/.test(session.getLine(row)))
1360
- row++;
1361
- return {column: 0, row: row};
1362
- }),
1363
- "ctrl-d": {
1364
- nav: function(editor, range, count, param) {
1365
- editor.selection.clearSelection();
1366
- keepScrollPosition(editor, editor.gotoPageDown);
1367
- },
1368
- sel: function(editor, range, count, param) {
1369
- keepScrollPosition(editor, editor.selectPageDown);
1370
- }
1371
- },
1372
- "ctrl-u": {
1373
- nav: function(editor, range, count, param) {
1374
- editor.selection.clearSelection();
1375
- keepScrollPosition(editor, editor.gotoPageUp);
1376
- },
1377
- sel: function(editor, range, count, param) {
1378
- keepScrollPosition(editor, editor.selectPageUp);
1379
- }
1380
- },
1381
- "`": new Motion({
1382
- param: true,
1383
- handlesCount: true,
1384
- getPos: function(editor, range, count, param, isSel) {
1385
- var s = editor.session;
1386
- var marker = s.vimMarkers && s.vimMarkers[param];
1387
- if (marker) {
1388
- return marker.getPosition();
1389
- }
1390
- }
1391
- }),
1392
- "'": new Motion({
1393
- param: true,
1394
- handlesCount: true,
1395
- getPos: function(editor, range, count, param, isSel) {
1396
- var s = editor.session;
1397
- var marker = s.vimMarkers && s.vimMarkers[param];
1398
- if (marker) {
1399
- var pos = marker.getPosition();
1400
- var line = editor.session.getLine(pos.row);
1401
- pos.column = line.search(/\S/);
1402
- if (pos.column == -1)
1403
- pos.column = line.length;
1404
- return pos;
1405
- }
1406
- }
1407
- }),
1408
- };
1409
-
1410
- module.exports.backspace = module.exports.left = module.exports.h;
1411
- module.exports.right = module.exports.l;
1412
- module.exports.up = module.exports.k;
1413
- module.exports.down = module.exports.j;
1414
- module.exports.pagedown = module.exports["ctrl-d"];
1415
- module.exports.pageup = module.exports["ctrl-u"];
1416
-
1417
- });
1418
-
1419
- define('ace/keyboard/vim/maps/operators', ['require', 'exports', 'module' , 'ace/keyboard/vim/maps/util', 'ace/keyboard/vim/registers'], function(require, exports, module) {
1420
-
1421
- "never use strict";
1422
-
1423
- var util = require("./util");
1424
- var registers = require("../registers");
1425
-
1426
- module.exports = {
1427
- "d": {
1428
- selFn: function(editor, range, count, param) {
1429
- registers._default.text = editor.getCopyText();
1430
- registers._default.isLine = util.onVisualLineMode;
1431
- if(util.onVisualLineMode)
1432
- editor.removeLines();
1433
- else
1434
- editor.session.remove(range);
1435
- util.normalMode(editor);
1436
- },
1437
- fn: function(editor, range, count, param) {
1438
- count = count || 1;
1439
- switch (param) {
1440
- case "d":
1441
- registers._default.text = "";
1442
- registers._default.isLine = true;
1443
- for (var i = 0; i < count; i++) {
1444
- editor.selection.selectLine();
1445
- registers._default.text += editor.getCopyText();
1446
- var selRange = editor.getSelectionRange();
1447
- if (!selRange.isMultiLine()) {
1448
- lastLineReached = true
1449
- var row = selRange.start.row - 1;
1450
- var col = editor.session.getLine(row).length
1451
- selRange.setStart(row, col);
1452
- editor.session.remove(selRange);
1453
- editor.selection.clearSelection();
1454
- break;
1455
- }
1456
- editor.session.remove(selRange);
1457
- editor.selection.clearSelection();
1458
- }
1459
- registers._default.text = registers._default.text.replace(/\n$/, "");
1460
- break;
1461
- default:
1462
- if (range) {
1463
- editor.selection.setSelectionRange(range);
1464
- registers._default.text = editor.getCopyText();
1465
- registers._default.isLine = false;
1466
- editor.session.remove(range);
1467
- editor.selection.clearSelection();
1468
- }
1469
- }
1470
- }
1471
- },
1472
- "c": {
1473
- selFn: function(editor, range, count, param) {
1474
- editor.session.remove(range);
1475
- util.insertMode(editor);
1476
- },
1477
- fn: function(editor, range, count, param) {
1478
- count = count || 1;
1479
- switch (param) {
1480
- case "c":
1481
- for (var i = 0; i < count; i++) {
1482
- editor.removeLines();
1483
- util.insertMode(editor);
1484
- }
1485
-
1486
- break;
1487
- default:
1488
- if (range) {
1489
- editor.session.remove(range);
1490
- util.insertMode(editor);
1491
- }
1492
- }
1493
- }
1494
- },
1495
- "y": {
1496
- selFn: function(editor, range, count, param) {
1497
- registers._default.text = editor.getCopyText();
1498
- registers._default.isLine = util.onVisualLineMode;
1499
- editor.selection.clearSelection();
1500
- util.normalMode(editor);
1501
- },
1502
- fn: function(editor, range, count, param) {
1503
- count = count || 1;
1504
- switch (param) {
1505
- case "y":
1506
- var pos = editor.getCursorPosition();
1507
- editor.selection.selectLine();
1508
- for (var i = 0; i < count - 1; i++) {
1509
- editor.selection.moveCursorDown();
1510
- }
1511
- registers._default.text = editor.getCopyText().replace(/\n$/, "");
1512
- editor.selection.clearSelection();
1513
- registers._default.isLine = true;
1514
- editor.moveCursorToPosition(pos);
1515
- break;
1516
- default:
1517
- if (range) {
1518
- var pos = editor.getCursorPosition();
1519
- editor.selection.setSelectionRange(range);
1520
- registers._default.text = editor.getCopyText();
1521
- registers._default.isLine = false;
1522
- editor.selection.clearSelection();
1523
- editor.moveCursorTo(pos.row, pos.column);
1524
- }
1525
- }
1526
- }
1527
- },
1528
- ">": {
1529
- selFn: function(editor, range, count, param) {
1530
- count = count || 1;
1531
- for (var i = 0; i < count; i++) {
1532
- editor.indent();
1533
- }
1534
- util.normalMode(editor);
1535
- },
1536
- fn: function(editor, range, count, param) {
1537
- count = parseInt(count || 1, 10);
1538
- switch (param) {
1539
- case ">":
1540
- var pos = editor.getCursorPosition();
1541
- editor.selection.selectLine();
1542
- for (var i = 0; i < count - 1; i++) {
1543
- editor.selection.moveCursorDown();
1544
- }
1545
- editor.indent();
1546
- editor.selection.clearSelection();
1547
- editor.moveCursorToPosition(pos);
1548
- editor.navigateLineEnd();
1549
- editor.navigateLineStart();
1550
- break;
1551
- }
1552
- }
1553
- },
1554
- "<": {
1555
- selFn: function(editor, range, count, param) {
1556
- count = count || 1;
1557
- for (var i = 0; i < count; i++) {
1558
- editor.blockOutdent();
1559
- }
1560
- util.normalMode(editor);
1561
- },
1562
- fn: function(editor, range, count, param) {
1563
- count = count || 1;
1564
- switch (param) {
1565
- case "<":
1566
- var pos = editor.getCursorPosition();
1567
- editor.selection.selectLine();
1568
- for (var i = 0; i < count - 1; i++) {
1569
- editor.selection.moveCursorDown();
1570
- }
1571
- editor.blockOutdent();
1572
- editor.selection.clearSelection();
1573
- editor.moveCursorToPosition(pos);
1574
- editor.navigateLineEnd();
1575
- editor.navigateLineStart();
1576
- break;
1577
- }
1578
- }
1579
- }
1580
- };
1581
- });
1582
-
1583
- "use strict"
1584
-
1585
- define('ace/keyboard/vim/maps/aliases', ['require', 'exports', 'module' ], function(require, exports, module) {
1586
- module.exports = {
1587
- "x": {
1588
- operator: {
1589
- ch: "d",
1590
- count: 1
1591
- },
1592
- motion: {
1593
- ch: "l",
1594
- count: 1
1595
- }
1596
- },
1597
- "X": {
1598
- operator: {
1599
- ch: "d",
1600
- count: 1
1601
- },
1602
- motion: {
1603
- ch: "h",
1604
- count: 1
1605
- }
1606
- },
1607
- "D": {
1608
- operator: {
1609
- ch: "d",
1610
- count: 1
1611
- },
1612
- motion: {
1613
- ch: "$",
1614
- count: 1
1615
- }
1616
- },
1617
- "C": {
1618
- operator: {
1619
- ch: "c",
1620
- count: 1
1621
- },
1622
- motion: {
1623
- ch: "$",
1624
- count: 1
1625
- }
1626
- },
1627
- "s": {
1628
- operator: {
1629
- ch: "c",
1630
- count: 1
1631
- },
1632
- motion: {
1633
- ch: "l",
1634
- count: 1
1635
- }
1636
- },
1637
- "S": {
1638
- operator: {
1639
- ch: "c",
1640
- count: 1
1641
- },
1642
- param: "c"
1643
- }
1644
- };
1645
- });
1646
-