ace-rails-ap 4.2 → 4.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ace/rails/version.rb +1 -1
- data/update.sh +1 -1
- data/vendor/assets/javascripts/ace/ace.js +661 -160
- data/vendor/assets/javascripts/ace/ext-beautify.js +1 -0
- data/vendor/assets/javascripts/ace/ext-emmet.js +314 -218
- data/vendor/assets/javascripts/ace/ext-keybinding_menu.js +37 -32
- data/vendor/assets/javascripts/ace/ext-language_tools.js +362 -225
- data/vendor/assets/javascripts/ace/ext-linking.js +1 -1
- data/vendor/assets/javascripts/ace/ext-modelist.js +6 -2
- data/vendor/assets/javascripts/ace/ext-options.js +45 -34
- data/vendor/assets/javascripts/ace/ext-prompt.js +2764 -0
- data/vendor/assets/javascripts/ace/ext-rtl.js +1 -3
- data/vendor/assets/javascripts/ace/ext-settings_menu.js +49 -38
- data/vendor/assets/javascripts/ace/ext-statusbar.js +2 -2
- data/vendor/assets/javascripts/ace/ext-whitespace.js +4 -0
- data/vendor/assets/javascripts/ace/keybinding-emacs.js +1 -0
- data/vendor/assets/javascripts/ace/keybinding-vim.js +296 -66
- data/vendor/assets/javascripts/ace/mode-aql.js +102 -0
- data/vendor/assets/javascripts/ace/mode-autohotkey.js +3 -1
- data/vendor/assets/javascripts/ace/mode-cirru.js +2 -2
- data/vendor/assets/javascripts/ace/mode-crystal.js +642 -0
- data/vendor/assets/javascripts/ace/mode-csound_document.js +42 -29
- data/vendor/assets/javascripts/ace/mode-csound_orchestra.js +35 -25
- data/vendor/assets/javascripts/ace/mode-csound_score.js +29 -21
- data/vendor/assets/javascripts/ace/mode-fsharp.js +2 -2
- data/vendor/assets/javascripts/ace/mode-gherkin.js +0 -2
- data/vendor/assets/javascripts/ace/mode-gobstones.js +252 -94
- data/vendor/assets/javascripts/ace/mode-io.js +1 -7
- data/vendor/assets/javascripts/ace/mode-jade.js +1 -1
- data/vendor/assets/javascripts/ace/mode-lua.js +30 -10
- data/vendor/assets/javascripts/ace/mode-luapage.js +30 -10
- data/vendor/assets/javascripts/ace/mode-lucene.js +77 -9
- data/vendor/assets/javascripts/ace/mode-markdown.js +2 -1
- data/vendor/assets/javascripts/ace/mode-mask.js +1 -1
- data/vendor/assets/javascripts/ace/mode-nginx.js +298 -0
- data/vendor/assets/javascripts/ace/mode-nim.js +363 -0
- data/vendor/assets/javascripts/ace/mode-pascal.js +84 -66
- data/vendor/assets/javascripts/ace/mode-php.js +1 -1
- data/vendor/assets/javascripts/ace/mode-php_laravel_blade.js +1 -1
- data/vendor/assets/javascripts/ace/mode-puppet.js +3 -3
- data/vendor/assets/javascripts/ace/mode-slim.js +2 -1
- data/vendor/assets/javascripts/ace/mode-tcl.js +3 -0
- data/vendor/assets/javascripts/ace/mode-terraform.js +4 -4
- data/vendor/assets/javascripts/ace/mode-yaml.js +44 -13
- data/vendor/assets/javascripts/ace/mode-zeek.js +539 -0
- data/vendor/assets/javascripts/ace/snippets/abap.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/abc.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/actionscript.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/ada.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/apache_conf.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/apex.js +14 -0
- data/vendor/assets/javascripts/ace/snippets/applescript.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/aql.js +14 -0
- data/vendor/assets/javascripts/ace/snippets/asciidoc.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/asl.js +13 -0
- data/vendor/assets/javascripts/ace/snippets/assembly_x86.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/autohotkey.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/batchfile.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/bro.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/c9search.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/c_cpp.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/cirru.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/clojure.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/cobol.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/coffee.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/coldfusion.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/crystal.js +14 -0
- data/vendor/assets/javascripts/ace/snippets/csharp.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/csound_document.js +24 -0
- data/vendor/assets/javascripts/ace/snippets/csound_orchestra.js +61 -0
- data/vendor/assets/javascripts/ace/snippets/csound_score.js +14 -0
- data/vendor/assets/javascripts/ace/snippets/csp.js +14 -0
- data/vendor/assets/javascripts/ace/snippets/css.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/curly.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/d.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/dart.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/diff.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/django.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/dockerfile.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/dot.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/drools.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/edifact.js +254 -0
- data/vendor/assets/javascripts/ace/snippets/eiffel.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/ejs.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/elixir.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/elm.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/erlang.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/forth.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/fortran.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/fsharp.js +14 -0
- data/vendor/assets/javascripts/ace/snippets/fsl.js +14 -0
- data/vendor/assets/javascripts/ace/snippets/ftl.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/gcode.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/gherkin.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/gitignore.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/glsl.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/gobstones.js +1701 -24
- data/vendor/assets/javascripts/ace/snippets/golang.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/graphqlschema.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/groovy.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/haml.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/handlebars.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/haskell.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/haskell_cabal.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/haxe.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/hjson.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/html.js +36 -2
- data/vendor/assets/javascripts/ace/snippets/html_elixir.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/html_ruby.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/ini.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/io.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/jack.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/jade.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/java.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/javascript.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/json.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/jsoniq.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/jsp.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/jssm.js +14 -0
- data/vendor/assets/javascripts/ace/snippets/jsx.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/julia.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/kotlin.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/latex.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/less.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/liquid.js +890 -2
- data/vendor/assets/javascripts/ace/snippets/lisp.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/livescript.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/logiql.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/logtalk.js +14 -0
- data/vendor/assets/javascripts/ace/snippets/lsl.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/lua.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/luapage.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/lucene.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/makefile.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/markdown.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/mask.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/matlab.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/maze.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/mel.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/mixal.js +14 -0
- data/vendor/assets/javascripts/ace/snippets/mushcode.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/mysql.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/nginx.js +14 -0
- data/vendor/assets/javascripts/ace/snippets/nim.js +14 -0
- data/vendor/assets/javascripts/ace/snippets/nix.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/nsis.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/objectivec.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/ocaml.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/pascal.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/perl.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/perl6.js +14 -0
- data/vendor/assets/javascripts/ace/snippets/pgsql.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/php.js +49 -36
- data/vendor/assets/javascripts/ace/snippets/php_laravel_blade.js +14 -0
- data/vendor/assets/javascripts/ace/snippets/pig.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/plain_text.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/powershell.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/praat.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/prolog.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/properties.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/protobuf.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/puppet.js +14 -0
- data/vendor/assets/javascripts/ace/snippets/python.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/r.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/razor.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/rdoc.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/red.js +14 -0
- data/vendor/assets/javascripts/ace/snippets/redshift.js +14 -0
- data/vendor/assets/javascripts/ace/snippets/rhtml.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/rst.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/ruby.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/rust.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/sass.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/scad.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/scala.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/scheme.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/scss.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/sh.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/sjs.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/slim.js +14 -0
- data/vendor/assets/javascripts/ace/snippets/smarty.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/snippets.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/soy_template.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/space.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/sparql.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/sql.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/sqlserver.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/stylus.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/svg.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/swift.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/tcl.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/terraform.js +14 -0
- data/vendor/assets/javascripts/ace/snippets/tex.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/text.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/textile.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/toml.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/tsx.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/turtle.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/twig.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/typescript.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/vala.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/vbscript.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/velocity.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/verilog.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/vhdl.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/visualforce.js +14 -0
- data/vendor/assets/javascripts/ace/snippets/wollok.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/xml.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/xquery.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/yaml.js +8 -1
- data/vendor/assets/javascripts/ace/snippets/zeek.js +14 -0
- data/vendor/assets/javascripts/ace/worker-coffee.js +2 -2
- data/vendor/assets/javascripts/ace/worker-css.js +9 -3
- data/vendor/assets/javascripts/ace/worker-html.js +2 -2
- data/vendor/assets/javascripts/ace/worker-javascript.js +2 -2
- data/vendor/assets/javascripts/ace/worker-json.js +2 -2
- data/vendor/assets/javascripts/ace/worker-lua.js +2 -2
- data/vendor/assets/javascripts/ace/worker-php.js +4 -4
- data/vendor/assets/javascripts/ace/worker-xml.js +2 -2
- data/vendor/assets/javascripts/ace/worker-xquery.js +2 -2
- metadata +34 -16
- data/vendor/assets/javascripts/ace/ext-chromevox.js +0 -540
- data/vendor/assets/javascripts/ace/ext-old_ie.js +0 -502
- data/vendor/assets/javascripts/ace/mode-bash.js +0 -247
- data/vendor/assets/javascripts/ace/mode-lean.js +0 -281
- data/vendor/assets/javascripts/ace/mode-live_script.js +0 -481
- data/vendor/assets/javascripts/ace/mode-mips_assembler.js +0 -235
- data/vendor/assets/javascripts/ace/mode-mipsassembler.js +0 -196
- data/vendor/assets/javascripts/ace/mode-swig.js +0 -1099
- data/vendor/assets/javascripts/ace/snippets/lean.js +0 -7
- data/vendor/assets/javascripts/ace/snippets/live_script.js +0 -7
- data/vendor/assets/javascripts/ace/snippets/mips_assembler.js +0 -7
- data/vendor/assets/javascripts/ace/snippets/mipsassembler.js +0 -7
- data/vendor/assets/javascripts/ace/snippets/swig.js +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 77b42605762b0e7b692f3016aca72bff17969db1ea03ebf10db879e55903b42b
|
4
|
+
data.tar.gz: 61e50b5abcfec5370aa3091f9badf12c049f44ee73589878fc47c1a318c5b579
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5e0ff1f0f98d38aef4aa50840ee8ec90db0e3d00c6ae255b652edd559fbc702cb10040ef61e90f7bb1979fc85500a37ee4cb9a87cd7f0ffcf47b1e032a7bc475
|
7
|
+
data.tar.gz: 12e3168150cf86833e48877cd75fca02bbcc496cc2b638a44a4b7411126afb536ecf79c319847f9311e3dfffd5862224d168b6a8c2fc7e7df36ef2bb1af6f599
|
data/lib/ace/rails/version.rb
CHANGED
data/update.sh
CHANGED
@@ -880,10 +880,10 @@ if (!Date.now) {
|
|
880
880
|
return new Date().getTime();
|
881
881
|
};
|
882
882
|
}
|
883
|
-
var ws = "\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\
|
883
|
+
var ws = "\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003" +
|
884
884
|
"\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028" +
|
885
885
|
"\u2029\uFEFF";
|
886
|
-
if (!String.prototype.trim
|
886
|
+
if (!String.prototype.trim) {
|
887
887
|
ws = "[" + ws + "]";
|
888
888
|
var trimBeginRegexp = new RegExp("^" + ws + ws + "*"),
|
889
889
|
trimEndRegexp = new RegExp(ws + ws + "*$");
|
@@ -976,22 +976,22 @@ exports.getOS = function() {
|
|
976
976
|
return exports.OS.WINDOWS;
|
977
977
|
}
|
978
978
|
};
|
979
|
-
|
980
|
-
return;
|
979
|
+
var _navigator = typeof navigator == "object" ? navigator : {};
|
981
980
|
|
982
|
-
var os = (
|
983
|
-
var ua =
|
981
|
+
var os = (/mac|win|linux/i.exec(_navigator.platform) || ["other"])[0].toLowerCase();
|
982
|
+
var ua = _navigator.userAgent || "";
|
983
|
+
var appName = _navigator.appName || "";
|
984
984
|
exports.isWin = (os == "win");
|
985
985
|
exports.isMac = (os == "mac");
|
986
986
|
exports.isLinux = (os == "linux");
|
987
987
|
exports.isIE =
|
988
|
-
(
|
988
|
+
(appName == "Microsoft Internet Explorer" || appName.indexOf("MSAppHost") >= 0)
|
989
989
|
? parseFloat((ua.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1])
|
990
990
|
: parseFloat((ua.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]); // for ie
|
991
991
|
|
992
992
|
exports.isOldIE = exports.isIE && exports.isIE < 9;
|
993
993
|
exports.isGecko = exports.isMozilla = ua.match(/ Gecko\/\d+/);
|
994
|
-
exports.isOpera =
|
994
|
+
exports.isOpera = typeof opera == "object" && Object.prototype.toString.call(window.opera) == "[object Opera]";
|
995
995
|
exports.isWebKit = parseFloat(ua.split("WebKit/")[1]) || undefined;
|
996
996
|
|
997
997
|
exports.isChrome = parseFloat(ua.split(" Chrome/")[1]) || undefined;
|
@@ -1000,8 +1000,6 @@ exports.isEdge = parseFloat(ua.split(" Edge/")[1]) || undefined;
|
|
1000
1000
|
|
1001
1001
|
exports.isAIR = ua.indexOf("AdobeAIR") >= 0;
|
1002
1002
|
|
1003
|
-
exports.isIPad = ua.indexOf("iPad") >= 0;
|
1004
|
-
|
1005
1003
|
exports.isAndroid = ua.indexOf("Android") >= 0;
|
1006
1004
|
|
1007
1005
|
exports.isChromeOS = ua.indexOf(" CrOS ") >= 0;
|
@@ -1010,7 +1008,7 @@ exports.isIOS = /iPad|iPhone|iPod/.test(ua) && !window.MSStream;
|
|
1010
1008
|
|
1011
1009
|
if (exports.isIOS) exports.isMac = true;
|
1012
1010
|
|
1013
|
-
exports.isMobile = exports.
|
1011
|
+
exports.isMobile = exports.isIOS || exports.isAndroid;
|
1014
1012
|
|
1015
1013
|
});
|
1016
1014
|
|
@@ -1290,7 +1288,8 @@ var oop = require("./oop");
|
|
1290
1288
|
var Keys = (function() {
|
1291
1289
|
var ret = {
|
1292
1290
|
MODIFIER_KEYS: {
|
1293
|
-
16: 'Shift', 17: 'Ctrl', 18: 'Alt', 224: 'Meta'
|
1291
|
+
16: 'Shift', 17: 'Ctrl', 18: 'Alt', 224: 'Meta',
|
1292
|
+
91: 'MetaLeft', 92: 'MetaRight', 93: 'ContextMenu'
|
1294
1293
|
},
|
1295
1294
|
|
1296
1295
|
KEY_MODS: {
|
@@ -1475,30 +1474,6 @@ exports.capture = function(el, eventHandler, releaseCaptureHandler) {
|
|
1475
1474
|
return onMouseUp;
|
1476
1475
|
};
|
1477
1476
|
|
1478
|
-
exports.addTouchMoveListener = function (el, callback) {
|
1479
|
-
var startx, starty;
|
1480
|
-
exports.addListener(el, "touchstart", function (e) {
|
1481
|
-
var touches = e.touches;
|
1482
|
-
var touchObj = touches[0];
|
1483
|
-
startx = touchObj.clientX;
|
1484
|
-
starty = touchObj.clientY;
|
1485
|
-
});
|
1486
|
-
exports.addListener(el, "touchmove", function (e) {
|
1487
|
-
var touches = e.touches;
|
1488
|
-
if (touches.length > 1) return;
|
1489
|
-
|
1490
|
-
var touchObj = touches[0];
|
1491
|
-
|
1492
|
-
e.wheelX = startx - touchObj.clientX;
|
1493
|
-
e.wheelY = starty - touchObj.clientY;
|
1494
|
-
|
1495
|
-
startx = touchObj.clientX;
|
1496
|
-
starty = touchObj.clientY;
|
1497
|
-
|
1498
|
-
callback(e);
|
1499
|
-
});
|
1500
|
-
};
|
1501
|
-
|
1502
1477
|
exports.addMouseWheelListener = function(el, callback) {
|
1503
1478
|
if ("onmousewheel" in el) {
|
1504
1479
|
exports.addListener(el, "mousewheel", function(e) {
|
@@ -1642,9 +1617,6 @@ function normalizeCommandKeys(callback, e, keyCode) {
|
|
1642
1617
|
if (keyCode in keys.MODIFIER_KEYS) {
|
1643
1618
|
keyCode = -1;
|
1644
1619
|
}
|
1645
|
-
if (hashId & 8 && (keyCode >= 91 && keyCode <= 93)) {
|
1646
|
-
keyCode = -1;
|
1647
|
-
}
|
1648
1620
|
|
1649
1621
|
if (!hashId && keyCode === 13) {
|
1650
1622
|
var location = "location" in e ? e.location : e.keyLocation;
|
@@ -2193,13 +2165,32 @@ exports.delayedCall = function(fcn, defaultTimeout) {
|
|
2193
2165
|
};
|
2194
2166
|
});
|
2195
2167
|
|
2196
|
-
define("ace/
|
2168
|
+
define("ace/clipboard",["require","exports","module"], function(require, exports, module) {
|
2169
|
+
"use strict";
|
2170
|
+
|
2171
|
+
var $cancelT;
|
2172
|
+
module.exports = {
|
2173
|
+
lineMode: false,
|
2174
|
+
pasteCancelled: function() {
|
2175
|
+
if ($cancelT && $cancelT > Date.now() - 50)
|
2176
|
+
return true;
|
2177
|
+
return $cancelT = false;
|
2178
|
+
},
|
2179
|
+
cancel: function() {
|
2180
|
+
$cancelT = Date.now();
|
2181
|
+
}
|
2182
|
+
};
|
2183
|
+
|
2184
|
+
});
|
2185
|
+
|
2186
|
+
define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"], function(require, exports, module) {
|
2197
2187
|
"use strict";
|
2198
2188
|
|
2199
2189
|
var event = require("../lib/event");
|
2200
2190
|
var useragent = require("../lib/useragent");
|
2201
2191
|
var dom = require("../lib/dom");
|
2202
2192
|
var lang = require("../lib/lang");
|
2193
|
+
var clipboard = require("../clipboard");
|
2203
2194
|
var BROKEN_SETDATA = useragent.isChrome < 18;
|
2204
2195
|
var USE_IE_MIME_TYPE = useragent.isIE;
|
2205
2196
|
var HAS_FOCUS_ARGS = useragent.isChrome > 63;
|
@@ -2227,8 +2218,6 @@ var TextInput = function(parentNode, host) {
|
|
2227
2218
|
var inComposition = false;
|
2228
2219
|
var sendingText = false;
|
2229
2220
|
var tempStyle = '';
|
2230
|
-
var isSelectionEmpty = true;
|
2231
|
-
var copyWithEmptySelection = false;
|
2232
2221
|
|
2233
2222
|
if (!useragent.isMobile)
|
2234
2223
|
text.style.fontSize = "1px";
|
@@ -2239,6 +2228,7 @@ var TextInput = function(parentNode, host) {
|
|
2239
2228
|
var lastValue = "";
|
2240
2229
|
var lastSelectionStart = 0;
|
2241
2230
|
var lastSelectionEnd = 0;
|
2231
|
+
var lastRestoreEnd = 0;
|
2242
2232
|
try { var isFocused = document.activeElement === text; } catch(e) {}
|
2243
2233
|
|
2244
2234
|
event.addListener(text, "blur", function(e) {
|
@@ -2317,7 +2307,7 @@ var TextInput = function(parentNode, host) {
|
|
2317
2307
|
|
2318
2308
|
var resetSelection = isIOS
|
2319
2309
|
? function(value) {
|
2320
|
-
if (!isFocused || (copied && !value)) return;
|
2310
|
+
if (!isFocused || (copied && !value) || sendingText) return;
|
2321
2311
|
if (!value)
|
2322
2312
|
value = "";
|
2323
2313
|
var newValue = "\n ab" + value + "cde fg\n";
|
@@ -2452,10 +2442,14 @@ var TextInput = function(parentNode, host) {
|
|
2452
2442
|
}
|
2453
2443
|
restoreStart -= i-1;
|
2454
2444
|
restoreEnd -= i-1;
|
2455
|
-
|
2456
|
-
if (
|
2445
|
+
var endIndex = inserted.length - i + 1;
|
2446
|
+
if (endIndex < 0) {
|
2447
|
+
extendLeft = -endIndex;
|
2448
|
+
endIndex = 0;
|
2449
|
+
}
|
2450
|
+
inserted = inserted.slice(0, endIndex);
|
2451
|
+
if (!fromInput && !inserted && !restoreStart && !extendLeft && !extendRight && !restoreEnd)
|
2457
2452
|
return "";
|
2458
|
-
|
2459
2453
|
sendingText = true;
|
2460
2454
|
if (inserted && !extendLeft && !extendRight && !restoreStart && !restoreEnd || commandMode) {
|
2461
2455
|
host.onTextInput(inserted);
|
@@ -2472,12 +2466,17 @@ var TextInput = function(parentNode, host) {
|
|
2472
2466
|
lastValue = value;
|
2473
2467
|
lastSelectionStart = selectionStart;
|
2474
2468
|
lastSelectionEnd = selectionEnd;
|
2469
|
+
lastRestoreEnd = restoreEnd;
|
2475
2470
|
return inserted;
|
2476
2471
|
}
|
2477
2472
|
};
|
2478
2473
|
var onInput = function(e) {
|
2479
2474
|
if (inComposition)
|
2480
2475
|
return onCompositionUpdate();
|
2476
|
+
if (e && e.inputType) {
|
2477
|
+
if (e.inputType == "historyUndo") return host.execCommand("undo");
|
2478
|
+
if (e.inputType == "historyRedo") return host.execCommand("redo");
|
2479
|
+
}
|
2481
2480
|
var data = text.value;
|
2482
2481
|
var inserted = sendText(data, true);
|
2483
2482
|
if (data.length > MAX_LINE_LENGTH + 100 || valueResetRegex.test(inserted))
|
@@ -2538,6 +2537,8 @@ var TextInput = function(parentNode, host) {
|
|
2538
2537
|
|
2539
2538
|
var onPaste = function(e) {
|
2540
2539
|
var data = handleClipboardData(e);
|
2540
|
+
if (clipboard.pasteCancelled())
|
2541
|
+
return;
|
2541
2542
|
if (typeof data == "string") {
|
2542
2543
|
if (data)
|
2543
2544
|
host.onPaste(data, e);
|
@@ -2628,7 +2629,7 @@ var TextInput = function(parentNode, host) {
|
|
2628
2629
|
= inComposition.context.compositionStartOffset;
|
2629
2630
|
}
|
2630
2631
|
inComposition.markerRange.end.column = inComposition.markerRange.start.column
|
2631
|
-
+ lastSelectionEnd - inComposition.selectionStart;
|
2632
|
+
+ lastSelectionEnd - inComposition.selectionStart + lastRestoreEnd;
|
2632
2633
|
}
|
2633
2634
|
}
|
2634
2635
|
};
|
@@ -2681,7 +2682,6 @@ var TextInput = function(parentNode, host) {
|
|
2681
2682
|
};
|
2682
2683
|
|
2683
2684
|
this.setCopyWithEmptySelection = function(value) {
|
2684
|
-
copyWithEmptySelection = value;
|
2685
2685
|
};
|
2686
2686
|
|
2687
2687
|
this.onContextMenu = function(e) {
|
@@ -2704,16 +2704,14 @@ var TextInput = function(parentNode, host) {
|
|
2704
2704
|
var left = rect.left + (parseInt(rect.borderLeftWidth) || 0);
|
2705
2705
|
var maxTop = rect.bottom - top - text.clientHeight -2;
|
2706
2706
|
var move = function(e) {
|
2707
|
-
text.
|
2708
|
-
text.style.top = Math.min(e.clientY - top - 2, maxTop) + "px";
|
2707
|
+
dom.translate(text, e.clientX - left - 2, Math.min(e.clientY - top - 2, maxTop));
|
2709
2708
|
};
|
2710
2709
|
move(e);
|
2711
2710
|
|
2712
2711
|
if (e.type != "mousedown")
|
2713
2712
|
return;
|
2714
2713
|
|
2715
|
-
|
2716
|
-
host.renderer.$keepTextAreaAtCursor = null;
|
2714
|
+
host.renderer.$isMousePressed = true;
|
2717
2715
|
|
2718
2716
|
clearTimeout(closeTimeout);
|
2719
2717
|
if (useragent.isWin)
|
@@ -2729,10 +2727,9 @@ var TextInput = function(parentNode, host) {
|
|
2729
2727
|
text.style.cssText = tempStyle;
|
2730
2728
|
tempStyle = '';
|
2731
2729
|
}
|
2732
|
-
|
2733
|
-
|
2730
|
+
host.renderer.$isMousePressed = false;
|
2731
|
+
if (host.renderer.$keepTextAreaAtCursor)
|
2734
2732
|
host.renderer.$moveTextAreaToCursor();
|
2735
|
-
}
|
2736
2733
|
}, 0);
|
2737
2734
|
}
|
2738
2735
|
|
@@ -2767,7 +2764,7 @@ var TextInput = function(parentNode, host) {
|
|
2767
2764
|
}, true);
|
2768
2765
|
var detectArrowKeys = function(e) {
|
2769
2766
|
if (document.activeElement !== text) return;
|
2770
|
-
if (typing || inComposition) return;
|
2767
|
+
if (typing || inComposition || host.$mouseHandler.isMousePressed) return;
|
2771
2768
|
|
2772
2769
|
if (copied) {
|
2773
2770
|
return;
|
@@ -2777,7 +2774,6 @@ var TextInput = function(parentNode, host) {
|
|
2777
2774
|
|
2778
2775
|
var key = null;
|
2779
2776
|
var modifier = 0;
|
2780
|
-
console.log(selectionStart, selectionEnd);
|
2781
2777
|
if (selectionStart == 0) {
|
2782
2778
|
key = KEYS.up;
|
2783
2779
|
} else if (selectionStart == 1) {
|
@@ -2816,7 +2812,13 @@ var TextInput = function(parentNode, host) {
|
|
2816
2812
|
modifier |= MODS.shift;
|
2817
2813
|
|
2818
2814
|
if (key) {
|
2819
|
-
host.onCommandKey(
|
2815
|
+
var result = host.onCommandKey({}, modifier, key);
|
2816
|
+
if (!result && host.commands) {
|
2817
|
+
key = KEYS.keyCodeToString(key);
|
2818
|
+
var command = host.commands.findKeyCommand(modifier, key);
|
2819
|
+
if (command)
|
2820
|
+
host.execCommand(command);
|
2821
|
+
}
|
2820
2822
|
lastSelectionStart = selectionStart;
|
2821
2823
|
lastSelectionEnd = selectionEnd;
|
2822
2824
|
resetSelection("");
|
@@ -2850,7 +2852,6 @@ function DefaultHandlers(mouseHandler) {
|
|
2850
2852
|
editor.setDefaultHandler("tripleclick", this.onTripleClick.bind(mouseHandler));
|
2851
2853
|
editor.setDefaultHandler("quadclick", this.onQuadClick.bind(mouseHandler));
|
2852
2854
|
editor.setDefaultHandler("mousewheel", this.onMouseWheel.bind(mouseHandler));
|
2853
|
-
editor.setDefaultHandler("touchmove", this.onTouchMove.bind(mouseHandler));
|
2854
2855
|
|
2855
2856
|
var exports = ["select", "startSelect", "selectEnd", "selectAllEnd", "selectByWordsEnd",
|
2856
2857
|
"selectByLinesEnd", "dragWait", "dragWaitEnd", "focusWait"];
|
@@ -3084,10 +3085,6 @@ function DefaultHandlers(mouseHandler) {
|
|
3084
3085
|
return ev.stop();
|
3085
3086
|
}
|
3086
3087
|
};
|
3087
|
-
|
3088
|
-
this.onTouchMove = function(ev) {
|
3089
|
-
this.editor._emit("mousewheel", ev);
|
3090
|
-
};
|
3091
3088
|
|
3092
3089
|
}).call(DefaultHandlers.prototype);
|
3093
3090
|
|
@@ -3486,7 +3483,7 @@ function DragdropHandler(mouseHandler) {
|
|
3486
3483
|
var dropEffect = e.dataTransfer.dropEffect;
|
3487
3484
|
if (!dragOperation && dropEffect == "move")
|
3488
3485
|
editor.session.remove(editor.getSelectionRange());
|
3489
|
-
editor
|
3486
|
+
editor.$resetCursorStyle();
|
3490
3487
|
}
|
3491
3488
|
this.editor.unsetStyle("ace_dragging");
|
3492
3489
|
this.editor.renderer.setCursorStyle("");
|
@@ -3651,7 +3648,7 @@ function DragdropHandler(mouseHandler) {
|
|
3651
3648
|
dragSelectionMarker = null;
|
3652
3649
|
editor.selection.fromOrientedRange(range);
|
3653
3650
|
if (editor.isFocused() && !isInternal)
|
3654
|
-
editor
|
3651
|
+
editor.$resetCursorStyle();
|
3655
3652
|
range = null;
|
3656
3653
|
dragCursor = null;
|
3657
3654
|
counter = 0;
|
@@ -3714,7 +3711,7 @@ function DragdropHandler(mouseHandler) {
|
|
3714
3711
|
};
|
3715
3712
|
|
3716
3713
|
this.dragReadyEnd = function(e) {
|
3717
|
-
this.editor
|
3714
|
+
this.editor.$resetCursorStyle();
|
3718
3715
|
this.editor.unsetStyle("ace_dragging");
|
3719
3716
|
this.editor.renderer.setCursorStyle("");
|
3720
3717
|
this.dragWaitEnd();
|
@@ -3790,6 +3787,313 @@ exports.DragdropHandler = DragdropHandler;
|
|
3790
3787
|
|
3791
3788
|
});
|
3792
3789
|
|
3790
|
+
define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/dom"], function(require, exports, module) {
|
3791
|
+
"use strict";
|
3792
|
+
|
3793
|
+
var MouseEvent = require("./mouse_event").MouseEvent;
|
3794
|
+
var dom = require("../lib/dom");
|
3795
|
+
|
3796
|
+
exports.addTouchListeners = function(el, editor) {
|
3797
|
+
var mode = "scroll";
|
3798
|
+
var startX;
|
3799
|
+
var startY;
|
3800
|
+
var touchStartT;
|
3801
|
+
var lastT;
|
3802
|
+
var longTouchTimer;
|
3803
|
+
var animationTimer;
|
3804
|
+
var animationSteps = 0;
|
3805
|
+
var pos;
|
3806
|
+
var clickCount = 0;
|
3807
|
+
var vX = 0;
|
3808
|
+
var vY = 0;
|
3809
|
+
var pressed;
|
3810
|
+
var contextMenu;
|
3811
|
+
|
3812
|
+
function createContextMenu() {
|
3813
|
+
var clipboard = window.navigator && window.navigator.clipboard;
|
3814
|
+
var isOpen = false;
|
3815
|
+
var updateMenu = function() {
|
3816
|
+
var selected = editor.getCopyText();
|
3817
|
+
var hasUndo = editor.session.getUndoManager().hasUndo();
|
3818
|
+
contextMenu.replaceChild(
|
3819
|
+
dom.buildDom(isOpen ? ["span",
|
3820
|
+
!selected && ["span", { class: "ace_mobile-button", action: "selectall" }, "Select All"],
|
3821
|
+
selected && ["span", { class: "ace_mobile-button", action: "copy" }, "Copy"],
|
3822
|
+
selected && ["span", { class: "ace_mobile-button", action: "cut" }, "Cut"],
|
3823
|
+
clipboard && ["span", { class: "ace_mobile-button", action: "paste" }, "Paste"],
|
3824
|
+
hasUndo && ["span", { class: "ace_mobile-button", action: "undo" }, "Undo"],
|
3825
|
+
["span", { class: "ace_mobile-button", action: "find" }, "Find"],
|
3826
|
+
["span", { class: "ace_mobile-button", action: "openCommandPallete" }, "Pallete"]
|
3827
|
+
] : ["span"]),
|
3828
|
+
contextMenu.firstChild
|
3829
|
+
);
|
3830
|
+
};
|
3831
|
+
var handleClick = function(e) {
|
3832
|
+
var action = e.target.getAttribute("action");
|
3833
|
+
|
3834
|
+
if (action == "more" || !isOpen) {
|
3835
|
+
isOpen = !isOpen;
|
3836
|
+
return updateMenu();
|
3837
|
+
}
|
3838
|
+
if (action == "paste") {
|
3839
|
+
clipboard.readText().then(function (text) {
|
3840
|
+
editor.execCommand(action, text);
|
3841
|
+
});
|
3842
|
+
}
|
3843
|
+
else if (action) {
|
3844
|
+
if (action == "cut" || action == "copy") {
|
3845
|
+
if (clipboard)
|
3846
|
+
clipboard.writeText(editor.getCopyText());
|
3847
|
+
else
|
3848
|
+
document.execCommand("copy");
|
3849
|
+
}
|
3850
|
+
editor.execCommand(action);
|
3851
|
+
}
|
3852
|
+
contextMenu.firstChild.style.display = "none";
|
3853
|
+
isOpen = false;
|
3854
|
+
if (action != "openCommandPallete")
|
3855
|
+
editor.focus();
|
3856
|
+
};
|
3857
|
+
contextMenu = dom.buildDom(["div",
|
3858
|
+
{
|
3859
|
+
class: "ace_mobile-menu",
|
3860
|
+
ontouchstart: function(e) {
|
3861
|
+
mode = "menu";
|
3862
|
+
e.stopPropagation();
|
3863
|
+
e.preventDefault();
|
3864
|
+
editor.textInput.focus();
|
3865
|
+
},
|
3866
|
+
ontouchend: function(e) {
|
3867
|
+
e.stopPropagation();
|
3868
|
+
e.preventDefault();
|
3869
|
+
handleClick(e);
|
3870
|
+
},
|
3871
|
+
onclick: handleClick
|
3872
|
+
},
|
3873
|
+
["span"],
|
3874
|
+
["span", { class: "ace_mobile-button", action: "more" }, "..."]
|
3875
|
+
], editor.container);
|
3876
|
+
}
|
3877
|
+
function showContextMenu() {
|
3878
|
+
if (!contextMenu) createContextMenu();
|
3879
|
+
var cursor = editor.selection.cursor;
|
3880
|
+
var pagePos = editor.renderer.textToScreenCoordinates(cursor.row, cursor.column);
|
3881
|
+
var rect = editor.container.getBoundingClientRect();
|
3882
|
+
contextMenu.style.top = pagePos.pageY - rect.top - 3 + "px";
|
3883
|
+
contextMenu.style.right = "10px";
|
3884
|
+
contextMenu.style.display = "";
|
3885
|
+
contextMenu.firstChild.style.display = "none";
|
3886
|
+
editor.on("input", hideContextMenu);
|
3887
|
+
}
|
3888
|
+
function hideContextMenu(e) {
|
3889
|
+
if (contextMenu)
|
3890
|
+
contextMenu.style.display = "none";
|
3891
|
+
editor.off("input", hideContextMenu);
|
3892
|
+
}
|
3893
|
+
|
3894
|
+
function handleLongTap() {
|
3895
|
+
longTouchTimer = null;
|
3896
|
+
clearTimeout(longTouchTimer);
|
3897
|
+
var range = editor.selection.getRange();
|
3898
|
+
var inSelection = range.contains(pos.row, pos.column);
|
3899
|
+
if (range.isEmpty() || !inSelection) {
|
3900
|
+
editor.selection.moveToPosition(pos);
|
3901
|
+
editor.selection.selectWord();
|
3902
|
+
}
|
3903
|
+
mode = "wait";
|
3904
|
+
showContextMenu();
|
3905
|
+
}
|
3906
|
+
function switchToSelectionMode() {
|
3907
|
+
longTouchTimer = null;
|
3908
|
+
clearTimeout(longTouchTimer);
|
3909
|
+
editor.selection.moveToPosition(pos);
|
3910
|
+
var range = clickCount >= 2
|
3911
|
+
? editor.selection.getLineRange(pos.row)
|
3912
|
+
: editor.session.getBracketRange(pos);
|
3913
|
+
if (range && !range.isEmpty()) {
|
3914
|
+
editor.selection.setRange(range);
|
3915
|
+
} else {
|
3916
|
+
editor.selection.selectWord();
|
3917
|
+
}
|
3918
|
+
mode = "wait";
|
3919
|
+
}
|
3920
|
+
el.addEventListener("contextmenu", function(e) {
|
3921
|
+
if (!pressed) return;
|
3922
|
+
var textarea = editor.textInput.getElement();
|
3923
|
+
textarea.focus();
|
3924
|
+
});
|
3925
|
+
el.addEventListener("touchstart", function (e) {
|
3926
|
+
var touches = e.touches;
|
3927
|
+
if (longTouchTimer || touches.length > 1) {
|
3928
|
+
clearTimeout(longTouchTimer);
|
3929
|
+
longTouchTimer = null;
|
3930
|
+
touchStartT = -1;
|
3931
|
+
mode = "zoom";
|
3932
|
+
return;
|
3933
|
+
}
|
3934
|
+
|
3935
|
+
pressed = editor.$mouseHandler.isMousePressed = true;
|
3936
|
+
var h = editor.renderer.layerConfig.lineHeight;
|
3937
|
+
var w = editor.renderer.layerConfig.lineHeight;
|
3938
|
+
var t = e.timeStamp;
|
3939
|
+
lastT = t;
|
3940
|
+
var touchObj = touches[0];
|
3941
|
+
var x = touchObj.clientX;
|
3942
|
+
var y = touchObj.clientY;
|
3943
|
+
if (Math.abs(startX - x) + Math.abs(startY - y) > h)
|
3944
|
+
touchStartT = -1;
|
3945
|
+
|
3946
|
+
startX = e.clientX = x;
|
3947
|
+
startY = e.clientY = y;
|
3948
|
+
vX = vY = 0;
|
3949
|
+
|
3950
|
+
var ev = new MouseEvent(e, editor);
|
3951
|
+
pos = ev.getDocumentPosition();
|
3952
|
+
|
3953
|
+
if (t - touchStartT < 500 && touches.length == 1 && !animationSteps) {
|
3954
|
+
clickCount++;
|
3955
|
+
e.preventDefault();
|
3956
|
+
e.button = 0;
|
3957
|
+
switchToSelectionMode();
|
3958
|
+
} else {
|
3959
|
+
clickCount = 0;
|
3960
|
+
var cursor = editor.selection.cursor;
|
3961
|
+
var anchor = editor.selection.isEmpty() ? cursor : editor.selection.anchor;
|
3962
|
+
|
3963
|
+
var cursorPos = editor.renderer.$cursorLayer.getPixelPosition(cursor, true);
|
3964
|
+
var anchorPos = editor.renderer.$cursorLayer.getPixelPosition(anchor, true);
|
3965
|
+
var rect = editor.renderer.scroller.getBoundingClientRect();
|
3966
|
+
var weightedDistance = function(x, y) {
|
3967
|
+
x = x / w;
|
3968
|
+
y = y / h - 0.75;
|
3969
|
+
return x * x + y * y;
|
3970
|
+
};
|
3971
|
+
|
3972
|
+
if (e.clientX < rect.left) {
|
3973
|
+
mode = "zoom";
|
3974
|
+
return;
|
3975
|
+
}
|
3976
|
+
|
3977
|
+
var diff1 = weightedDistance(
|
3978
|
+
e.clientX - rect.left - cursorPos.left,
|
3979
|
+
e.clientY - rect.top - cursorPos.top
|
3980
|
+
);
|
3981
|
+
var diff2 = weightedDistance(
|
3982
|
+
e.clientX - rect.left - anchorPos.left,
|
3983
|
+
e.clientY - rect.top - anchorPos.top
|
3984
|
+
);
|
3985
|
+
if (diff1 < 3.5 && diff2 < 3.5)
|
3986
|
+
mode = diff1 > diff2 ? "cursor" : "anchor";
|
3987
|
+
|
3988
|
+
if (diff2 < 3.5)
|
3989
|
+
mode = "anchor";
|
3990
|
+
else if (diff1 < 3.5)
|
3991
|
+
mode = "cursor";
|
3992
|
+
else
|
3993
|
+
mode = "scroll";
|
3994
|
+
longTouchTimer = setTimeout(handleLongTap, 450);
|
3995
|
+
}
|
3996
|
+
touchStartT = t;
|
3997
|
+
});
|
3998
|
+
|
3999
|
+
el.addEventListener("touchend", function (e) {
|
4000
|
+
pressed = editor.$mouseHandler.isMousePressed = false;
|
4001
|
+
if (animationTimer) clearInterval(animationTimer);
|
4002
|
+
if (mode == "zoom") {
|
4003
|
+
mode = "";
|
4004
|
+
animationSteps = 0;
|
4005
|
+
} else if (longTouchTimer) {
|
4006
|
+
editor.selection.moveToPosition(pos);
|
4007
|
+
animationSteps = 0;
|
4008
|
+
showContextMenu();
|
4009
|
+
} else if (mode == "scroll") {
|
4010
|
+
animate();
|
4011
|
+
e.preventDefault();
|
4012
|
+
hideContextMenu();
|
4013
|
+
} else {
|
4014
|
+
showContextMenu();
|
4015
|
+
}
|
4016
|
+
clearTimeout(longTouchTimer);
|
4017
|
+
longTouchTimer = null;
|
4018
|
+
});
|
4019
|
+
el.addEventListener("touchmove", function (e) {
|
4020
|
+
if (longTouchTimer) {
|
4021
|
+
clearTimeout(longTouchTimer);
|
4022
|
+
longTouchTimer = null;
|
4023
|
+
}
|
4024
|
+
var touches = e.touches;
|
4025
|
+
if (touches.length > 1 || mode == "zoom") return;
|
4026
|
+
|
4027
|
+
var touchObj = touches[0];
|
4028
|
+
|
4029
|
+
var wheelX = startX - touchObj.clientX;
|
4030
|
+
var wheelY = startY - touchObj.clientY;
|
4031
|
+
|
4032
|
+
if (mode == "wait") {
|
4033
|
+
if (wheelX * wheelX + wheelY * wheelY > 4)
|
4034
|
+
mode = "cursor";
|
4035
|
+
else
|
4036
|
+
return e.preventDefault();
|
4037
|
+
}
|
4038
|
+
|
4039
|
+
startX = touchObj.clientX;
|
4040
|
+
startY = touchObj.clientY;
|
4041
|
+
|
4042
|
+
e.clientX = touchObj.clientX;
|
4043
|
+
e.clientY = touchObj.clientY;
|
4044
|
+
|
4045
|
+
var t = e.timeStamp;
|
4046
|
+
var dt = t - lastT;
|
4047
|
+
lastT = t;
|
4048
|
+
if (mode == "scroll") {
|
4049
|
+
var mouseEvent = new MouseEvent(e, editor);
|
4050
|
+
mouseEvent.speed = 1;
|
4051
|
+
mouseEvent.wheelX = wheelX;
|
4052
|
+
mouseEvent.wheelY = wheelY;
|
4053
|
+
if (10 * Math.abs(wheelX) < Math.abs(wheelY)) wheelX = 0;
|
4054
|
+
if (10 * Math.abs(wheelY) < Math.abs(wheelX)) wheelY = 0;
|
4055
|
+
if (dt != 0) {
|
4056
|
+
vX = wheelX / dt;
|
4057
|
+
vY = wheelY / dt;
|
4058
|
+
}
|
4059
|
+
editor._emit("mousewheel", mouseEvent);
|
4060
|
+
if (!mouseEvent.propagationStopped) {
|
4061
|
+
vX = vY = 0;
|
4062
|
+
}
|
4063
|
+
}
|
4064
|
+
else {
|
4065
|
+
var ev = new MouseEvent(e, editor);
|
4066
|
+
var pos = ev.getDocumentPosition();
|
4067
|
+
if (mode == "cursor")
|
4068
|
+
editor.selection.moveCursorToPosition(pos);
|
4069
|
+
else if (mode == "anchor")
|
4070
|
+
editor.selection.setSelectionAnchor(pos.row, pos.column);
|
4071
|
+
editor.renderer.scrollCursorIntoView(pos);
|
4072
|
+
e.preventDefault();
|
4073
|
+
}
|
4074
|
+
});
|
4075
|
+
|
4076
|
+
function animate() {
|
4077
|
+
animationSteps += 60;
|
4078
|
+
animationTimer = setInterval(function() {
|
4079
|
+
if (animationSteps-- <= 0) {
|
4080
|
+
clearInterval(animationTimer);
|
4081
|
+
animationTimer = null;
|
4082
|
+
}
|
4083
|
+
if (Math.abs(vX) < 0.01) vX = 0;
|
4084
|
+
if (Math.abs(vY) < 0.01) vY = 0;
|
4085
|
+
if (animationSteps < 20) vX = 0.9 * vX;
|
4086
|
+
if (animationSteps < 20) vY = 0.9 * vY;
|
4087
|
+
var oldScrollTop = editor.session.getScrollTop();
|
4088
|
+
editor.renderer.scrollBy(10 * vX, 10 * vY);
|
4089
|
+
if (oldScrollTop == editor.session.getScrollTop())
|
4090
|
+
animationSteps = 0;
|
4091
|
+
}, 10);
|
4092
|
+
}
|
4093
|
+
};
|
4094
|
+
|
4095
|
+
});
|
4096
|
+
|
3793
4097
|
define("ace/lib/net",["require","exports","module","ace/lib/dom"], function(require, exports, module) {
|
3794
4098
|
"use strict";
|
3795
4099
|
var dom = require("./dom");
|
@@ -4059,6 +4363,13 @@ var AppConfig = function() {
|
|
4059
4363
|
};
|
4060
4364
|
|
4061
4365
|
this.setDefaultValue = function(path, name, value) {
|
4366
|
+
if (!path) {
|
4367
|
+
for (path in this.$defaultOptions)
|
4368
|
+
if (this.$defaultOptions[path][name])
|
4369
|
+
break;
|
4370
|
+
if (!this.$defaultOptions[path][name])
|
4371
|
+
return false;
|
4372
|
+
}
|
4062
4373
|
var opts = this.$defaultOptions[path] || (this.$defaultOptions[path] = {});
|
4063
4374
|
if (opts[name]) {
|
4064
4375
|
if (opts.forwardTo)
|
@@ -4105,7 +4416,8 @@ var options = {
|
|
4105
4416
|
basePath: "",
|
4106
4417
|
suffix: ".js",
|
4107
4418
|
$moduleUrls: {},
|
4108
|
-
loadWorkerFromBlob: true
|
4419
|
+
loadWorkerFromBlob: true,
|
4420
|
+
sharedPopups: false
|
4109
4421
|
};
|
4110
4422
|
|
4111
4423
|
exports.get = function(key) {
|
@@ -4116,10 +4428,10 @@ exports.get = function(key) {
|
|
4116
4428
|
};
|
4117
4429
|
|
4118
4430
|
exports.set = function(key, value) {
|
4119
|
-
if (
|
4431
|
+
if (options.hasOwnProperty(key))
|
4432
|
+
options[key] = value;
|
4433
|
+
else if (this.setDefaultValue("", key, value) == false)
|
4120
4434
|
throw new Error("Unknown config key: " + key);
|
4121
|
-
|
4122
|
-
options[key] = value;
|
4123
4435
|
};
|
4124
4436
|
|
4125
4437
|
exports.all = function() {
|
@@ -4266,9 +4578,11 @@ function deHyphenate(str) {
|
|
4266
4578
|
return str.replace(/-(.)/g, function(m, m1) { return m1.toUpperCase(); });
|
4267
4579
|
}
|
4268
4580
|
|
4581
|
+
exports.version = "1.4.7";
|
4582
|
+
|
4269
4583
|
});
|
4270
4584
|
|
4271
|
-
define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"], function(require, exports, module) {
|
4585
|
+
define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/mouse/touch_handler","ace/config"], function(require, exports, module) {
|
4272
4586
|
"use strict";
|
4273
4587
|
|
4274
4588
|
var event = require("../lib/event");
|
@@ -4277,6 +4591,7 @@ var DefaultHandlers = require("./default_handlers").DefaultHandlers;
|
|
4277
4591
|
var DefaultGutterHandler = require("./default_gutter_handler").GutterHandler;
|
4278
4592
|
var MouseEvent = require("./mouse_event").MouseEvent;
|
4279
4593
|
var DragdropHandler = require("./dragdrop_handler").DragdropHandler;
|
4594
|
+
var addTouchListeners = require("./touch_handler").addTouchListeners;
|
4280
4595
|
var config = require("../config");
|
4281
4596
|
|
4282
4597
|
var MouseHandler = function(editor) {
|
@@ -4305,7 +4620,7 @@ var MouseHandler = function(editor) {
|
|
4305
4620
|
editor.textInput && editor.textInput.getElement()
|
4306
4621
|
].filter(Boolean), [400, 300, 250], this, "onMouseEvent");
|
4307
4622
|
event.addMouseWheelListener(editor.container, this.onMouseWheel.bind(this, "mousewheel"));
|
4308
|
-
|
4623
|
+
addTouchListeners(editor.container, editor);
|
4309
4624
|
|
4310
4625
|
var gutterEl = editor.renderer.$gutter;
|
4311
4626
|
event.addListener(gutterEl, "mousedown", this.onMouseEvent.bind(this, "guttermousedown"));
|
@@ -4358,14 +4673,6 @@ var MouseHandler = function(editor) {
|
|
4358
4673
|
this.editor._emit(name, mouseEvent);
|
4359
4674
|
};
|
4360
4675
|
|
4361
|
-
this.onTouchMove = function (name, e) {
|
4362
|
-
var mouseEvent = new MouseEvent(e, this.editor);
|
4363
|
-
mouseEvent.speed = 1;//this.$scrollSpeed * 2;
|
4364
|
-
mouseEvent.wheelX = e.wheelX;
|
4365
|
-
mouseEvent.wheelY = e.wheelY;
|
4366
|
-
this.editor._emit(name, mouseEvent);
|
4367
|
-
};
|
4368
|
-
|
4369
4676
|
this.setState = function(state) {
|
4370
4677
|
this.state = state;
|
4371
4678
|
};
|
@@ -4377,8 +4684,7 @@ var MouseHandler = function(editor) {
|
|
4377
4684
|
this.isMousePressed = true;
|
4378
4685
|
var editor = this.editor;
|
4379
4686
|
var renderer = this.editor.renderer;
|
4380
|
-
|
4381
|
-
renderer.$keepTextAreaAtCursor = null;
|
4687
|
+
renderer.$isMousePressed = true;
|
4382
4688
|
|
4383
4689
|
var self = this;
|
4384
4690
|
var onMouseMove = function(e) {
|
@@ -4399,11 +4705,9 @@ var MouseHandler = function(editor) {
|
|
4399
4705
|
onCaptureInterval();
|
4400
4706
|
self[self.state + "End"] && self[self.state + "End"](e);
|
4401
4707
|
self.state = "";
|
4402
|
-
|
4403
|
-
|
4708
|
+
self.isMousePressed = renderer.$isMousePressed = false;
|
4709
|
+
if (renderer.$keepTextAreaAtCursor)
|
4404
4710
|
renderer.$moveTextAreaToCursor();
|
4405
|
-
}
|
4406
|
-
self.isMousePressed = false;
|
4407
4711
|
self.$onCaptureMouseMove = self.releaseMouse = null;
|
4408
4712
|
e && self.onMouseEvent("mouseup", e);
|
4409
4713
|
editor.endOperation();
|
@@ -4482,7 +4786,7 @@ function FoldHandler(editor) {
|
|
4482
4786
|
var target = e.domEvent && e.domEvent.target;
|
4483
4787
|
if (target && dom.hasCssClass(target, "ace_inline_button")) {
|
4484
4788
|
if (dom.hasCssClass(target, "ace_toggle_wrap")) {
|
4485
|
-
session.setOption("wrap",
|
4789
|
+
session.setOption("wrap", !session.getUseWrapMode());
|
4486
4790
|
editor.renderer.scrollCursorIntoView();
|
4487
4791
|
}
|
4488
4792
|
}
|
@@ -4639,11 +4943,11 @@ var KeyBinding = function(editor) {
|
|
4639
4943
|
|
4640
4944
|
this.onCommandKey = function(e, hashId, keyCode) {
|
4641
4945
|
var keyString = keyUtil.keyCodeToString(keyCode);
|
4642
|
-
this.$callKeyboardHandlers(hashId, keyString, keyCode, e);
|
4946
|
+
return this.$callKeyboardHandlers(hashId, keyString, keyCode, e);
|
4643
4947
|
};
|
4644
4948
|
|
4645
4949
|
this.onTextInput = function(text) {
|
4646
|
-
this.$callKeyboardHandlers(-1, text);
|
4950
|
+
return this.$callKeyboardHandlers(-1, text);
|
4647
4951
|
};
|
4648
4952
|
|
4649
4953
|
}).call(KeyBinding.prototype);
|
@@ -5861,7 +6165,7 @@ var Selection = function(session) {
|
|
5861
6165
|
|
5862
6166
|
this.fromJSON = function(data) {
|
5863
6167
|
if (data.start == undefined) {
|
5864
|
-
if (this.rangeList) {
|
6168
|
+
if (this.rangeList && data.length > 1) {
|
5865
6169
|
this.toSingleRange(data[0]);
|
5866
6170
|
for (var i = data.length; i--; ) {
|
5867
6171
|
var r = Range.fromPoints(data[i].start, data[i].end);
|
@@ -6179,7 +6483,7 @@ var Tokenizer = function(rules) {
|
|
6179
6483
|
if (token.type)
|
6180
6484
|
tokens.push(token);
|
6181
6485
|
token = {
|
6182
|
-
value: line.substring(lastIndex, lastIndex +=
|
6486
|
+
value: line.substring(lastIndex, lastIndex += 500),
|
6183
6487
|
type: "overflow"
|
6184
6488
|
};
|
6185
6489
|
}
|
@@ -6564,9 +6868,9 @@ var TokenIterator = require("../../token_iterator").TokenIterator;
|
|
6564
6868
|
var lang = require("../../lib/lang");
|
6565
6869
|
|
6566
6870
|
var SAFE_INSERT_IN_TOKENS =
|
6567
|
-
["text", "paren.rparen", "punctuation.operator"];
|
6871
|
+
["text", "paren.rparen", "rparen", "paren", "punctuation.operator"];
|
6568
6872
|
var SAFE_INSERT_BEFORE_TOKENS =
|
6569
|
-
["text", "paren.rparen", "punctuation.operator", "comment"];
|
6873
|
+
["text", "paren.rparen", "rparen", "paren", "punctuation.operator", "comment"];
|
6570
6874
|
|
6571
6875
|
var context;
|
6572
6876
|
var contextCache = {};
|
@@ -6822,6 +7126,9 @@ var CstyleBehaviour = function(options) {
|
|
6822
7126
|
return null; // before or after alphanumeric
|
6823
7127
|
if (rightChar && !/[\s;,.})\]\\]/.test(rightChar))
|
6824
7128
|
return null; // there is rightChar and it isn't closing
|
7129
|
+
var charBefore = line[cursor.column - 2];
|
7130
|
+
if (leftChar == quote && (charBefore == quote || wordRe.test(charBefore)))
|
7131
|
+
return null;
|
6825
7132
|
pair = true;
|
6826
7133
|
}
|
6827
7134
|
return {
|
@@ -6854,6 +7161,8 @@ CstyleBehaviour.isSaneInsertion = function(editor, session) {
|
|
6854
7161
|
var cursor = editor.getCursorPosition();
|
6855
7162
|
var iterator = new TokenIterator(session, cursor.row, cursor.column);
|
6856
7163
|
if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
|
7164
|
+
if (/[)}\]]/.test(editor.session.getLine(cursor.row)[cursor.column]))
|
7165
|
+
return true;
|
6857
7166
|
var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
|
6858
7167
|
if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
|
6859
7168
|
return false;
|
@@ -8265,6 +8574,7 @@ var comparePoints = Range.comparePoints;
|
|
8265
8574
|
|
8266
8575
|
var RangeList = function() {
|
8267
8576
|
this.ranges = [];
|
8577
|
+
this.$bias = 1;
|
8268
8578
|
};
|
8269
8579
|
|
8270
8580
|
(function() {
|
@@ -8429,14 +8739,14 @@ var RangeList = function() {
|
|
8429
8739
|
break;
|
8430
8740
|
|
8431
8741
|
if (r.start.row == startRow && r.start.column >= start.column) {
|
8432
|
-
if (r.start.column == start.column && this.$
|
8742
|
+
if (r.start.column == start.column && this.$bias <= 0) {
|
8433
8743
|
} else {
|
8434
8744
|
r.start.column += colDiff;
|
8435
8745
|
r.start.row += lineDif;
|
8436
8746
|
}
|
8437
8747
|
}
|
8438
8748
|
if (r.end.row == startRow && r.end.column >= start.column) {
|
8439
|
-
if (r.end.column == start.column && this.$
|
8749
|
+
if (r.end.column == start.column && this.$bias < 0) {
|
8440
8750
|
continue;
|
8441
8751
|
}
|
8442
8752
|
if (r.end.column == start.column && colDiff > 0 && i < n - 1) {
|
@@ -8522,10 +8832,9 @@ var RangeList = function() {
|
|
8522
8832
|
exports.RangeList = RangeList;
|
8523
8833
|
});
|
8524
8834
|
|
8525
|
-
define("ace/edit_session/fold",["require","exports","module","ace/
|
8835
|
+
define("ace/edit_session/fold",["require","exports","module","ace/range_list","ace/lib/oop"], function(require, exports, module) {
|
8526
8836
|
"use strict";
|
8527
8837
|
|
8528
|
-
var Range = require("../range").Range;
|
8529
8838
|
var RangeList = require("../range_list").RangeList;
|
8530
8839
|
var oop = require("../lib/oop");
|
8531
8840
|
var Fold = exports.Fold = function(range, placeholder) {
|
@@ -8567,9 +8876,6 @@ oop.inherits(Fold, RangeList);
|
|
8567
8876
|
this.addSubFold = function(fold) {
|
8568
8877
|
if (this.range.isEqual(fold))
|
8569
8878
|
return;
|
8570
|
-
|
8571
|
-
if (!this.range.containsRange(fold))
|
8572
|
-
throw new Error("A fold can't intersect already existing fold" + fold.range + this.range);
|
8573
8879
|
consumeRange(fold, this.start);
|
8574
8880
|
|
8575
8881
|
var row = fold.start.row, column = fold.start.column;
|
@@ -8579,21 +8885,26 @@ oop.inherits(Fold, RangeList);
|
|
8579
8885
|
break;
|
8580
8886
|
}
|
8581
8887
|
var afterStart = this.subFolds[i];
|
8888
|
+
var firstConsumed = 0;
|
8582
8889
|
|
8583
|
-
if (cmp == 0)
|
8584
|
-
|
8890
|
+
if (cmp == 0) {
|
8891
|
+
if (afterStart.range.containsRange(fold))
|
8892
|
+
return afterStart.addSubFold(fold);
|
8893
|
+
else
|
8894
|
+
firstConsumed = 1;
|
8895
|
+
}
|
8585
8896
|
var row = fold.range.end.row, column = fold.range.end.column;
|
8586
8897
|
for (var j = i, cmp = -1; j < this.subFolds.length; j++) {
|
8587
8898
|
cmp = this.subFolds[j].range.compare(row, column);
|
8588
8899
|
if (cmp != 1)
|
8589
8900
|
break;
|
8590
8901
|
}
|
8591
|
-
|
8592
|
-
|
8593
|
-
if (cmp == 0)
|
8594
|
-
throw new Error("A fold can't intersect already existing fold" + fold.range + this.range);
|
8595
|
-
|
8902
|
+
if (cmp == 0) j++;
|
8596
8903
|
var consumedFolds = this.subFolds.splice(i, j - i, fold);
|
8904
|
+
var last = cmp == 0 ? consumedFolds.length - 1 : consumedFolds.length;
|
8905
|
+
for (var k = firstConsumed; k < last; k++) {
|
8906
|
+
fold.addSubFold(consumedFolds[k]);
|
8907
|
+
}
|
8597
8908
|
fold.setFoldLine(this.foldLine);
|
8598
8909
|
|
8599
8910
|
return fold;
|
@@ -8642,14 +8953,14 @@ function Folding() {
|
|
8642
8953
|
|
8643
8954
|
var folds = foldLine.folds;
|
8644
8955
|
for (var i = 0; i < folds.length; i++) {
|
8645
|
-
var
|
8646
|
-
if (
|
8647
|
-
if (side == 1 &&
|
8956
|
+
var range = folds[i].range;
|
8957
|
+
if (range.contains(row, column)) {
|
8958
|
+
if (side == 1 && range.isEnd(row, column) && !range.isEmpty()) {
|
8648
8959
|
continue;
|
8649
|
-
} else if (side == -1 &&
|
8960
|
+
} else if (side == -1 && range.isStart(row, column) && !range.isEmpty()) {
|
8650
8961
|
continue;
|
8651
8962
|
}
|
8652
|
-
return
|
8963
|
+
return folds[i];
|
8653
8964
|
}
|
8654
8965
|
}
|
8655
8966
|
};
|
@@ -8828,9 +9139,6 @@ function Folding() {
|
|
8828
9139
|
var startColumn = fold.start.column;
|
8829
9140
|
var endRow = fold.end.row;
|
8830
9141
|
var endColumn = fold.end.column;
|
8831
|
-
if (!(startRow < endRow ||
|
8832
|
-
startRow == endRow && startColumn <= endColumn - 2))
|
8833
|
-
throw new Error("The range has to be at least 2 characters width");
|
8834
9142
|
|
8835
9143
|
var startFold = this.getFoldAt(startRow, startColumn, 1);
|
8836
9144
|
var endFold = this.getFoldAt(endRow, endColumn, -1);
|
@@ -9759,6 +10067,8 @@ EditSession.$uid = 0;
|
|
9759
10067
|
this.$defaultUndoManager = {
|
9760
10068
|
undo: function() {},
|
9761
10069
|
redo: function() {},
|
10070
|
+
hasUndo: function() {},
|
10071
|
+
hasRedo: function() {},
|
9762
10072
|
reset: function() {},
|
9763
10073
|
add: function() {},
|
9764
10074
|
addSelection: function() {},
|
@@ -10885,7 +11195,7 @@ EditSession.$uid = 0;
|
|
10885
11195
|
}
|
10886
11196
|
};
|
10887
11197
|
this.getScreenTabSize = function(screenColumn) {
|
10888
|
-
return this.$tabSize - screenColumn % this.$tabSize;
|
11198
|
+
return this.$tabSize - (screenColumn % this.$tabSize | 0);
|
10889
11199
|
};
|
10890
11200
|
|
10891
11201
|
|
@@ -11257,12 +11567,12 @@ config.defineOptions(EditSession.prototype, "session", {
|
|
11257
11567
|
tabSize: {
|
11258
11568
|
set: function(tabSize) {
|
11259
11569
|
tabSize = parseInt(tabSize);
|
11260
|
-
if (
|
11261
|
-
|
11262
|
-
|
11263
|
-
|
11264
|
-
|
11265
|
-
|
11570
|
+
if (tabSize > 0 && this.$tabSize !== tabSize) {
|
11571
|
+
this.$modified = true;
|
11572
|
+
this.$rowLengthCache = [];
|
11573
|
+
this.$tabSize = tabSize;
|
11574
|
+
this._signal("changeTabSize");
|
11575
|
+
}
|
11266
11576
|
},
|
11267
11577
|
initialValue: 4,
|
11268
11578
|
handlesSet: true
|
@@ -11972,23 +12282,24 @@ exports.commands = [{
|
|
11972
12282
|
readOnly: true
|
11973
12283
|
}, {
|
11974
12284
|
name: "selectall",
|
12285
|
+
description: "Select all",
|
11975
12286
|
bindKey: bindKey("Ctrl-A", "Command-A"),
|
11976
12287
|
exec: function(editor) { editor.selectAll(); },
|
11977
12288
|
readOnly: true
|
11978
12289
|
}, {
|
11979
12290
|
name: "centerselection",
|
12291
|
+
description: "Center selection",
|
11980
12292
|
bindKey: bindKey(null, "Ctrl-L"),
|
11981
12293
|
exec: function(editor) { editor.centerSelection(); },
|
11982
12294
|
readOnly: true
|
11983
12295
|
}, {
|
11984
12296
|
name: "gotoline",
|
12297
|
+
description: "Go to line...",
|
11985
12298
|
bindKey: bindKey("Ctrl-L", "Command-L"),
|
11986
12299
|
exec: function(editor, line) {
|
11987
|
-
if (typeof line
|
11988
|
-
line = parseInt(prompt("Enter line number:"), 10);
|
11989
|
-
if (!isNaN(line)) {
|
12300
|
+
if (typeof line === "number" && !isNaN(line))
|
11990
12301
|
editor.gotoLine(line);
|
11991
|
-
}
|
12302
|
+
editor.prompt({ $type: "gotoLine" });
|
11992
12303
|
},
|
11993
12304
|
readOnly: true
|
11994
12305
|
}, {
|
@@ -12021,12 +12332,14 @@ exports.commands = [{
|
|
12021
12332
|
readOnly: true
|
12022
12333
|
}, {
|
12023
12334
|
name: "foldall",
|
12335
|
+
description: "Fold all",
|
12024
12336
|
bindKey: bindKey(null, "Ctrl-Command-Option-0"),
|
12025
12337
|
exec: function(editor) { editor.session.foldAll(); },
|
12026
12338
|
scrollIntoView: "center",
|
12027
12339
|
readOnly: true
|
12028
12340
|
}, {
|
12029
12341
|
name: "foldOther",
|
12342
|
+
description: "Fold other",
|
12030
12343
|
bindKey: bindKey("Alt-0", "Command-Option-0"),
|
12031
12344
|
exec: function(editor) {
|
12032
12345
|
editor.session.foldAll();
|
@@ -12036,12 +12349,14 @@ exports.commands = [{
|
|
12036
12349
|
readOnly: true
|
12037
12350
|
}, {
|
12038
12351
|
name: "unfoldall",
|
12352
|
+
description: "Unfold all",
|
12039
12353
|
bindKey: bindKey("Alt-Shift-0", "Command-Option-Shift-0"),
|
12040
12354
|
exec: function(editor) { editor.session.unfold(); },
|
12041
12355
|
scrollIntoView: "center",
|
12042
12356
|
readOnly: true
|
12043
12357
|
}, {
|
12044
12358
|
name: "findnext",
|
12359
|
+
description: "Find next",
|
12045
12360
|
bindKey: bindKey("Ctrl-K", "Command-G"),
|
12046
12361
|
exec: function(editor) { editor.findNext(); },
|
12047
12362
|
multiSelectAction: "forEach",
|
@@ -12049,6 +12364,7 @@ exports.commands = [{
|
|
12049
12364
|
readOnly: true
|
12050
12365
|
}, {
|
12051
12366
|
name: "findprevious",
|
12367
|
+
description: "Find previous",
|
12052
12368
|
bindKey: bindKey("Ctrl-Shift-K", "Command-Shift-G"),
|
12053
12369
|
exec: function(editor) { editor.findPrevious(); },
|
12054
12370
|
multiSelectAction: "forEach",
|
@@ -12056,6 +12372,7 @@ exports.commands = [{
|
|
12056
12372
|
readOnly: true
|
12057
12373
|
}, {
|
12058
12374
|
name: "selectOrFindNext",
|
12375
|
+
description: "Select or find next",
|
12059
12376
|
bindKey: bindKey("Alt-K", "Ctrl-G"),
|
12060
12377
|
exec: function(editor) {
|
12061
12378
|
if (editor.selection.isEmpty())
|
@@ -12066,6 +12383,7 @@ exports.commands = [{
|
|
12066
12383
|
readOnly: true
|
12067
12384
|
}, {
|
12068
12385
|
name: "selectOrFindPrevious",
|
12386
|
+
description: "Select or find previous",
|
12069
12387
|
bindKey: bindKey("Alt-Shift-K", "Ctrl-Shift-G"),
|
12070
12388
|
exec: function(editor) {
|
12071
12389
|
if (editor.selection.isEmpty())
|
@@ -12076,6 +12394,7 @@ exports.commands = [{
|
|
12076
12394
|
readOnly: true
|
12077
12395
|
}, {
|
12078
12396
|
name: "find",
|
12397
|
+
description: "Find",
|
12079
12398
|
bindKey: bindKey("Ctrl-F", "Command-F"),
|
12080
12399
|
exec: function(editor) {
|
12081
12400
|
config.loadModule("ace/ext/searchbox", function(e) {e.Search(editor);});
|
@@ -12083,11 +12402,13 @@ exports.commands = [{
|
|
12083
12402
|
readOnly: true
|
12084
12403
|
}, {
|
12085
12404
|
name: "overwrite",
|
12405
|
+
description: "Overwrite",
|
12086
12406
|
bindKey: "Insert",
|
12087
12407
|
exec: function(editor) { editor.toggleOverwrite(); },
|
12088
12408
|
readOnly: true
|
12089
12409
|
}, {
|
12090
12410
|
name: "selecttostart",
|
12411
|
+
description: "Select to start",
|
12091
12412
|
bindKey: bindKey("Ctrl-Shift-Home", "Command-Shift-Home|Command-Shift-Up"),
|
12092
12413
|
exec: function(editor) { editor.getSelection().selectFileStart(); },
|
12093
12414
|
multiSelectAction: "forEach",
|
@@ -12096,6 +12417,7 @@ exports.commands = [{
|
|
12096
12417
|
aceCommandGroup: "fileJump"
|
12097
12418
|
}, {
|
12098
12419
|
name: "gotostart",
|
12420
|
+
description: "Go to start",
|
12099
12421
|
bindKey: bindKey("Ctrl-Home", "Command-Home|Command-Up"),
|
12100
12422
|
exec: function(editor) { editor.navigateFileStart(); },
|
12101
12423
|
multiSelectAction: "forEach",
|
@@ -12104,6 +12426,7 @@ exports.commands = [{
|
|
12104
12426
|
aceCommandGroup: "fileJump"
|
12105
12427
|
}, {
|
12106
12428
|
name: "selectup",
|
12429
|
+
description: "Select up",
|
12107
12430
|
bindKey: bindKey("Shift-Up", "Shift-Up|Ctrl-Shift-P"),
|
12108
12431
|
exec: function(editor) { editor.getSelection().selectUp(); },
|
12109
12432
|
multiSelectAction: "forEach",
|
@@ -12111,6 +12434,7 @@ exports.commands = [{
|
|
12111
12434
|
readOnly: true
|
12112
12435
|
}, {
|
12113
12436
|
name: "golineup",
|
12437
|
+
description: "Go line up",
|
12114
12438
|
bindKey: bindKey("Up", "Up|Ctrl-P"),
|
12115
12439
|
exec: function(editor, args) { editor.navigateUp(args.times); },
|
12116
12440
|
multiSelectAction: "forEach",
|
@@ -12118,6 +12442,7 @@ exports.commands = [{
|
|
12118
12442
|
readOnly: true
|
12119
12443
|
}, {
|
12120
12444
|
name: "selecttoend",
|
12445
|
+
description: "Select to end",
|
12121
12446
|
bindKey: bindKey("Ctrl-Shift-End", "Command-Shift-End|Command-Shift-Down"),
|
12122
12447
|
exec: function(editor) { editor.getSelection().selectFileEnd(); },
|
12123
12448
|
multiSelectAction: "forEach",
|
@@ -12126,6 +12451,7 @@ exports.commands = [{
|
|
12126
12451
|
aceCommandGroup: "fileJump"
|
12127
12452
|
}, {
|
12128
12453
|
name: "gotoend",
|
12454
|
+
description: "Go to end",
|
12129
12455
|
bindKey: bindKey("Ctrl-End", "Command-End|Command-Down"),
|
12130
12456
|
exec: function(editor) { editor.navigateFileEnd(); },
|
12131
12457
|
multiSelectAction: "forEach",
|
@@ -12134,6 +12460,7 @@ exports.commands = [{
|
|
12134
12460
|
aceCommandGroup: "fileJump"
|
12135
12461
|
}, {
|
12136
12462
|
name: "selectdown",
|
12463
|
+
description: "Select down",
|
12137
12464
|
bindKey: bindKey("Shift-Down", "Shift-Down|Ctrl-Shift-N"),
|
12138
12465
|
exec: function(editor) { editor.getSelection().selectDown(); },
|
12139
12466
|
multiSelectAction: "forEach",
|
@@ -12141,6 +12468,7 @@ exports.commands = [{
|
|
12141
12468
|
readOnly: true
|
12142
12469
|
}, {
|
12143
12470
|
name: "golinedown",
|
12471
|
+
description: "Go line down",
|
12144
12472
|
bindKey: bindKey("Down", "Down|Ctrl-N"),
|
12145
12473
|
exec: function(editor, args) { editor.navigateDown(args.times); },
|
12146
12474
|
multiSelectAction: "forEach",
|
@@ -12148,6 +12476,7 @@ exports.commands = [{
|
|
12148
12476
|
readOnly: true
|
12149
12477
|
}, {
|
12150
12478
|
name: "selectwordleft",
|
12479
|
+
description: "Select word left",
|
12151
12480
|
bindKey: bindKey("Ctrl-Shift-Left", "Option-Shift-Left"),
|
12152
12481
|
exec: function(editor) { editor.getSelection().selectWordLeft(); },
|
12153
12482
|
multiSelectAction: "forEach",
|
@@ -12155,6 +12484,7 @@ exports.commands = [{
|
|
12155
12484
|
readOnly: true
|
12156
12485
|
}, {
|
12157
12486
|
name: "gotowordleft",
|
12487
|
+
description: "Go to word left",
|
12158
12488
|
bindKey: bindKey("Ctrl-Left", "Option-Left"),
|
12159
12489
|
exec: function(editor) { editor.navigateWordLeft(); },
|
12160
12490
|
multiSelectAction: "forEach",
|
@@ -12162,6 +12492,7 @@ exports.commands = [{
|
|
12162
12492
|
readOnly: true
|
12163
12493
|
}, {
|
12164
12494
|
name: "selecttolinestart",
|
12495
|
+
description: "Select to line start",
|
12165
12496
|
bindKey: bindKey("Alt-Shift-Left", "Command-Shift-Left|Ctrl-Shift-A"),
|
12166
12497
|
exec: function(editor) { editor.getSelection().selectLineStart(); },
|
12167
12498
|
multiSelectAction: "forEach",
|
@@ -12169,6 +12500,7 @@ exports.commands = [{
|
|
12169
12500
|
readOnly: true
|
12170
12501
|
}, {
|
12171
12502
|
name: "gotolinestart",
|
12503
|
+
description: "Go to line start",
|
12172
12504
|
bindKey: bindKey("Alt-Left|Home", "Command-Left|Home|Ctrl-A"),
|
12173
12505
|
exec: function(editor) { editor.navigateLineStart(); },
|
12174
12506
|
multiSelectAction: "forEach",
|
@@ -12176,6 +12508,7 @@ exports.commands = [{
|
|
12176
12508
|
readOnly: true
|
12177
12509
|
}, {
|
12178
12510
|
name: "selectleft",
|
12511
|
+
description: "Select left",
|
12179
12512
|
bindKey: bindKey("Shift-Left", "Shift-Left|Ctrl-Shift-B"),
|
12180
12513
|
exec: function(editor) { editor.getSelection().selectLeft(); },
|
12181
12514
|
multiSelectAction: "forEach",
|
@@ -12183,6 +12516,7 @@ exports.commands = [{
|
|
12183
12516
|
readOnly: true
|
12184
12517
|
}, {
|
12185
12518
|
name: "gotoleft",
|
12519
|
+
description: "Go to left",
|
12186
12520
|
bindKey: bindKey("Left", "Left|Ctrl-B"),
|
12187
12521
|
exec: function(editor, args) { editor.navigateLeft(args.times); },
|
12188
12522
|
multiSelectAction: "forEach",
|
@@ -12190,6 +12524,7 @@ exports.commands = [{
|
|
12190
12524
|
readOnly: true
|
12191
12525
|
}, {
|
12192
12526
|
name: "selectwordright",
|
12527
|
+
description: "Select word right",
|
12193
12528
|
bindKey: bindKey("Ctrl-Shift-Right", "Option-Shift-Right"),
|
12194
12529
|
exec: function(editor) { editor.getSelection().selectWordRight(); },
|
12195
12530
|
multiSelectAction: "forEach",
|
@@ -12197,6 +12532,7 @@ exports.commands = [{
|
|
12197
12532
|
readOnly: true
|
12198
12533
|
}, {
|
12199
12534
|
name: "gotowordright",
|
12535
|
+
description: "Go to word right",
|
12200
12536
|
bindKey: bindKey("Ctrl-Right", "Option-Right"),
|
12201
12537
|
exec: function(editor) { editor.navigateWordRight(); },
|
12202
12538
|
multiSelectAction: "forEach",
|
@@ -12204,6 +12540,7 @@ exports.commands = [{
|
|
12204
12540
|
readOnly: true
|
12205
12541
|
}, {
|
12206
12542
|
name: "selecttolineend",
|
12543
|
+
description: "Select to line end",
|
12207
12544
|
bindKey: bindKey("Alt-Shift-Right", "Command-Shift-Right|Shift-End|Ctrl-Shift-E"),
|
12208
12545
|
exec: function(editor) { editor.getSelection().selectLineEnd(); },
|
12209
12546
|
multiSelectAction: "forEach",
|
@@ -12211,6 +12548,7 @@ exports.commands = [{
|
|
12211
12548
|
readOnly: true
|
12212
12549
|
}, {
|
12213
12550
|
name: "gotolineend",
|
12551
|
+
description: "Go to line end",
|
12214
12552
|
bindKey: bindKey("Alt-Right|End", "Command-Right|End|Ctrl-E"),
|
12215
12553
|
exec: function(editor) { editor.navigateLineEnd(); },
|
12216
12554
|
multiSelectAction: "forEach",
|
@@ -12218,6 +12556,7 @@ exports.commands = [{
|
|
12218
12556
|
readOnly: true
|
12219
12557
|
}, {
|
12220
12558
|
name: "selectright",
|
12559
|
+
description: "Select right",
|
12221
12560
|
bindKey: bindKey("Shift-Right", "Shift-Right"),
|
12222
12561
|
exec: function(editor) { editor.getSelection().selectRight(); },
|
12223
12562
|
multiSelectAction: "forEach",
|
@@ -12225,6 +12564,7 @@ exports.commands = [{
|
|
12225
12564
|
readOnly: true
|
12226
12565
|
}, {
|
12227
12566
|
name: "gotoright",
|
12567
|
+
description: "Go to right",
|
12228
12568
|
bindKey: bindKey("Right", "Right|Ctrl-F"),
|
12229
12569
|
exec: function(editor, args) { editor.navigateRight(args.times); },
|
12230
12570
|
multiSelectAction: "forEach",
|
@@ -12232,46 +12572,55 @@ exports.commands = [{
|
|
12232
12572
|
readOnly: true
|
12233
12573
|
}, {
|
12234
12574
|
name: "selectpagedown",
|
12575
|
+
description: "Select page down",
|
12235
12576
|
bindKey: "Shift-PageDown",
|
12236
12577
|
exec: function(editor) { editor.selectPageDown(); },
|
12237
12578
|
readOnly: true
|
12238
12579
|
}, {
|
12239
12580
|
name: "pagedown",
|
12581
|
+
description: "Page down",
|
12240
12582
|
bindKey: bindKey(null, "Option-PageDown"),
|
12241
12583
|
exec: function(editor) { editor.scrollPageDown(); },
|
12242
12584
|
readOnly: true
|
12243
12585
|
}, {
|
12244
12586
|
name: "gotopagedown",
|
12587
|
+
description: "Go to page down",
|
12245
12588
|
bindKey: bindKey("PageDown", "PageDown|Ctrl-V"),
|
12246
12589
|
exec: function(editor) { editor.gotoPageDown(); },
|
12247
12590
|
readOnly: true
|
12248
12591
|
}, {
|
12249
12592
|
name: "selectpageup",
|
12593
|
+
description: "Select page up",
|
12250
12594
|
bindKey: "Shift-PageUp",
|
12251
12595
|
exec: function(editor) { editor.selectPageUp(); },
|
12252
12596
|
readOnly: true
|
12253
12597
|
}, {
|
12254
12598
|
name: "pageup",
|
12599
|
+
description: "Page up",
|
12255
12600
|
bindKey: bindKey(null, "Option-PageUp"),
|
12256
12601
|
exec: function(editor) { editor.scrollPageUp(); },
|
12257
12602
|
readOnly: true
|
12258
12603
|
}, {
|
12259
12604
|
name: "gotopageup",
|
12605
|
+
description: "Go to page up",
|
12260
12606
|
bindKey: "PageUp",
|
12261
12607
|
exec: function(editor) { editor.gotoPageUp(); },
|
12262
12608
|
readOnly: true
|
12263
12609
|
}, {
|
12264
12610
|
name: "scrollup",
|
12611
|
+
description: "Scroll up",
|
12265
12612
|
bindKey: bindKey("Ctrl-Up", null),
|
12266
12613
|
exec: function(e) { e.renderer.scrollBy(0, -2 * e.renderer.layerConfig.lineHeight); },
|
12267
12614
|
readOnly: true
|
12268
12615
|
}, {
|
12269
12616
|
name: "scrolldown",
|
12617
|
+
description: "Scroll down",
|
12270
12618
|
bindKey: bindKey("Ctrl-Down", null),
|
12271
12619
|
exec: function(e) { e.renderer.scrollBy(0, 2 * e.renderer.layerConfig.lineHeight); },
|
12272
12620
|
readOnly: true
|
12273
12621
|
}, {
|
12274
12622
|
name: "selectlinestart",
|
12623
|
+
description: "Select line start",
|
12275
12624
|
bindKey: "Shift-Home",
|
12276
12625
|
exec: function(editor) { editor.getSelection().selectLineStart(); },
|
12277
12626
|
multiSelectAction: "forEach",
|
@@ -12279,6 +12628,7 @@ exports.commands = [{
|
|
12279
12628
|
readOnly: true
|
12280
12629
|
}, {
|
12281
12630
|
name: "selectlineend",
|
12631
|
+
description: "Select line end",
|
12282
12632
|
bindKey: "Shift-End",
|
12283
12633
|
exec: function(editor) { editor.getSelection().selectLineEnd(); },
|
12284
12634
|
multiSelectAction: "forEach",
|
@@ -12286,30 +12636,35 @@ exports.commands = [{
|
|
12286
12636
|
readOnly: true
|
12287
12637
|
}, {
|
12288
12638
|
name: "togglerecording",
|
12639
|
+
description: "Toggle recording",
|
12289
12640
|
bindKey: bindKey("Ctrl-Alt-E", "Command-Option-E"),
|
12290
12641
|
exec: function(editor) { editor.commands.toggleRecording(editor); },
|
12291
12642
|
readOnly: true
|
12292
12643
|
}, {
|
12293
12644
|
name: "replaymacro",
|
12645
|
+
description: "Replay macro",
|
12294
12646
|
bindKey: bindKey("Ctrl-Shift-E", "Command-Shift-E"),
|
12295
12647
|
exec: function(editor) { editor.commands.replay(editor); },
|
12296
12648
|
readOnly: true
|
12297
12649
|
}, {
|
12298
12650
|
name: "jumptomatching",
|
12299
|
-
|
12651
|
+
description: "Jump to matching",
|
12652
|
+
bindKey: bindKey("Ctrl-\\|Ctrl-P", "Command-\\"),
|
12300
12653
|
exec: function(editor) { editor.jumpToMatching(); },
|
12301
12654
|
multiSelectAction: "forEach",
|
12302
12655
|
scrollIntoView: "animate",
|
12303
12656
|
readOnly: true
|
12304
12657
|
}, {
|
12305
12658
|
name: "selecttomatching",
|
12306
|
-
|
12659
|
+
description: "Select to matching",
|
12660
|
+
bindKey: bindKey("Ctrl-Shift-\\|Ctrl-Shift-P", "Command-Shift-\\"),
|
12307
12661
|
exec: function(editor) { editor.jumpToMatching(true); },
|
12308
12662
|
multiSelectAction: "forEach",
|
12309
12663
|
scrollIntoView: "animate",
|
12310
12664
|
readOnly: true
|
12311
12665
|
}, {
|
12312
12666
|
name: "expandToMatching",
|
12667
|
+
description: "Expand to matching",
|
12313
12668
|
bindKey: bindKey("Ctrl-Shift-M", "Ctrl-Shift-M"),
|
12314
12669
|
exec: function(editor) { editor.jumpToMatching(true, true); },
|
12315
12670
|
multiSelectAction: "forEach",
|
@@ -12317,18 +12672,21 @@ exports.commands = [{
|
|
12317
12672
|
readOnly: true
|
12318
12673
|
}, {
|
12319
12674
|
name: "passKeysToBrowser",
|
12675
|
+
description: "Pass keys to browser",
|
12320
12676
|
bindKey: bindKey(null, null),
|
12321
12677
|
exec: function() {},
|
12322
12678
|
passEvent: true,
|
12323
12679
|
readOnly: true
|
12324
12680
|
}, {
|
12325
12681
|
name: "copy",
|
12682
|
+
description: "Copy",
|
12326
12683
|
exec: function(editor) {
|
12327
12684
|
},
|
12328
12685
|
readOnly: true
|
12329
12686
|
},
|
12330
12687
|
{
|
12331
12688
|
name: "cut",
|
12689
|
+
description: "Cut",
|
12332
12690
|
exec: function(editor) {
|
12333
12691
|
var cutLine = editor.$copyWithEmptySelection && editor.selection.isEmpty();
|
12334
12692
|
var range = cutLine ? editor.selection.getLineRange() : editor.selection.getRange();
|
@@ -12342,94 +12700,111 @@ exports.commands = [{
|
|
12342
12700
|
multiSelectAction: "forEach"
|
12343
12701
|
}, {
|
12344
12702
|
name: "paste",
|
12703
|
+
description: "Paste",
|
12345
12704
|
exec: function(editor, args) {
|
12346
12705
|
editor.$handlePaste(args);
|
12347
12706
|
},
|
12348
12707
|
scrollIntoView: "cursor"
|
12349
12708
|
}, {
|
12350
12709
|
name: "removeline",
|
12710
|
+
description: "Remove line",
|
12351
12711
|
bindKey: bindKey("Ctrl-D", "Command-D"),
|
12352
12712
|
exec: function(editor) { editor.removeLines(); },
|
12353
12713
|
scrollIntoView: "cursor",
|
12354
12714
|
multiSelectAction: "forEachLine"
|
12355
12715
|
}, {
|
12356
12716
|
name: "duplicateSelection",
|
12717
|
+
description: "Duplicate selection",
|
12357
12718
|
bindKey: bindKey("Ctrl-Shift-D", "Command-Shift-D"),
|
12358
12719
|
exec: function(editor) { editor.duplicateSelection(); },
|
12359
12720
|
scrollIntoView: "cursor",
|
12360
12721
|
multiSelectAction: "forEach"
|
12361
12722
|
}, {
|
12362
12723
|
name: "sortlines",
|
12724
|
+
description: "Sort lines",
|
12363
12725
|
bindKey: bindKey("Ctrl-Alt-S", "Command-Alt-S"),
|
12364
12726
|
exec: function(editor) { editor.sortLines(); },
|
12365
12727
|
scrollIntoView: "selection",
|
12366
12728
|
multiSelectAction: "forEachLine"
|
12367
12729
|
}, {
|
12368
12730
|
name: "togglecomment",
|
12731
|
+
description: "Toggle comment",
|
12369
12732
|
bindKey: bindKey("Ctrl-/", "Command-/"),
|
12370
12733
|
exec: function(editor) { editor.toggleCommentLines(); },
|
12371
12734
|
multiSelectAction: "forEachLine",
|
12372
12735
|
scrollIntoView: "selectionPart"
|
12373
12736
|
}, {
|
12374
12737
|
name: "toggleBlockComment",
|
12738
|
+
description: "Toggle block comment",
|
12375
12739
|
bindKey: bindKey("Ctrl-Shift-/", "Command-Shift-/"),
|
12376
12740
|
exec: function(editor) { editor.toggleBlockComment(); },
|
12377
12741
|
multiSelectAction: "forEach",
|
12378
12742
|
scrollIntoView: "selectionPart"
|
12379
12743
|
}, {
|
12380
12744
|
name: "modifyNumberUp",
|
12745
|
+
description: "Modify number up",
|
12381
12746
|
bindKey: bindKey("Ctrl-Shift-Up", "Alt-Shift-Up"),
|
12382
12747
|
exec: function(editor) { editor.modifyNumber(1); },
|
12383
12748
|
scrollIntoView: "cursor",
|
12384
12749
|
multiSelectAction: "forEach"
|
12385
12750
|
}, {
|
12386
12751
|
name: "modifyNumberDown",
|
12752
|
+
description: "Modify number down",
|
12387
12753
|
bindKey: bindKey("Ctrl-Shift-Down", "Alt-Shift-Down"),
|
12388
12754
|
exec: function(editor) { editor.modifyNumber(-1); },
|
12389
12755
|
scrollIntoView: "cursor",
|
12390
12756
|
multiSelectAction: "forEach"
|
12391
12757
|
}, {
|
12392
12758
|
name: "replace",
|
12759
|
+
description: "Replace",
|
12393
12760
|
bindKey: bindKey("Ctrl-H", "Command-Option-F"),
|
12394
12761
|
exec: function(editor) {
|
12395
12762
|
config.loadModule("ace/ext/searchbox", function(e) {e.Search(editor, true);});
|
12396
12763
|
}
|
12397
12764
|
}, {
|
12398
12765
|
name: "undo",
|
12766
|
+
description: "Undo",
|
12399
12767
|
bindKey: bindKey("Ctrl-Z", "Command-Z"),
|
12400
12768
|
exec: function(editor) { editor.undo(); }
|
12401
12769
|
}, {
|
12402
12770
|
name: "redo",
|
12771
|
+
description: "Redo",
|
12403
12772
|
bindKey: bindKey("Ctrl-Shift-Z|Ctrl-Y", "Command-Shift-Z|Command-Y"),
|
12404
12773
|
exec: function(editor) { editor.redo(); }
|
12405
12774
|
}, {
|
12406
12775
|
name: "copylinesup",
|
12776
|
+
description: "Copy lines up",
|
12407
12777
|
bindKey: bindKey("Alt-Shift-Up", "Command-Option-Up"),
|
12408
12778
|
exec: function(editor) { editor.copyLinesUp(); },
|
12409
12779
|
scrollIntoView: "cursor"
|
12410
12780
|
}, {
|
12411
12781
|
name: "movelinesup",
|
12782
|
+
description: "Move lines up",
|
12412
12783
|
bindKey: bindKey("Alt-Up", "Option-Up"),
|
12413
12784
|
exec: function(editor) { editor.moveLinesUp(); },
|
12414
12785
|
scrollIntoView: "cursor"
|
12415
12786
|
}, {
|
12416
12787
|
name: "copylinesdown",
|
12788
|
+
description: "Copy lines down",
|
12417
12789
|
bindKey: bindKey("Alt-Shift-Down", "Command-Option-Down"),
|
12418
12790
|
exec: function(editor) { editor.copyLinesDown(); },
|
12419
12791
|
scrollIntoView: "cursor"
|
12420
12792
|
}, {
|
12421
12793
|
name: "movelinesdown",
|
12794
|
+
description: "Move lines down",
|
12422
12795
|
bindKey: bindKey("Alt-Down", "Option-Down"),
|
12423
12796
|
exec: function(editor) { editor.moveLinesDown(); },
|
12424
12797
|
scrollIntoView: "cursor"
|
12425
12798
|
}, {
|
12426
12799
|
name: "del",
|
12800
|
+
description: "Delete",
|
12427
12801
|
bindKey: bindKey("Delete", "Delete|Ctrl-D|Shift-Delete"),
|
12428
12802
|
exec: function(editor) { editor.remove("right"); },
|
12429
12803
|
multiSelectAction: "forEach",
|
12430
12804
|
scrollIntoView: "cursor"
|
12431
12805
|
}, {
|
12432
12806
|
name: "backspace",
|
12807
|
+
description: "Backspace",
|
12433
12808
|
bindKey: bindKey(
|
12434
12809
|
"Shift-Backspace|Backspace",
|
12435
12810
|
"Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"
|
@@ -12439,6 +12814,7 @@ exports.commands = [{
|
|
12439
12814
|
scrollIntoView: "cursor"
|
12440
12815
|
}, {
|
12441
12816
|
name: "cut_or_delete",
|
12817
|
+
description: "Cut or delete",
|
12442
12818
|
bindKey: bindKey("Shift-Delete", null),
|
12443
12819
|
exec: function(editor) {
|
12444
12820
|
if (editor.selection.isEmpty()) {
|
@@ -12451,18 +12827,21 @@ exports.commands = [{
|
|
12451
12827
|
scrollIntoView: "cursor"
|
12452
12828
|
}, {
|
12453
12829
|
name: "removetolinestart",
|
12830
|
+
description: "Remove to line start",
|
12454
12831
|
bindKey: bindKey("Alt-Backspace", "Command-Backspace"),
|
12455
12832
|
exec: function(editor) { editor.removeToLineStart(); },
|
12456
12833
|
multiSelectAction: "forEach",
|
12457
12834
|
scrollIntoView: "cursor"
|
12458
12835
|
}, {
|
12459
12836
|
name: "removetolineend",
|
12837
|
+
description: "Remove to line end",
|
12460
12838
|
bindKey: bindKey("Alt-Delete", "Ctrl-K|Command-Delete"),
|
12461
12839
|
exec: function(editor) { editor.removeToLineEnd(); },
|
12462
12840
|
multiSelectAction: "forEach",
|
12463
12841
|
scrollIntoView: "cursor"
|
12464
12842
|
}, {
|
12465
12843
|
name: "removetolinestarthard",
|
12844
|
+
description: "Remove to line start hard",
|
12466
12845
|
bindKey: bindKey("Ctrl-Shift-Backspace", null),
|
12467
12846
|
exec: function(editor) {
|
12468
12847
|
var range = editor.selection.getRange();
|
@@ -12473,6 +12852,7 @@ exports.commands = [{
|
|
12473
12852
|
scrollIntoView: "cursor"
|
12474
12853
|
}, {
|
12475
12854
|
name: "removetolineendhard",
|
12855
|
+
description: "Remove to line end hard",
|
12476
12856
|
bindKey: bindKey("Ctrl-Shift-Delete", null),
|
12477
12857
|
exec: function(editor) {
|
12478
12858
|
var range = editor.selection.getRange();
|
@@ -12483,47 +12863,55 @@ exports.commands = [{
|
|
12483
12863
|
scrollIntoView: "cursor"
|
12484
12864
|
}, {
|
12485
12865
|
name: "removewordleft",
|
12866
|
+
description: "Remove word left",
|
12486
12867
|
bindKey: bindKey("Ctrl-Backspace", "Alt-Backspace|Ctrl-Alt-Backspace"),
|
12487
12868
|
exec: function(editor) { editor.removeWordLeft(); },
|
12488
12869
|
multiSelectAction: "forEach",
|
12489
12870
|
scrollIntoView: "cursor"
|
12490
12871
|
}, {
|
12491
12872
|
name: "removewordright",
|
12873
|
+
description: "Remove word right",
|
12492
12874
|
bindKey: bindKey("Ctrl-Delete", "Alt-Delete"),
|
12493
12875
|
exec: function(editor) { editor.removeWordRight(); },
|
12494
12876
|
multiSelectAction: "forEach",
|
12495
12877
|
scrollIntoView: "cursor"
|
12496
12878
|
}, {
|
12497
12879
|
name: "outdent",
|
12880
|
+
description: "Outdent",
|
12498
12881
|
bindKey: bindKey("Shift-Tab", "Shift-Tab"),
|
12499
12882
|
exec: function(editor) { editor.blockOutdent(); },
|
12500
12883
|
multiSelectAction: "forEach",
|
12501
12884
|
scrollIntoView: "selectionPart"
|
12502
12885
|
}, {
|
12503
12886
|
name: "indent",
|
12887
|
+
description: "Indent",
|
12504
12888
|
bindKey: bindKey("Tab", "Tab"),
|
12505
12889
|
exec: function(editor) { editor.indent(); },
|
12506
12890
|
multiSelectAction: "forEach",
|
12507
12891
|
scrollIntoView: "selectionPart"
|
12508
12892
|
}, {
|
12509
12893
|
name: "blockoutdent",
|
12894
|
+
description: "Block outdent",
|
12510
12895
|
bindKey: bindKey("Ctrl-[", "Ctrl-["),
|
12511
12896
|
exec: function(editor) { editor.blockOutdent(); },
|
12512
12897
|
multiSelectAction: "forEachLine",
|
12513
12898
|
scrollIntoView: "selectionPart"
|
12514
12899
|
}, {
|
12515
12900
|
name: "blockindent",
|
12901
|
+
description: "Block indent",
|
12516
12902
|
bindKey: bindKey("Ctrl-]", "Ctrl-]"),
|
12517
12903
|
exec: function(editor) { editor.blockIndent(); },
|
12518
12904
|
multiSelectAction: "forEachLine",
|
12519
12905
|
scrollIntoView: "selectionPart"
|
12520
12906
|
}, {
|
12521
12907
|
name: "insertstring",
|
12908
|
+
description: "Insert string",
|
12522
12909
|
exec: function(editor, str) { editor.insert(str); },
|
12523
12910
|
multiSelectAction: "forEach",
|
12524
12911
|
scrollIntoView: "cursor"
|
12525
12912
|
}, {
|
12526
12913
|
name: "inserttext",
|
12914
|
+
description: "Insert text",
|
12527
12915
|
exec: function(editor, args) {
|
12528
12916
|
editor.insert(lang.stringRepeat(args.text || "", args.times || 1));
|
12529
12917
|
},
|
@@ -12531,30 +12919,35 @@ exports.commands = [{
|
|
12531
12919
|
scrollIntoView: "cursor"
|
12532
12920
|
}, {
|
12533
12921
|
name: "splitline",
|
12922
|
+
description: "Split line",
|
12534
12923
|
bindKey: bindKey(null, "Ctrl-O"),
|
12535
12924
|
exec: function(editor) { editor.splitLine(); },
|
12536
12925
|
multiSelectAction: "forEach",
|
12537
12926
|
scrollIntoView: "cursor"
|
12538
12927
|
}, {
|
12539
12928
|
name: "transposeletters",
|
12929
|
+
description: "Transpose letters",
|
12540
12930
|
bindKey: bindKey("Alt-Shift-X", "Ctrl-T"),
|
12541
12931
|
exec: function(editor) { editor.transposeLetters(); },
|
12542
12932
|
multiSelectAction: function(editor) {editor.transposeSelections(1); },
|
12543
12933
|
scrollIntoView: "cursor"
|
12544
12934
|
}, {
|
12545
12935
|
name: "touppercase",
|
12936
|
+
description: "To uppercase",
|
12546
12937
|
bindKey: bindKey("Ctrl-U", "Ctrl-U"),
|
12547
12938
|
exec: function(editor) { editor.toUpperCase(); },
|
12548
12939
|
multiSelectAction: "forEach",
|
12549
12940
|
scrollIntoView: "cursor"
|
12550
12941
|
}, {
|
12551
12942
|
name: "tolowercase",
|
12943
|
+
description: "To lowercase",
|
12552
12944
|
bindKey: bindKey("Ctrl-Shift-U", "Ctrl-Shift-U"),
|
12553
12945
|
exec: function(editor) { editor.toLowerCase(); },
|
12554
12946
|
multiSelectAction: "forEach",
|
12555
12947
|
scrollIntoView: "cursor"
|
12556
12948
|
}, {
|
12557
12949
|
name: "expandtoline",
|
12950
|
+
description: "Expand to line",
|
12558
12951
|
bindKey: bindKey("Ctrl-Shift-L", "Command-Shift-L"),
|
12559
12952
|
exec: function(editor) {
|
12560
12953
|
var range = editor.selection.getRange();
|
@@ -12568,6 +12961,7 @@ exports.commands = [{
|
|
12568
12961
|
readOnly: true
|
12569
12962
|
}, {
|
12570
12963
|
name: "joinlines",
|
12964
|
+
description: "Join lines",
|
12571
12965
|
bindKey: bindKey(null, null),
|
12572
12966
|
exec: function(editor) {
|
12573
12967
|
var isBackwards = editor.selection.isBackwards();
|
@@ -12605,6 +12999,7 @@ exports.commands = [{
|
|
12605
12999
|
readOnly: true
|
12606
13000
|
}, {
|
12607
13001
|
name: "invertSelection",
|
13002
|
+
description: "Invert selection",
|
12608
13003
|
bindKey: bindKey(null, null),
|
12609
13004
|
exec: function(editor) {
|
12610
13005
|
var endRow = editor.session.doc.getLength() - 1;
|
@@ -12640,17 +13035,26 @@ exports.commands = [{
|
|
12640
13035
|
},
|
12641
13036
|
readOnly: true,
|
12642
13037
|
scrollIntoView: "none"
|
13038
|
+
}, {
|
13039
|
+
name: "openCommandPallete",
|
13040
|
+
description: "Open command pallete",
|
13041
|
+
bindKey: bindKey("F1", "F1"),
|
13042
|
+
exec: function(editor) {
|
13043
|
+
editor.prompt({ $type: "commands" });
|
13044
|
+
},
|
13045
|
+
readOnly: true
|
13046
|
+
}, {
|
13047
|
+
name: "modeSelect",
|
13048
|
+
description: "Change language mode...",
|
13049
|
+
bindKey: bindKey(null, null),
|
13050
|
+
exec: function(editor) {
|
13051
|
+
editor.prompt({ $type: "modes" });
|
13052
|
+
},
|
13053
|
+
readOnly: true
|
12643
13054
|
}];
|
12644
13055
|
|
12645
13056
|
});
|
12646
13057
|
|
12647
|
-
define("ace/clipboard",["require","exports","module"], function(require, exports, module) {
|
12648
|
-
"use strict";
|
12649
|
-
|
12650
|
-
module.exports = { lineMode: false };
|
12651
|
-
|
12652
|
-
});
|
12653
|
-
|
12654
13058
|
define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator","ace/clipboard"], function(require, exports, module) {
|
12655
13059
|
"use strict";
|
12656
13060
|
|
@@ -13356,7 +13760,8 @@ Editor.$uid = 0;
|
|
13356
13760
|
var lines = text.split(/\r\n|\r|\n/);
|
13357
13761
|
var ranges = this.selection.rangeList.ranges;
|
13358
13762
|
|
13359
|
-
|
13763
|
+
var isFullLine = lines.length == 2 && (!lines[0] || !lines[1]);
|
13764
|
+
if (lines.length != ranges.length || isFullLine)
|
13360
13765
|
return this.commands.exec("insertstring", this, text);
|
13361
13766
|
|
13362
13767
|
for (var i = ranges.length; i--;) {
|
@@ -13417,7 +13822,7 @@ Editor.$uid = 0;
|
|
13417
13822
|
var lineState = session.getState(cursor.row);
|
13418
13823
|
var line = session.getLine(cursor.row);
|
13419
13824
|
var shouldOutdent = mode.checkOutdent(lineState, line, text);
|
13420
|
-
|
13825
|
+
session.insert(cursor, text);
|
13421
13826
|
|
13422
13827
|
if (transform && transform.selection) {
|
13423
13828
|
if (transform.selection.length == 2) { // Transform relative to the current column
|
@@ -13475,7 +13880,7 @@ Editor.$uid = 0;
|
|
13475
13880
|
};
|
13476
13881
|
|
13477
13882
|
this.onCommandKey = function(e, hashId, keyCode) {
|
13478
|
-
this.keyBinding.onCommandKey(e, hashId, keyCode);
|
13883
|
+
return this.keyBinding.onCommandKey(e, hashId, keyCode);
|
13479
13884
|
};
|
13480
13885
|
this.setOverwrite = function(overwrite) {
|
13481
13886
|
this.session.setOverwrite(overwrite);
|
@@ -13859,6 +14264,7 @@ Editor.$uid = 0;
|
|
13859
14264
|
["up", "down"],
|
13860
14265
|
["before", "after"],
|
13861
14266
|
["even", "odd"],
|
14267
|
+
["in", "out"],
|
13862
14268
|
["inside", "outside"],
|
13863
14269
|
["next", "previous"],
|
13864
14270
|
["increase", "decrease"],
|
@@ -14533,6 +14939,12 @@ Editor.$uid = 0;
|
|
14533
14939
|
cursorLayer.isBlinking = !this.$readOnly && style != "wide";
|
14534
14940
|
dom.setCssClass(cursorLayer.element, "ace_slim-cursors", /slim/.test(style));
|
14535
14941
|
};
|
14942
|
+
this.prompt = function(message, options, callback) {
|
14943
|
+
var editor = this;
|
14944
|
+
config.loadModule("./ext/prompt", function (module) {
|
14945
|
+
module.prompt(editor, message, options, callback);
|
14946
|
+
});
|
14947
|
+
};
|
14536
14948
|
|
14537
14949
|
}).call(Editor.prototype);
|
14538
14950
|
|
@@ -14618,6 +15030,31 @@ config.defineOptions(Editor.prototype, "editor", {
|
|
14618
15030
|
relativeNumberRenderer.detach(this);
|
14619
15031
|
}
|
14620
15032
|
},
|
15033
|
+
placeholder: {
|
15034
|
+
set: function(message) {
|
15035
|
+
if (!this.$updatePlaceholder) {
|
15036
|
+
this.$updatePlaceholder = function() {
|
15037
|
+
var value = this.renderer.$composition || this.getValue();
|
15038
|
+
if (value && this.renderer.placeholderNode) {
|
15039
|
+
this.renderer.off("afterRender", this.$updatePlaceholder);
|
15040
|
+
dom.removeCssClass(this.container, "ace_hasPlaceholder");
|
15041
|
+
this.renderer.placeholderNode.remove();
|
15042
|
+
this.renderer.placeholderNode = null;
|
15043
|
+
} else if (!value && !this.renderer.placeholderNode) {
|
15044
|
+
this.renderer.on("afterRender", this.$updatePlaceholder);
|
15045
|
+
dom.addCssClass(this.container, "ace_hasPlaceholder");
|
15046
|
+
var el = dom.createElement("div");
|
15047
|
+
el.className = "ace_placeholder";
|
15048
|
+
el.textContent = this.$placeholder || "";
|
15049
|
+
this.renderer.placeholderNode = el;
|
15050
|
+
this.renderer.content.appendChild(this.renderer.placeholderNode);
|
15051
|
+
}
|
15052
|
+
}.bind(this);
|
15053
|
+
this.on("input", this.$updatePlaceholder);
|
15054
|
+
}
|
15055
|
+
this.$updatePlaceholder();
|
15056
|
+
}
|
15057
|
+
},
|
14621
15058
|
|
14622
15059
|
hScrollBarAlwaysVisible: "renderer",
|
14623
15060
|
vScrollBarAlwaysVisible: "renderer",
|
@@ -16128,6 +16565,10 @@ var Text = function(parentEl) {
|
|
16128
16565
|
this.$renderLine(
|
16129
16566
|
lineElement, row, row == foldStart ? foldLine : false
|
16130
16567
|
);
|
16568
|
+
|
16569
|
+
if (heightChanged)
|
16570
|
+
lineElement.style.top = this.$lines.computeLineTop(row, config, this.session) + "px";
|
16571
|
+
|
16131
16572
|
var height = (config.lineHeight * this.session.getRowLength(row)) + "px";
|
16132
16573
|
if (lineElement.style.height != height) {
|
16133
16574
|
heightChanged = true;
|
@@ -16286,17 +16727,16 @@ var Text = function(parentEl) {
|
|
16286
16727
|
span.textContent = lang.stringRepeat(self.SPACE_CHAR, controlCharacter.length);
|
16287
16728
|
valueFragment.appendChild(span);
|
16288
16729
|
} else if (cjkSpace) {
|
16289
|
-
var space = self.showInvisibles ? self.SPACE_CHAR : "";
|
16290
16730
|
screenColumn += 1;
|
16291
16731
|
|
16292
16732
|
var span = this.dom.createElement("span");
|
16293
16733
|
span.style.width = (self.config.characterWidth * 2) + "px";
|
16294
16734
|
span.className = self.showInvisibles ? "ace_cjk ace_invisible ace_invisible_space" : "ace_cjk";
|
16295
|
-
span.textContent = self.showInvisibles ? self.SPACE_CHAR :
|
16735
|
+
span.textContent = self.showInvisibles ? self.SPACE_CHAR : cjkSpace;
|
16296
16736
|
valueFragment.appendChild(span);
|
16297
16737
|
} else if (cjk) {
|
16298
16738
|
screenColumn += 1;
|
16299
|
-
var span = dom.createElement("span");
|
16739
|
+
var span = this.dom.createElement("span");
|
16300
16740
|
span.style.width = (self.config.characterWidth * 2) + "px";
|
16301
16741
|
span.className = "ace_cjk";
|
16302
16742
|
span.textContent = cjk;
|
@@ -16401,6 +16841,9 @@ var Text = function(parentEl) {
|
|
16401
16841
|
}
|
16402
16842
|
}
|
16403
16843
|
}
|
16844
|
+
|
16845
|
+
if (splits[splits.length - 1] > this.MAX_LINE_LENGTH)
|
16846
|
+
this.$renderOverflowMessage(lineEl, screenColumn, null, "", true);
|
16404
16847
|
};
|
16405
16848
|
|
16406
16849
|
this.$renderSimpleLine = function(parent, tokens) {
|
@@ -16420,15 +16863,13 @@ var Text = function(parentEl) {
|
|
16420
16863
|
}
|
16421
16864
|
};
|
16422
16865
|
|
16423
|
-
this.$renderOverflowMessage = function(parent, screenColumn, token, value) {
|
16424
|
-
this.$renderToken(parent, screenColumn, token,
|
16866
|
+
this.$renderOverflowMessage = function(parent, screenColumn, token, value, hide) {
|
16867
|
+
token && this.$renderToken(parent, screenColumn, token,
|
16425
16868
|
value.slice(0, this.MAX_LINE_LENGTH - screenColumn));
|
16426
16869
|
|
16427
16870
|
var overflowEl = this.dom.createElement("span");
|
16428
16871
|
overflowEl.className = "ace_inline_button ace_keyword ace_toggle_wrap";
|
16429
|
-
overflowEl.
|
16430
|
-
overflowEl.style.right = "0";
|
16431
|
-
overflowEl.textContent = "<click to see more...>";
|
16872
|
+
overflowEl.textContent = hide ? "<hide>" : "<click to see more...>";
|
16432
16873
|
|
16433
16874
|
parent.appendChild(overflowEl);
|
16434
16875
|
};
|
@@ -16786,6 +17227,7 @@ var ScrollBar = function(parent) {
|
|
16786
17227
|
|
16787
17228
|
this.inner = dom.createElement("div");
|
16788
17229
|
this.inner.className = "ace_scrollbar-inner";
|
17230
|
+
this.inner.textContent = "\xa0";
|
16789
17231
|
this.element.appendChild(this.inner);
|
16790
17232
|
|
16791
17233
|
parent.appendChild(this.element);
|
@@ -17428,6 +17870,9 @@ border-bottom: 1px solid;\
|
|
17428
17870
|
.ace_hidden-cursors .ace_cursor {\
|
17429
17871
|
opacity: 0.2;\
|
17430
17872
|
}\
|
17873
|
+
.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {\
|
17874
|
+
opacity: 0;\
|
17875
|
+
}\
|
17431
17876
|
.ace_smooth-blinking .ace_cursor {\
|
17432
17877
|
transition: opacity 0.18s;\
|
17433
17878
|
}\
|
@@ -17617,7 +18062,44 @@ background-color: rgba(255, 255, 0,0.2);\
|
|
17617
18062
|
position: absolute;\
|
17618
18063
|
z-index: 8;\
|
17619
18064
|
}\
|
17620
|
-
|
18065
|
+
.ace_mobile-menu {\
|
18066
|
+
position: absolute;\
|
18067
|
+
line-height: 1.5;\
|
18068
|
+
border-radius: 4px;\
|
18069
|
+
-ms-user-select: none;\
|
18070
|
+
-moz-user-select: none;\
|
18071
|
+
-webkit-user-select: none;\
|
18072
|
+
user-select: none;\
|
18073
|
+
background: white;\
|
18074
|
+
box-shadow: 1px 3px 2px grey;\
|
18075
|
+
border: 1px solid #dcdcdc;\
|
18076
|
+
color: black;\
|
18077
|
+
}\
|
18078
|
+
.ace_dark > .ace_mobile-menu {\
|
18079
|
+
background: #333;\
|
18080
|
+
color: #ccc;\
|
18081
|
+
box-shadow: 1px 3px 2px grey;\
|
18082
|
+
border: 1px solid #444;\
|
18083
|
+
}\
|
18084
|
+
.ace_mobile-button {\
|
18085
|
+
padding: 2px;\
|
18086
|
+
cursor: pointer;\
|
18087
|
+
overflow: hidden;\
|
18088
|
+
}\
|
18089
|
+
.ace_mobile-button:hover {\
|
18090
|
+
background-color: #eee;\
|
18091
|
+
opacity:1;\
|
18092
|
+
}\
|
18093
|
+
.ace_mobile-button:active {\
|
18094
|
+
background-color: #ddd;\
|
18095
|
+
}\
|
18096
|
+
.ace_placeholder {\
|
18097
|
+
font-family: arial;\
|
18098
|
+
transform: scale(0.9);\
|
18099
|
+
opacity: 0.7;\
|
18100
|
+
transform-origin: left;\
|
18101
|
+
text-indent: 10px;\
|
18102
|
+
}";
|
17621
18103
|
|
17622
18104
|
var useragent = require("./lib/useragent");
|
17623
18105
|
var HIDE_TEXTAREA = useragent.isIE;
|
@@ -17742,7 +18224,7 @@ var VirtualRenderer = function(container, theme) {
|
|
17742
18224
|
this.updateCharacterSize();
|
17743
18225
|
this.setPadding(4);
|
17744
18226
|
config.resetOptions(this);
|
17745
|
-
config.
|
18227
|
+
config._signal("renderer", this);
|
17746
18228
|
};
|
17747
18229
|
|
17748
18230
|
(function() {
|
@@ -17772,6 +18254,7 @@ var VirtualRenderer = function(container, theme) {
|
|
17772
18254
|
this.layerConfig.lineHeight =
|
17773
18255
|
this.lineHeight = this.$textLayer.getLineHeight();
|
17774
18256
|
this.$updatePrintMargin();
|
18257
|
+
dom.setStyle(this.scroller.style, "line-height", this.lineHeight + "px");
|
17775
18258
|
};
|
17776
18259
|
this.setSession = function(session) {
|
17777
18260
|
if (this.session)
|
@@ -18043,15 +18526,16 @@ var VirtualRenderer = function(container, theme) {
|
|
18043
18526
|
return this.container;
|
18044
18527
|
};
|
18045
18528
|
this.$moveTextAreaToCursor = function() {
|
18529
|
+
if (this.$isMousePressed) return;
|
18046
18530
|
var style = this.textarea.style;
|
18047
|
-
|
18531
|
+
var composition = this.$composition;
|
18532
|
+
if (!this.$keepTextAreaAtCursor && !composition) {
|
18048
18533
|
dom.translate(this.textarea, -100, 0);
|
18049
18534
|
return;
|
18050
18535
|
}
|
18051
18536
|
var pixelPos = this.$cursorLayer.$pixelPos;
|
18052
18537
|
if (!pixelPos)
|
18053
18538
|
return;
|
18054
|
-
var composition = this.$composition;
|
18055
18539
|
if (composition && composition.markerRange)
|
18056
18540
|
pixelPos = this.$cursorLayer.getPixelPosition(composition.markerRange.start, true);
|
18057
18541
|
|
@@ -18067,6 +18551,7 @@ var VirtualRenderer = function(container, theme) {
|
|
18067
18551
|
}
|
18068
18552
|
|
18069
18553
|
var w = 1;
|
18554
|
+
var maxTop = this.$size.height - h;
|
18070
18555
|
if (!composition) {
|
18071
18556
|
posTop += this.lineHeight;
|
18072
18557
|
}
|
@@ -18074,7 +18559,6 @@ var VirtualRenderer = function(container, theme) {
|
|
18074
18559
|
if (composition.useTextareaForIME) {
|
18075
18560
|
var val = this.textarea.value;
|
18076
18561
|
w = this.characterWidth * (this.session.$getStringScreenWidth(val)[0]);
|
18077
|
-
h += 2;
|
18078
18562
|
}
|
18079
18563
|
else {
|
18080
18564
|
posTop += this.lineHeight + 2;
|
@@ -18089,7 +18573,7 @@ var VirtualRenderer = function(container, theme) {
|
|
18089
18573
|
|
18090
18574
|
dom.setStyle(style, "height", h + "px");
|
18091
18575
|
dom.setStyle(style, "width", w + "px");
|
18092
|
-
dom.translate(this.textarea, Math.min(posLeft, this.$size.scrollerWidth - w), Math.min(posTop,
|
18576
|
+
dom.translate(this.textarea, Math.min(posLeft, this.$size.scrollerWidth - w), Math.min(posTop, maxTop));
|
18093
18577
|
};
|
18094
18578
|
this.getFirstVisibleRow = function() {
|
18095
18579
|
return this.layerConfig.firstRow;
|
@@ -18241,6 +18725,7 @@ var VirtualRenderer = function(container, theme) {
|
|
18241
18725
|
this.scroller.className = this.scrollLeft <= 0 ? "ace_scroller" : "ace_scroller ace_scroll-left";
|
18242
18726
|
}
|
18243
18727
|
if (changes & this.CHANGE_FULL) {
|
18728
|
+
this.$changedLines = null;
|
18244
18729
|
this.$textLayer.update(config);
|
18245
18730
|
if (this.$showGutter)
|
18246
18731
|
this.$gutterLayer.update(config);
|
@@ -18252,6 +18737,7 @@ var VirtualRenderer = function(container, theme) {
|
|
18252
18737
|
return;
|
18253
18738
|
}
|
18254
18739
|
if (changes & this.CHANGE_SCROLL) {
|
18740
|
+
this.$changedLines = null;
|
18255
18741
|
if (changes & this.CHANGE_TEXT || changes & this.CHANGE_LINES)
|
18256
18742
|
this.$textLayer.update(config);
|
18257
18743
|
else
|
@@ -18272,6 +18758,7 @@ var VirtualRenderer = function(container, theme) {
|
|
18272
18758
|
}
|
18273
18759
|
|
18274
18760
|
if (changes & this.CHANGE_TEXT) {
|
18761
|
+
this.$changedLines = null;
|
18275
18762
|
this.$textLayer.update(config);
|
18276
18763
|
if (this.$showGutter)
|
18277
18764
|
this.$gutterLayer.update(config);
|
@@ -18405,7 +18892,7 @@ var VirtualRenderer = function(container, theme) {
|
|
18405
18892
|
if (this.layerConfig.width != longestLine || hScrollChanged)
|
18406
18893
|
changes = this.CHANGE_H_SCROLL;
|
18407
18894
|
if (hScrollChanged || vScrollChanged) {
|
18408
|
-
changes
|
18895
|
+
changes |= this.$updateCachedSize(true, this.gutterWidth, size.width, size.height);
|
18409
18896
|
this._signal("scrollbarVisibilityChanged");
|
18410
18897
|
if (vScrollChanged)
|
18411
18898
|
longestLine = this.$getLongestLine();
|
@@ -18725,18 +19212,16 @@ var VirtualRenderer = function(container, theme) {
|
|
18725
19212
|
this.$composition = composition;
|
18726
19213
|
if (!composition.cssText) {
|
18727
19214
|
composition.cssText = this.textarea.style.cssText;
|
18728
|
-
composition.keepTextAreaAtCursor = this.$keepTextAreaAtCursor;
|
18729
19215
|
}
|
18730
19216
|
composition.useTextareaForIME = this.$useTextareaForIME;
|
18731
19217
|
|
18732
19218
|
if (this.$useTextareaForIME) {
|
18733
|
-
this.$keepTextAreaAtCursor = true;
|
18734
19219
|
dom.addCssClass(this.textarea, "ace_composition");
|
18735
19220
|
this.textarea.style.cssText = "";
|
18736
19221
|
this.$moveTextAreaToCursor();
|
18737
19222
|
this.$cursorLayer.element.style.display = "none";
|
18738
19223
|
}
|
18739
|
-
else {
|
19224
|
+
else {
|
18740
19225
|
composition.markerId = this.session.addMarker(composition.markerRange, "ace_composition_marker", "text");
|
18741
19226
|
}
|
18742
19227
|
};
|
@@ -18753,7 +19238,6 @@ var VirtualRenderer = function(container, theme) {
|
|
18753
19238
|
this.session.removeMarker(this.$composition.markerId);
|
18754
19239
|
|
18755
19240
|
dom.removeCssClass(this.textarea, "ace_composition");
|
18756
|
-
this.$keepTextAreaAtCursor = this.$composition.keepTextAreaAtCursor;
|
18757
19241
|
this.textarea.style.cssText = this.$composition.cssText;
|
18758
19242
|
this.$composition = null;
|
18759
19243
|
this.$cursorLayer.element.style.display = "";
|
@@ -18850,6 +19334,7 @@ var VirtualRenderer = function(container, theme) {
|
|
18850
19334
|
dom.importCssString(editorCss, "ace_editor.css", this.container);
|
18851
19335
|
};
|
18852
19336
|
this.destroy = function() {
|
19337
|
+
this.freeze();
|
18853
19338
|
this.$fontMetrics.destroy();
|
18854
19339
|
this.$cursorLayer.destroy();
|
18855
19340
|
};
|
@@ -19575,64 +20060,75 @@ exports.onMouseDown = onMouseDown;
|
|
19575
20060
|
define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"], function(require, exports, module) {
|
19576
20061
|
exports.defaultCommands = [{
|
19577
20062
|
name: "addCursorAbove",
|
20063
|
+
description: "Add cursor above",
|
19578
20064
|
exec: function(editor) { editor.selectMoreLines(-1); },
|
19579
20065
|
bindKey: {win: "Ctrl-Alt-Up", mac: "Ctrl-Alt-Up"},
|
19580
20066
|
scrollIntoView: "cursor",
|
19581
20067
|
readOnly: true
|
19582
20068
|
}, {
|
19583
20069
|
name: "addCursorBelow",
|
20070
|
+
description: "Add cursor below",
|
19584
20071
|
exec: function(editor) { editor.selectMoreLines(1); },
|
19585
20072
|
bindKey: {win: "Ctrl-Alt-Down", mac: "Ctrl-Alt-Down"},
|
19586
20073
|
scrollIntoView: "cursor",
|
19587
20074
|
readOnly: true
|
19588
20075
|
}, {
|
19589
20076
|
name: "addCursorAboveSkipCurrent",
|
20077
|
+
description: "Add cursor above (skip current)",
|
19590
20078
|
exec: function(editor) { editor.selectMoreLines(-1, true); },
|
19591
20079
|
bindKey: {win: "Ctrl-Alt-Shift-Up", mac: "Ctrl-Alt-Shift-Up"},
|
19592
20080
|
scrollIntoView: "cursor",
|
19593
20081
|
readOnly: true
|
19594
20082
|
}, {
|
19595
20083
|
name: "addCursorBelowSkipCurrent",
|
20084
|
+
description: "Add cursor below (skip current)",
|
19596
20085
|
exec: function(editor) { editor.selectMoreLines(1, true); },
|
19597
20086
|
bindKey: {win: "Ctrl-Alt-Shift-Down", mac: "Ctrl-Alt-Shift-Down"},
|
19598
20087
|
scrollIntoView: "cursor",
|
19599
20088
|
readOnly: true
|
19600
20089
|
}, {
|
19601
20090
|
name: "selectMoreBefore",
|
20091
|
+
description: "Select more before",
|
19602
20092
|
exec: function(editor) { editor.selectMore(-1); },
|
19603
20093
|
bindKey: {win: "Ctrl-Alt-Left", mac: "Ctrl-Alt-Left"},
|
19604
20094
|
scrollIntoView: "cursor",
|
19605
20095
|
readOnly: true
|
19606
20096
|
}, {
|
19607
20097
|
name: "selectMoreAfter",
|
20098
|
+
description: "Select more after",
|
19608
20099
|
exec: function(editor) { editor.selectMore(1); },
|
19609
20100
|
bindKey: {win: "Ctrl-Alt-Right", mac: "Ctrl-Alt-Right"},
|
19610
20101
|
scrollIntoView: "cursor",
|
19611
20102
|
readOnly: true
|
19612
20103
|
}, {
|
19613
20104
|
name: "selectNextBefore",
|
20105
|
+
description: "Select next before",
|
19614
20106
|
exec: function(editor) { editor.selectMore(-1, true); },
|
19615
20107
|
bindKey: {win: "Ctrl-Alt-Shift-Left", mac: "Ctrl-Alt-Shift-Left"},
|
19616
20108
|
scrollIntoView: "cursor",
|
19617
20109
|
readOnly: true
|
19618
20110
|
}, {
|
19619
20111
|
name: "selectNextAfter",
|
20112
|
+
description: "Select next after",
|
19620
20113
|
exec: function(editor) { editor.selectMore(1, true); },
|
19621
20114
|
bindKey: {win: "Ctrl-Alt-Shift-Right", mac: "Ctrl-Alt-Shift-Right"},
|
19622
20115
|
scrollIntoView: "cursor",
|
19623
20116
|
readOnly: true
|
19624
20117
|
}, {
|
19625
20118
|
name: "splitIntoLines",
|
20119
|
+
description: "Split into lines",
|
19626
20120
|
exec: function(editor) { editor.multiSelect.splitIntoLines(); },
|
19627
20121
|
bindKey: {win: "Ctrl-Alt-L", mac: "Ctrl-Alt-L"},
|
19628
20122
|
readOnly: true
|
19629
20123
|
}, {
|
19630
20124
|
name: "alignCursors",
|
20125
|
+
description: "Align cursors",
|
19631
20126
|
exec: function(editor) { editor.alignCursors(); },
|
19632
20127
|
bindKey: {win: "Ctrl-Alt-A", mac: "Ctrl-Alt-A"},
|
19633
20128
|
scrollIntoView: "cursor"
|
19634
20129
|
}, {
|
19635
20130
|
name: "findAll",
|
20131
|
+
description: "Find all",
|
19636
20132
|
exec: function(editor) { editor.findAll(); },
|
19637
20133
|
bindKey: {win: "Ctrl-Alt-K", mac: "Ctrl-Alt-G"},
|
19638
20134
|
scrollIntoView: "cursor",
|
@@ -19640,6 +20136,7 @@ exports.defaultCommands = [{
|
|
19640
20136
|
}];
|
19641
20137
|
exports.multiSelectCommands = [{
|
19642
20138
|
name: "singleSelection",
|
20139
|
+
description: "Single selection",
|
19643
20140
|
bindKey: "esc",
|
19644
20141
|
exec: function(editor) { editor.exitMultiSelectMode(); },
|
19645
20142
|
scrollIntoView: "cursor",
|
@@ -20408,6 +20905,7 @@ function MultiSelect(editor) {
|
|
20408
20905
|
}
|
20409
20906
|
|
20410
20907
|
function addAltCursorListeners(editor){
|
20908
|
+
if (!editor.textInput) return;
|
20411
20909
|
var el = editor.textInput.getElement();
|
20412
20910
|
var altCursor = false;
|
20413
20911
|
event.addListener(el, "keydown", function(e) {
|
@@ -20505,8 +21003,11 @@ var FoldMode = exports.FoldMode = function() {};
|
|
20505
21003
|
if (level == -1)
|
20506
21004
|
continue;
|
20507
21005
|
|
20508
|
-
if (level <= startLevel)
|
20509
|
-
|
21006
|
+
if (level <= startLevel) {
|
21007
|
+
var token = session.getTokenAt(row, 0);
|
21008
|
+
if (!token || token.type !== "string")
|
21009
|
+
break;
|
21010
|
+
}
|
20510
21011
|
|
20511
21012
|
endRow = row;
|
20512
21013
|
}
|
@@ -21295,7 +21796,7 @@ exports.Editor = Editor;
|
|
21295
21796
|
exports.EditSession = EditSession;
|
21296
21797
|
exports.UndoManager = UndoManager;
|
21297
21798
|
exports.VirtualRenderer = Renderer;
|
21298
|
-
exports.version =
|
21799
|
+
exports.version = exports.config.version;
|
21299
21800
|
}); (function() {
|
21300
21801
|
window.require(["ace/ace"], function(a) {
|
21301
21802
|
if (a) {
|