ace-rails-ap 4.1.5 → 4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (234) hide show
  1. checksums.yaml +4 -4
  2. data/.gitmodules +1 -1
  3. data/lib/ace/rails/version.rb +1 -1
  4. data/vendor/assets/javascripts/ace/ace.js +3960 -2205
  5. data/vendor/assets/javascripts/ace/ext-beautify.js +279 -290
  6. data/vendor/assets/javascripts/ace/ext-elastic_tabstops_lite.js +6 -3
  7. data/vendor/assets/javascripts/ace/ext-emmet.js +14 -11
  8. data/vendor/assets/javascripts/ace/ext-error_marker.js +6 -3
  9. data/vendor/assets/javascripts/ace/ext-keybinding_menu.js +24 -6
  10. data/vendor/assets/javascripts/ace/ext-language_tools.js +118 -81
  11. data/vendor/assets/javascripts/ace/ext-linking.js +7 -4
  12. data/vendor/assets/javascripts/ace/ext-modelist.js +34 -10
  13. data/vendor/assets/javascripts/ace/ext-options.js +755 -0
  14. data/vendor/assets/javascripts/ace/ext-rtl.js +124 -0
  15. data/vendor/assets/javascripts/ace/ext-searchbox.js +45 -40
  16. data/vendor/assets/javascripts/ace/ext-settings_menu.js +478 -365
  17. data/vendor/assets/javascripts/ace/ext-spellcheck.js +7 -4
  18. data/vendor/assets/javascripts/ace/ext-split.js +7 -46
  19. data/vendor/assets/javascripts/ace/ext-static_highlight.js +90 -22
  20. data/vendor/assets/javascripts/ace/ext-statusbar.js +7 -4
  21. data/vendor/assets/javascripts/ace/ext-textarea.js +21 -18
  22. data/vendor/assets/javascripts/ace/ext-themelist.js +8 -5
  23. data/vendor/assets/javascripts/ace/ext-whitespace.js +9 -6
  24. data/vendor/assets/javascripts/ace/keybinding-emacs.js +27 -39
  25. data/vendor/assets/javascripts/ace/keybinding-sublime.js +425 -0
  26. data/vendor/assets/javascripts/ace/keybinding-vim.js +293 -226
  27. data/vendor/assets/javascripts/ace/mode-abap.js +10 -3
  28. data/vendor/assets/javascripts/ace/mode-abc.js +11 -4
  29. data/vendor/assets/javascripts/ace/mode-actionscript.js +12 -5
  30. data/vendor/assets/javascripts/ace/mode-ada.js +54 -4
  31. data/vendor/assets/javascripts/ace/mode-apache_conf.js +12 -5
  32. data/vendor/assets/javascripts/ace/mode-apex.js +457 -0
  33. data/vendor/assets/javascripts/ace/mode-applescript.js +11 -4
  34. data/vendor/assets/javascripts/ace/mode-asciidoc.js +9 -2
  35. data/vendor/assets/javascripts/ace/mode-asl.js +421 -0
  36. data/vendor/assets/javascripts/ace/mode-assembly_x86.js +11 -4
  37. data/vendor/assets/javascripts/ace/mode-autohotkey.js +14 -7
  38. data/vendor/assets/javascripts/ace/mode-batchfile.js +12 -5
  39. data/vendor/assets/javascripts/ace/mode-bro.js +13 -6
  40. data/vendor/assets/javascripts/ace/mode-c9search.js +9 -3
  41. data/vendor/assets/javascripts/ace/mode-c_cpp.js +22 -7
  42. data/vendor/assets/javascripts/ace/mode-cirru.js +9 -2
  43. data/vendor/assets/javascripts/ace/mode-clojure.js +8 -1
  44. data/vendor/assets/javascripts/ace/mode-cobol.js +8 -1
  45. data/vendor/assets/javascripts/ace/mode-coffee.js +11 -4
  46. data/vendor/assets/javascripts/ace/mode-coldfusion.js +160 -134
  47. data/vendor/assets/javascripts/ace/mode-csharp.js +13 -6
  48. data/vendor/assets/javascripts/ace/mode-csound_document.js +3988 -0
  49. data/vendor/assets/javascripts/ace/mode-csound_orchestra.js +2924 -0
  50. data/vendor/assets/javascripts/ace/mode-csound_score.js +453 -0
  51. data/vendor/assets/javascripts/ace/mode-csp.js +59 -0
  52. data/vendor/assets/javascripts/ace/mode-css.js +47 -27
  53. data/vendor/assets/javascripts/ace/mode-curly.js +159 -133
  54. data/vendor/assets/javascripts/ace/mode-d.js +11 -4
  55. data/vendor/assets/javascripts/ace/mode-dart.js +44 -20
  56. data/vendor/assets/javascripts/ace/mode-diff.js +10 -3
  57. data/vendor/assets/javascripts/ace/mode-django.js +160 -134
  58. data/vendor/assets/javascripts/ace/mode-dockerfile.js +11 -4
  59. data/vendor/assets/javascripts/ace/mode-dot.js +11 -4
  60. data/vendor/assets/javascripts/ace/mode-drools.js +45 -5
  61. data/vendor/assets/javascripts/ace/mode-edifact.js +165 -0
  62. data/vendor/assets/javascripts/ace/mode-eiffel.js +8 -1
  63. data/vendor/assets/javascripts/ace/mode-ejs.js +160 -134
  64. data/vendor/assets/javascripts/ace/mode-elixir.js +11 -4
  65. data/vendor/assets/javascripts/ace/mode-elm.js +10 -3
  66. data/vendor/assets/javascripts/ace/mode-erlang.js +12 -5
  67. data/vendor/assets/javascripts/ace/mode-forth.js +12 -5
  68. data/vendor/assets/javascripts/ace/mode-fortran.js +10 -3
  69. data/vendor/assets/javascripts/ace/mode-fsharp.js +316 -0
  70. data/vendor/assets/javascripts/ace/mode-fsl.js +258 -0
  71. data/vendor/assets/javascripts/ace/mode-ftl.js +23 -12
  72. data/vendor/assets/javascripts/ace/mode-gcode.js +8 -1
  73. data/vendor/assets/javascripts/ace/mode-gherkin.js +10 -3
  74. data/vendor/assets/javascripts/ace/mode-gitignore.js +8 -1
  75. data/vendor/assets/javascripts/ace/mode-glsl.js +23 -8
  76. data/vendor/assets/javascripts/ace/mode-gobstones.js +13 -5
  77. data/vendor/assets/javascripts/ace/mode-golang.js +11 -4
  78. data/vendor/assets/javascripts/ace/mode-graphqlschema.js +10 -3
  79. data/vendor/assets/javascripts/ace/mode-groovy.js +13 -5
  80. data/vendor/assets/javascripts/ace/mode-haml.js +23 -12
  81. data/vendor/assets/javascripts/ace/mode-handlebars.js +159 -133
  82. data/vendor/assets/javascripts/ace/mode-haskell.js +13 -6
  83. data/vendor/assets/javascripts/ace/mode-haskell_cabal.js +8 -1
  84. data/vendor/assets/javascripts/ace/mode-haxe.js +11 -4
  85. data/vendor/assets/javascripts/ace/mode-hjson.js +13 -6
  86. data/vendor/assets/javascripts/ace/mode-html.js +159 -133
  87. data/vendor/assets/javascripts/ace/mode-html_elixir.js +162 -136
  88. data/vendor/assets/javascripts/ace/mode-html_ruby.js +160 -134
  89. data/vendor/assets/javascripts/ace/mode-ini.js +8 -1
  90. data/vendor/assets/javascripts/ace/mode-io.js +12 -5
  91. data/vendor/assets/javascripts/ace/mode-jack.js +10 -3
  92. data/vendor/assets/javascripts/ace/mode-jade.js +271 -375
  93. data/vendor/assets/javascripts/ace/mode-java.js +108 -7
  94. data/vendor/assets/javascripts/ace/mode-javascript.js +13 -5
  95. data/vendor/assets/javascripts/ace/mode-json.js +10 -3
  96. data/vendor/assets/javascripts/ace/mode-jsoniq.js +24 -12
  97. data/vendor/assets/javascripts/ace/mode-jsp.js +59 -15
  98. data/vendor/assets/javascripts/ace/mode-jssm.js +325 -0
  99. data/vendor/assets/javascripts/ace/mode-jsx.js +11 -4
  100. data/vendor/assets/javascripts/ace/mode-julia.js +12 -5
  101. data/vendor/assets/javascripts/ace/mode-kotlin.js +16 -7
  102. data/vendor/assets/javascripts/ace/mode-latex.js +87 -15
  103. data/vendor/assets/javascripts/ace/mode-less.js +47 -27
  104. data/vendor/assets/javascripts/ace/mode-liquid.js +2026 -472
  105. data/vendor/assets/javascripts/ace/mode-lisp.js +9 -2
  106. data/vendor/assets/javascripts/ace/mode-livescript.js +10 -2
  107. data/vendor/assets/javascripts/ace/mode-logiql.js +10 -3
  108. data/vendor/assets/javascripts/ace/mode-logtalk.js +352 -0
  109. data/vendor/assets/javascripts/ace/mode-lsl.js +10 -3
  110. data/vendor/assets/javascripts/ace/mode-lua.js +9 -2
  111. data/vendor/assets/javascripts/ace/mode-luapage.js +160 -134
  112. data/vendor/assets/javascripts/ace/mode-lucene.js +36 -20
  113. data/vendor/assets/javascripts/ace/mode-makefile.js +10 -3
  114. data/vendor/assets/javascripts/ace/mode-markdown.js +523 -200
  115. data/vendor/assets/javascripts/ace/mode-mask.js +100 -83
  116. data/vendor/assets/javascripts/ace/mode-matlab.js +8 -1
  117. data/vendor/assets/javascripts/ace/mode-maze.js +10 -3
  118. data/vendor/assets/javascripts/ace/mode-mel.js +11 -4
  119. data/vendor/assets/javascripts/ace/mode-mixal.js +122 -0
  120. data/vendor/assets/javascripts/ace/mode-mushcode.js +9 -2
  121. data/vendor/assets/javascripts/ace/mode-mysql.js +11 -4
  122. data/vendor/assets/javascripts/ace/mode-nix.js +22 -7
  123. data/vendor/assets/javascripts/ace/mode-nsis.js +15 -8
  124. data/vendor/assets/javascripts/ace/mode-objectivec.js +23 -8
  125. data/vendor/assets/javascripts/ace/mode-ocaml.js +8 -1
  126. data/vendor/assets/javascripts/ace/mode-pascal.js +9 -2
  127. data/vendor/assets/javascripts/ace/mode-perl.js +10 -3
  128. data/vendor/assets/javascripts/ace/mode-perl6.js +593 -0
  129. data/vendor/assets/javascripts/ace/mode-pgsql.js +314 -71
  130. data/vendor/assets/javascripts/ace/mode-php.js +1037 -994
  131. data/vendor/assets/javascripts/ace/mode-php_laravel_blade.js +13100 -0
  132. data/vendor/assets/javascripts/ace/mode-pig.js +13 -6
  133. data/vendor/assets/javascripts/ace/mode-plain_text.js +8 -1
  134. data/vendor/assets/javascripts/ace/mode-powershell.js +10 -3
  135. data/vendor/assets/javascripts/ace/mode-praat.js +17 -7
  136. data/vendor/assets/javascripts/ace/mode-prolog.js +12 -5
  137. data/vendor/assets/javascripts/ace/mode-properties.js +8 -1
  138. data/vendor/assets/javascripts/ace/mode-protobuf.js +22 -7
  139. data/vendor/assets/javascripts/ace/mode-puppet.js +369 -0
  140. data/vendor/assets/javascripts/ace/mode-python.js +305 -63
  141. data/vendor/assets/javascripts/ace/mode-r.js +14 -4
  142. data/vendor/assets/javascripts/ace/mode-razor.js +162 -136
  143. data/vendor/assets/javascripts/ace/mode-rdoc.js +41 -3
  144. data/vendor/assets/javascripts/ace/mode-red.js +450 -0
  145. data/vendor/assets/javascripts/ace/mode-redshift.js +360 -0
  146. data/vendor/assets/javascripts/ace/mode-rhtml.js +159 -133
  147. data/vendor/assets/javascripts/ace/mode-rst.js +8 -1
  148. data/vendor/assets/javascripts/ace/mode-ruby.js +9 -2
  149. data/vendor/assets/javascripts/ace/mode-rust.js +16 -7
  150. data/vendor/assets/javascripts/ace/mode-sass.js +211 -116
  151. data/vendor/assets/javascripts/ace/mode-scad.js +11 -4
  152. data/vendor/assets/javascripts/ace/mode-scala.js +13 -5
  153. data/vendor/assets/javascripts/ace/mode-scheme.js +9 -2
  154. data/vendor/assets/javascripts/ace/mode-scss.js +412 -125
  155. data/vendor/assets/javascripts/ace/mode-sh.js +11 -4
  156. data/vendor/assets/javascripts/ace/mode-sjs.js +15 -7
  157. data/vendor/assets/javascripts/ace/mode-slim.js +4641 -0
  158. data/vendor/assets/javascripts/ace/mode-smarty.js +161 -135
  159. data/vendor/assets/javascripts/ace/mode-snippets.js +23 -16
  160. data/vendor/assets/javascripts/ace/mode-soy_template.js +161 -135
  161. data/vendor/assets/javascripts/ace/mode-space.js +8 -1
  162. data/vendor/assets/javascripts/ace/mode-sparql.js +13 -6
  163. data/vendor/assets/javascripts/ace/mode-sql.js +9 -2
  164. data/vendor/assets/javascripts/ace/mode-sqlserver.js +11 -4
  165. data/vendor/assets/javascripts/ace/mode-stylus.js +20 -10
  166. data/vendor/assets/javascripts/ace/mode-svg.js +26 -13
  167. data/vendor/assets/javascripts/ace/mode-swift.js +15 -8
  168. data/vendor/assets/javascripts/ace/mode-tcl.js +10 -3
  169. data/vendor/assets/javascripts/ace/mode-terraform.js +397 -0
  170. data/vendor/assets/javascripts/ace/mode-tex.js +8 -1
  171. data/vendor/assets/javascripts/ace/mode-text.js +8 -0
  172. data/vendor/assets/javascripts/ace/mode-textile.js +8 -1
  173. data/vendor/assets/javascripts/ace/mode-toml.js +9 -2
  174. data/vendor/assets/javascripts/ace/mode-tsx.js +27 -31
  175. data/vendor/assets/javascripts/ace/mode-turtle.js +13 -6
  176. data/vendor/assets/javascripts/ace/mode-twig.js +160 -134
  177. data/vendor/assets/javascripts/ace/mode-typescript.js +27 -31
  178. data/vendor/assets/javascripts/ace/mode-vala.js +13 -6
  179. data/vendor/assets/javascripts/ace/mode-vbscript.js +9 -2
  180. data/vendor/assets/javascripts/ace/mode-velocity.js +159 -133
  181. data/vendor/assets/javascripts/ace/mode-verilog.js +19 -5
  182. data/vendor/assets/javascripts/ace/mode-vhdl.js +8 -1
  183. data/vendor/assets/javascripts/ace/mode-visualforce.js +2637 -0
  184. data/vendor/assets/javascripts/ace/mode-wollok.js +15 -8
  185. data/vendor/assets/javascripts/ace/mode-xml.js +21 -9
  186. data/vendor/assets/javascripts/ace/mode-xquery.js +24 -12
  187. data/vendor/assets/javascripts/ace/mode-yaml.js +15 -5
  188. data/vendor/assets/javascripts/ace/theme-ambiance.js +8 -6
  189. data/vendor/assets/javascripts/ace/theme-chaos.js +8 -1
  190. data/vendor/assets/javascripts/ace/theme-chrome.js +8 -1
  191. data/vendor/assets/javascripts/ace/theme-clouds.js +8 -1
  192. data/vendor/assets/javascripts/ace/theme-clouds_midnight.js +8 -1
  193. data/vendor/assets/javascripts/ace/theme-cobalt.js +8 -1
  194. data/vendor/assets/javascripts/ace/theme-crimson_editor.js +8 -1
  195. data/vendor/assets/javascripts/ace/theme-dawn.js +8 -1
  196. data/vendor/assets/javascripts/ace/theme-dracula.js +135 -0
  197. data/vendor/assets/javascripts/ace/theme-dreamweaver.js +8 -1
  198. data/vendor/assets/javascripts/ace/theme-eclipse.js +8 -1
  199. data/vendor/assets/javascripts/ace/theme-github.js +8 -1
  200. data/vendor/assets/javascripts/ace/theme-gob.js +8 -1
  201. data/vendor/assets/javascripts/ace/theme-gruvbox.js +8 -1
  202. data/vendor/assets/javascripts/ace/theme-idle_fingers.js +8 -1
  203. data/vendor/assets/javascripts/ace/theme-iplastic.js +8 -1
  204. data/vendor/assets/javascripts/ace/theme-katzenmilch.js +8 -1
  205. data/vendor/assets/javascripts/ace/theme-kr_theme.js +8 -1
  206. data/vendor/assets/javascripts/ace/theme-kuroir.js +8 -1
  207. data/vendor/assets/javascripts/ace/theme-merbivore.js +8 -1
  208. data/vendor/assets/javascripts/ace/theme-merbivore_soft.js +8 -1
  209. data/vendor/assets/javascripts/ace/theme-mono_industrial.js +8 -1
  210. data/vendor/assets/javascripts/ace/theme-monokai.js +8 -1
  211. data/vendor/assets/javascripts/ace/theme-pastel_on_dark.js +8 -1
  212. data/vendor/assets/javascripts/ace/theme-solarized_dark.js +8 -1
  213. data/vendor/assets/javascripts/ace/theme-solarized_light.js +9 -2
  214. data/vendor/assets/javascripts/ace/theme-sqlserver.js +8 -1
  215. data/vendor/assets/javascripts/ace/theme-terminal.js +8 -1
  216. data/vendor/assets/javascripts/ace/theme-textmate.js +9 -1
  217. data/vendor/assets/javascripts/ace/theme-tomorrow.js +8 -1
  218. data/vendor/assets/javascripts/ace/theme-tomorrow_night.js +8 -1
  219. data/vendor/assets/javascripts/ace/theme-tomorrow_night_blue.js +8 -1
  220. data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright.js +8 -1
  221. data/vendor/assets/javascripts/ace/theme-tomorrow_night_eighties.js +8 -1
  222. data/vendor/assets/javascripts/ace/theme-twilight.js +8 -1
  223. data/vendor/assets/javascripts/ace/theme-vibrant_ink.js +8 -1
  224. data/vendor/assets/javascripts/ace/theme-xcode.js +8 -1
  225. data/vendor/assets/javascripts/ace/worker-coffee.js +40 -41
  226. data/vendor/assets/javascripts/ace/worker-css.js +44 -37
  227. data/vendor/assets/javascripts/ace/worker-html.js +40 -37
  228. data/vendor/assets/javascripts/ace/worker-javascript.js +42 -39
  229. data/vendor/assets/javascripts/ace/worker-json.js +41 -36
  230. data/vendor/assets/javascripts/ace/worker-lua.js +41 -37
  231. data/vendor/assets/javascripts/ace/worker-php.js +40 -37
  232. data/vendor/assets/javascripts/ace/worker-xml.js +105 -103
  233. data/vendor/assets/javascripts/ace/worker-xquery.js +39 -36
  234. metadata +27 -4
@@ -28,7 +28,7 @@ exports.contextMenuHandler = function(e){
28
28
  });
29
29
 
30
30
  host.textInput.setInputHandler(function(newVal) {
31
- console.log(newVal , value, text.selectionStart, text.selectionEnd)
31
+ console.log(newVal , value, text.selectionStart, text.selectionEnd);
32
32
  if (newVal == value)
33
33
  return '';
34
34
  if (newVal.lastIndexOf(value, 0) === 0)
@@ -64,8 +64,11 @@ require("../config").defineOptions(Editor.prototype, "editor", {
64
64
  }
65
65
  });
66
66
 
67
- });
68
- (function() {
69
- window.require(["ace/ext/spellcheck"], function() {});
67
+ }); (function() {
68
+ window.require(["ace/ext/spellcheck"], function(m) {
69
+ if (typeof module == "object" && typeof exports == "object" && module) {
70
+ module.exports = m;
71
+ }
72
+ });
70
73
  })();
71
74
 
@@ -120,11 +120,7 @@ var Split = function(container, theme, splits) {
120
120
  var s = new EditSession(session.getDocument(), session.getMode());
121
121
 
122
122
  var undoManager = session.getUndoManager();
123
- if (undoManager) {
124
- var undoManagerProxy = new UndoManagerProxy(undoManager, s);
125
- s.setUndoManager(undoManagerProxy);
126
- }
127
- s.$informUndoManager = lang.delayedCall(function() { s.$deltas = []; });
123
+ s.setUndoManager(undoManager);
128
124
  s.setTabSize(session.getTabSize());
129
125
  s.setUseSoftTabs(session.getUseSoftTabs());
130
126
  s.setOverwrite(session.getOverwrite());
@@ -194,44 +190,6 @@ var Split = function(container, theme, splits) {
194
190
 
195
191
  }).call(Split.prototype);
196
192
 
197
-
198
- function UndoManagerProxy(undoManager, session) {
199
- this.$u = undoManager;
200
- this.$doc = session;
201
- }
202
-
203
- (function() {
204
- this.execute = function(options) {
205
- this.$u.execute(options);
206
- };
207
-
208
- this.undo = function() {
209
- var selectionRange = this.$u.undo(true);
210
- if (selectionRange) {
211
- this.$doc.selection.setSelectionRange(selectionRange);
212
- }
213
- };
214
-
215
- this.redo = function() {
216
- var selectionRange = this.$u.redo(true);
217
- if (selectionRange) {
218
- this.$doc.selection.setSelectionRange(selectionRange);
219
- }
220
- };
221
-
222
- this.reset = function() {
223
- this.$u.reset();
224
- };
225
-
226
- this.hasUndo = function() {
227
- return this.$u.hasUndo();
228
- };
229
-
230
- this.hasRedo = function() {
231
- return this.$u.hasRedo();
232
- };
233
- }).call(UndoManagerProxy.prototype);
234
-
235
193
  exports.Split = Split;
236
194
  });
237
195
 
@@ -239,8 +197,11 @@ define("ace/ext/split",["require","exports","module","ace/split"], function(requ
239
197
  "use strict";
240
198
  module.exports = require("../split");
241
199
 
242
- });
243
- (function() {
244
- window.require(["ace/ext/split"], function() {});
200
+ }); (function() {
201
+ window.require(["ace/ext/split"], function(m) {
202
+ if (typeof module == "object" && typeof exports == "object" && module) {
203
+ module.exports = m;
204
+ }
205
+ });
245
206
  })();
246
207
 
@@ -1,4 +1,4 @@
1
- define("ace/ext/static_highlight",["require","exports","module","ace/edit_session","ace/layer/text","ace/config","ace/lib/dom"], function(require, exports, module) {
1
+ define("ace/ext/static_highlight",["require","exports","module","ace/edit_session","ace/layer/text","ace/config","ace/lib/dom","ace/lib/lang"], function(require, exports, module) {
2
2
  "use strict";
3
3
 
4
4
  var EditSession = require("../edit_session").EditSession;
@@ -13,6 +13,7 @@ width: 2em;\
13
13
  text-align: right;\
14
14
  padding: 0 3px 0 0;\
15
15
  margin-right: 3px;\
16
+ contain: none;\
16
17
  }\
17
18
  .ace_static_highlight.ace_show_gutter .ace_line {\
18
19
  padding-left: 2.6em;\
@@ -38,9 +39,61 @@ counter-reset: ace_line;\
38
39
  ";
39
40
  var config = require("../config");
40
41
  var dom = require("../lib/dom");
42
+ var escapeHTML = require("../lib/lang").escapeHTML;
43
+
44
+ function Element(type) {
45
+ this.type = type;
46
+ this.style = {};
47
+ this.textContent = "";
48
+ }
49
+ Element.prototype.cloneNode = function() {
50
+ return this;
51
+ };
52
+ Element.prototype.appendChild = function(child) {
53
+ this.textContent += child.toString();
54
+ };
55
+ Element.prototype.toString = function() {
56
+ var stringBuilder = [];
57
+ if (this.type != "fragment") {
58
+ stringBuilder.push("<", this.type);
59
+ if (this.className)
60
+ stringBuilder.push(" class='", this.className, "'");
61
+ var styleStr = [];
62
+ for (var key in this.style) {
63
+ styleStr.push(key, ":", this.style[key]);
64
+ }
65
+ if (styleStr.length)
66
+ stringBuilder.push(" style='", styleStr.join(""), "'");
67
+ stringBuilder.push(">");
68
+ }
69
+
70
+ if (this.textContent) {
71
+ stringBuilder.push(this.textContent);
72
+ }
73
+
74
+ if (this.type != "fragment") {
75
+ stringBuilder.push("</", this.type, ">");
76
+ }
77
+
78
+ return stringBuilder.join("");
79
+ };
80
+
81
+
82
+ var simpleDom = {
83
+ createTextNode: function(textContent, element) {
84
+ return escapeHTML(textContent);
85
+ },
86
+ createElement: function(type) {
87
+ return new Element(type);
88
+ },
89
+ createFragment: function() {
90
+ return new Element("fragment");
91
+ }
92
+ };
41
93
 
42
94
  var SimpleTextLayer = function() {
43
95
  this.config = {};
96
+ this.dom = simpleDom;
44
97
  };
45
98
  SimpleTextLayer.prototype = TextLayer.prototype;
46
99
 
@@ -66,7 +119,7 @@ var highlight = function(el, opts, callback) {
66
119
  }
67
120
  }
68
121
  } else {
69
- data = dom.getInnerText(el);
122
+ data = el.textContent;
70
123
  if (opts.trim)
71
124
  data = data.trim();
72
125
  }
@@ -123,39 +176,54 @@ highlight.renderSync = function(input, mode, theme, lineStart, disableGutter) {
123
176
 
124
177
  var textLayer = new SimpleTextLayer();
125
178
  textLayer.setSession(session);
179
+ Object.keys(textLayer.$tabStrings).forEach(function(k) {
180
+ if (typeof textLayer.$tabStrings[k] == "string") {
181
+ var el = simpleDom.createFragment();
182
+ el.textContent = textLayer.$tabStrings[k];
183
+ textLayer.$tabStrings[k] = el;
184
+ }
185
+ });
126
186
 
127
187
  session.setValue(input);
128
-
129
- var stringBuilder = [];
130
188
  var length = session.getLength();
189
+
190
+ var outerEl = simpleDom.createElement("div");
191
+ outerEl.className = theme.cssClass;
192
+
193
+ var innerEl = simpleDom.createElement("div");
194
+ innerEl.className = "ace_static_highlight" + (disableGutter ? "" : " ace_show_gutter");
195
+ innerEl.style["counter-reset"] = "ace_line " + (lineStart - 1);
131
196
 
132
- for(var ix = 0; ix < length; ix++) {
133
- stringBuilder.push("<div class='ace_line'>");
134
- if (!disableGutter)
135
- stringBuilder.push("<span class='ace_gutter ace_gutter-cell' unselectable='on'>" + /*(ix + lineStart) + */ "</span>");
136
- textLayer.$renderLine(stringBuilder, ix, true, false);
137
- stringBuilder.push("\n</div>");
197
+ for (var ix = 0; ix < length; ix++) {
198
+ var lineEl = simpleDom.createElement("div");
199
+ lineEl.className = "ace_line";
200
+
201
+ if (!disableGutter) {
202
+ var gutterEl = simpleDom.createElement("span");
203
+ gutterEl.className ="ace_gutter ace_gutter-cell";
204
+ gutterEl.textContent = "";
205
+ lineEl.appendChild(gutterEl);
206
+ }
207
+ textLayer.$renderLine(lineEl, ix, false);
208
+ lineEl.textContent += "\n";
209
+ innerEl.appendChild(lineEl);
138
210
  }
139
- var html = "<div class='" + theme.cssClass + "'>" +
140
- "<div class='ace_static_highlight" + (disableGutter ? "" : " ace_show_gutter") +
141
- "' style='counter-reset:ace_line " + (lineStart - 1) + "'>" +
142
- stringBuilder.join("") +
143
- "</div>" +
144
- "</div>";
145
-
146
- textLayer.destroy();
211
+ outerEl.appendChild(innerEl);
147
212
 
148
213
  return {
149
214
  css: baseStyles + theme.cssText,
150
- html: html,
215
+ html: outerEl.toString(),
151
216
  session: session
152
217
  };
153
218
  };
154
219
 
155
220
  module.exports = highlight;
156
221
  module.exports.highlight = highlight;
157
- });
158
- (function() {
159
- window.require(["ace/ext/static_highlight"], function() {});
222
+ }); (function() {
223
+ window.require(["ace/ext/static_highlight"], function(m) {
224
+ if (typeof module == "object" && typeof exports == "object" && module) {
225
+ module.exports = m;
226
+ }
227
+ });
160
228
  })();
161
229
 
@@ -10,7 +10,7 @@ var StatusBar = function(editor, parentNode) {
10
10
  parentNode.appendChild(this.element);
11
11
 
12
12
  var statusUpdate = lang.delayedCall(function(){
13
- this.updateStatus(editor)
13
+ this.updateStatus(editor);
14
14
  }.bind(this)).schedule.bind(null, 100);
15
15
 
16
16
  editor.on("changeStatus", statusUpdate);
@@ -46,8 +46,11 @@ var StatusBar = function(editor, parentNode) {
46
46
 
47
47
  exports.StatusBar = StatusBar;
48
48
 
49
- });
50
- (function() {
51
- window.require(["ace/ext/statusbar"], function() {});
49
+ }); (function() {
50
+ window.require(["ace/ext/statusbar"], function(m) {
51
+ if (typeof module == "object" && typeof exports == "object" && module) {
52
+ module.exports = m;
53
+ }
54
+ });
52
55
  })();
53
56
 
@@ -123,6 +123,7 @@ border: 1px solid rgb(200, 200, 250);\
123
123
  background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\
124
124
  }\
125
125
  ";
126
+ exports.$id = "ace/theme/textmate";
126
127
 
127
128
  var dom = require("../lib/dom");
128
129
  dom.importCssString(exports.cssText, exports.cssClass);
@@ -203,6 +204,7 @@ function setupContainer(element, getValue) {
203
204
  }
204
205
 
205
206
  exports.transformTextarea = function(element, options) {
207
+ var isFocused = element.autofocus || document.activeElement == element;
206
208
  var session;
207
209
  var container = setupContainer(element, function() {
208
210
  return session.getValue();
@@ -225,12 +227,9 @@ exports.transformTextarea = function(element, options) {
225
227
  position: "absolute",
226
228
  right: "0px",
227
229
  bottom: "0px",
228
- background: "red",
229
230
  cursor: "nw-resize",
230
- borderStyle: "solid",
231
- borderWidth: "9px 8px 10px 9px",
232
- width: "2px",
233
- borderColor: "lightblue gray gray lightblue",
231
+ border: "solid 9px",
232
+ borderColor: "lightblue gray gray #ceade6",
234
233
  zIndex: 101
235
234
  });
236
235
 
@@ -263,9 +262,10 @@ exports.transformTextarea = function(element, options) {
263
262
  session = editor.getSession();
264
263
 
265
264
  session.setValue(element.value || element.innerHTML);
266
- editor.focus();
265
+ if (isFocused)
266
+ editor.focus();
267
267
  container.appendChild(settingOpener);
268
- setupApi(editor, editorDiv, settingDiv, ace, options, load);
268
+ setupApi(editor, editorDiv, settingDiv, ace, options);
269
269
  setupSettingPanel(settingDiv, settingOpener, editor);
270
270
 
271
271
  var state = "";
@@ -282,6 +282,7 @@ exports.transformTextarea = function(element, options) {
282
282
  });
283
283
 
284
284
  event.addListener(settingOpener, "mousedown", function(e) {
285
+ e.preventDefault();
285
286
  if (state == "toggle") {
286
287
  editor.setDisplaySettings();
287
288
  return;
@@ -306,10 +307,9 @@ function load(url, module, callback) {
306
307
  });
307
308
  }
308
309
 
309
- function setupApi(editor, editorDiv, settingDiv, ace, options, loader) {
310
+ function setupApi(editor, editorDiv, settingDiv, ace, options) {
310
311
  var session = editor.getSession();
311
312
  var renderer = editor.renderer;
312
- loader = loader || load;
313
313
 
314
314
  function toBool(value) {
315
315
  return value === "true" || value == true;
@@ -335,10 +335,10 @@ function setupApi(editor, editorDiv, settingDiv, ace, options, loader) {
335
335
  editor.setOption = function(key, value) {
336
336
  switch (key) {
337
337
  case "mode":
338
- editor.$setOption("mode", "ace/mode/" + value)
338
+ editor.$setOption("mode", "ace/mode/" + value);
339
339
  break;
340
340
  case "theme":
341
- editor.$setOption("theme", "ace/theme/" + value)
341
+ editor.$setOption("theme", "ace/theme/" + value);
342
342
  break;
343
343
  case "keybindings":
344
344
  switch (value) {
@@ -353,7 +353,7 @@ function setupApi(editor, editorDiv, settingDiv, ace, options, loader) {
353
353
  }
354
354
  break;
355
355
 
356
- case "softWrap":
356
+ case "wrap":
357
357
  case "fontSize":
358
358
  editor.$setOption(key, value);
359
359
  break;
@@ -366,15 +366,15 @@ function setupApi(editor, editorDiv, settingDiv, ace, options, loader) {
366
366
  editor.getOption = function(key) {
367
367
  switch (key) {
368
368
  case "mode":
369
- return editor.$getOption("mode").substr("ace/mode/".length)
369
+ return editor.$getOption("mode").substr("ace/mode/".length);
370
370
  break;
371
371
 
372
372
  case "theme":
373
- return editor.$getOption("theme").substr("ace/theme/".length)
373
+ return editor.$getOption("theme").substr("ace/theme/".length);
374
374
  break;
375
375
 
376
376
  case "keybindings":
377
- var value = editor.getKeyboardHandler()
377
+ var value = editor.getKeyboardHandler();
378
378
  switch (value && value.$id) {
379
379
  case "ace/keyboard/vim":
380
380
  return "vim";
@@ -553,8 +553,11 @@ exports.defaultOptions = {
553
553
  showInvisibles: "false"
554
554
  };
555
555
 
556
- });
557
- (function() {
558
- window.require(["ace/ext/textarea"], function() {});
556
+ }); (function() {
557
+ window.require(["ace/ext/textarea"], function(m) {
558
+ if (typeof module == "object" && typeof exports == "object" && module) {
559
+ module.exports = m;
560
+ }
561
+ });
559
562
  })();
560
563
 
@@ -1,6 +1,5 @@
1
- define("ace/ext/themelist",["require","exports","module","ace/lib/fixoldbrowsers"], function(require, exports, module) {
1
+ define("ace/ext/themelist",["require","exports","module"], function(require, exports, module) {
2
2
  "use strict";
3
- require("ace/lib/fixoldbrowsers");
4
3
 
5
4
  var themeData = [
6
5
  ["Chrome" ],
@@ -21,6 +20,7 @@ var themeData = [
21
20
  ["Ambiance" ,"ambiance" , "dark"],
22
21
  ["Chaos" ,"chaos" , "dark"],
23
22
  ["Clouds Midnight" ,"clouds_midnight" , "dark"],
23
+ ["Dracula" ,"" , "dark"],
24
24
  ["Cobalt" ,"cobalt" , "dark"],
25
25
  ["Gruvbox" ,"gruvbox" , "dark"],
26
26
  ["Green on Black" ,"gob" , "dark"],
@@ -55,8 +55,11 @@ exports.themes = themeData.map(function(data) {
55
55
  return theme;
56
56
  });
57
57
 
58
- });
59
- (function() {
60
- window.require(["ace/ext/themelist"], function() {});
58
+ }); (function() {
59
+ window.require(["ace/ext/themelist"], function(m) {
60
+ if (typeof module == "object" && typeof exports == "object" && module) {
61
+ module.exports = m;
62
+ }
63
+ });
61
64
  })();
62
65
 
@@ -38,7 +38,7 @@ exports.$detectIndentation = function(lines, fallback) {
38
38
  return score;
39
39
  }
40
40
 
41
- var changesTotal = changes.reduce(function(a,b){return a+b}, 0);
41
+ var changesTotal = changes.reduce(function(a,b){return a+b;}, 0);
42
42
 
43
43
  var first = {score: 0, length: 0};
44
44
  var spaceIndents = 0;
@@ -181,8 +181,8 @@ exports.commands = [{
181
181
  }
182
182
  }, {
183
183
  name: "trimTrailingSpace",
184
- exec: function(editor) {
185
- exports.trimTrailingSpace(editor.session);
184
+ exec: function(editor, args) {
185
+ exports.trimTrailingSpace(editor.session, args);
186
186
  }
187
187
  }, {
188
188
  name: "convertIndentation",
@@ -199,8 +199,11 @@ exports.commands = [{
199
199
  }
200
200
  }];
201
201
 
202
- });
203
- (function() {
204
- window.require(["ace/ext/whitespace"], function() {});
202
+ }); (function() {
203
+ window.require(["ace/ext/whitespace"], function(m) {
204
+ if (typeof module == "object" && typeof exports == "object" && module) {
205
+ module.exports = m;
206
+ }
207
+ });
205
208
  })();
206
209