ace-rails-ap 4.0.1 → 4.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/ace/rails/version.rb +1 -1
- data/vendor/assets/javascripts/ace/ace.js +187 -175
- data/vendor/assets/javascripts/ace/ext-chromevox.js +5 -5
- data/vendor/assets/javascripts/ace/ext-emmet.js +4 -5
- data/vendor/assets/javascripts/ace/ext-keybinding_menu.js +1 -1
- data/vendor/assets/javascripts/ace/ext-language_tools.js +23 -22
- data/vendor/assets/javascripts/ace/ext-modelist.js +11 -5
- data/vendor/assets/javascripts/ace/ext-settings_menu.js +13 -7
- data/vendor/assets/javascripts/ace/ext-textarea.js +0 -72
- data/vendor/assets/javascripts/ace/keybinding-emacs.js +3 -2
- data/vendor/assets/javascripts/ace/keybinding-vim.js +23 -18
- data/vendor/assets/javascripts/ace/mode-abap.js +3 -19
- data/vendor/assets/javascripts/ace/mode-c_cpp.js +21 -29
- data/vendor/assets/javascripts/ace/mode-cirru.js +15 -15
- data/vendor/assets/javascripts/ace/mode-coffee.js +3 -22
- data/vendor/assets/javascripts/ace/mode-coldfusion.js +40 -54
- data/vendor/assets/javascripts/ace/mode-csharp.js +6 -0
- data/vendor/assets/javascripts/ace/mode-css.js +3 -3
- data/vendor/assets/javascripts/ace/mode-curly.js +40 -54
- data/vendor/assets/javascripts/ace/mode-dart.js +21 -29
- data/vendor/assets/javascripts/ace/mode-django.js +40 -54
- data/vendor/assets/javascripts/ace/mode-eiffel.js +2 -2
- data/vendor/assets/javascripts/ace/mode-ejs.js +41 -55
- data/vendor/assets/javascripts/ace/mode-elm.js +3 -3
- data/vendor/assets/javascripts/ace/mode-ftl.js +36 -50
- data/vendor/assets/javascripts/ace/mode-gherkin.js +6 -6
- data/vendor/assets/javascripts/ace/mode-glsl.js +21 -29
- data/vendor/assets/javascripts/ace/mode-gobstones.js +1273 -0
- data/vendor/assets/javascripts/ace/mode-golang.js +2 -2
- data/vendor/assets/javascripts/ace/mode-groovy.js +33 -47
- data/vendor/assets/javascripts/ace/mode-haml.js +981 -27
- data/vendor/assets/javascripts/ace/mode-handlebars.js +40 -54
- data/vendor/assets/javascripts/ace/mode-html.js +40 -54
- data/vendor/assets/javascripts/ace/mode-html_elixir.js +40 -54
- data/vendor/assets/javascripts/ace/mode-html_ruby.js +41 -55
- data/vendor/assets/javascripts/ace/mode-jade.js +83 -189
- data/vendor/assets/javascripts/ace/mode-java.js +35 -49
- data/vendor/assets/javascripts/ace/mode-javascript.js +33 -47
- data/vendor/assets/javascripts/ace/mode-jsp.js +38 -52
- data/vendor/assets/javascripts/ace/mode-lean.js +1 -1
- data/vendor/assets/javascripts/ace/mode-less.js +368 -136
- data/vendor/assets/javascripts/ace/mode-liquid.js +36 -50
- data/vendor/assets/javascripts/ace/mode-livescript.js +3 -18
- data/vendor/assets/javascripts/ace/mode-logiql.js +11 -11
- data/vendor/assets/javascripts/ace/mode-lua.js +1 -4
- data/vendor/assets/javascripts/ace/mode-luapage.js +41 -58
- data/vendor/assets/javascripts/ace/mode-markdown.js +40 -54
- data/vendor/assets/javascripts/ace/mode-mask.js +36 -50
- data/vendor/assets/javascripts/ace/mode-matlab.js +1 -1
- data/vendor/assets/javascripts/ace/mode-mel.js +1 -1
- data/vendor/assets/javascripts/ace/mode-nix.js +21 -29
- data/vendor/assets/javascripts/ace/mode-nsis.js +304 -0
- data/vendor/assets/javascripts/ace/mode-objectivec.js +21 -29
- data/vendor/assets/javascripts/ace/mode-pascal.js +1 -1
- data/vendor/assets/javascripts/ace/mode-pgsql.js +33 -47
- data/vendor/assets/javascripts/ace/mode-php.js +42 -57
- data/vendor/assets/javascripts/ace/mode-powershell.js +86 -57
- data/vendor/assets/javascripts/ace/mode-praat.js +1 -1
- data/vendor/assets/javascripts/ace/mode-protobuf.js +21 -29
- data/vendor/assets/javascripts/ace/mode-r.js +20 -20
- data/vendor/assets/javascripts/ace/mode-razor.js +3136 -0
- data/vendor/assets/javascripts/ace/mode-rdoc.js +20 -20
- data/vendor/assets/javascripts/ace/mode-rhtml.js +60 -74
- data/vendor/assets/javascripts/ace/mode-rst.js +249 -0
- data/vendor/assets/javascripts/ace/mode-ruby.js +1 -1
- data/vendor/assets/javascripts/ace/mode-rust.js +4 -8
- data/vendor/assets/javascripts/ace/mode-scala.js +33 -47
- data/vendor/assets/javascripts/ace/mode-sjs.js +42 -56
- data/vendor/assets/javascripts/ace/mode-smarty.js +40 -54
- data/vendor/assets/javascripts/ace/mode-soy_template.js +41 -55
- data/vendor/assets/javascripts/ace/mode-sqlserver.js +3 -3
- data/vendor/assets/javascripts/ace/mode-stylus.js +1 -1
- data/vendor/assets/javascripts/ace/mode-svg.js +34 -48
- data/vendor/assets/javascripts/ace/mode-swift.js +5 -5
- data/vendor/assets/javascripts/ace/mode-tex.js +24 -24
- data/vendor/assets/javascripts/ace/mode-twig.js +40 -54
- data/vendor/assets/javascripts/ace/mode-typescript.js +33 -47
- data/vendor/assets/javascripts/ace/mode-velocity.js +40 -54
- data/vendor/assets/javascripts/ace/mode-vhdl.js +2 -2
- data/vendor/assets/javascripts/ace/mode-wollok.js +1256 -0
- data/vendor/assets/javascripts/ace/mode-xml.js +1 -1
- data/vendor/assets/javascripts/ace/worker-coffee.js +1 -1
- data/vendor/assets/javascripts/ace/worker-css.js +1 -1
- data/vendor/assets/javascripts/ace/worker-html.js +2 -2
- data/vendor/assets/javascripts/ace/worker-javascript.js +1 -1
- data/vendor/assets/javascripts/ace/worker-json.js +1 -1
- data/vendor/assets/javascripts/ace/worker-lua.js +1 -1
- data/vendor/assets/javascripts/ace/worker-php.js +2 -4
- data/vendor/assets/javascripts/ace/worker-xml.js +1 -1
- data/vendor/assets/javascripts/ace/worker-xquery.js +1 -1
- metadata +8 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8192dcb30d1d6d1a71a923f70f1df01298481610
|
|
4
|
+
data.tar.gz: b215929038eafedb1002945cda5911c575f9225f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 28e248efecbd78c0f27be9149965d35c06aaa04bf4a3d96cf5a1f3c4e93f01450911705ea8657ca2b219178fd99f8bcb48d6c6170a06dc51de8d979b89b43e95
|
|
7
|
+
data.tar.gz: 800f8749652f1851ae227b8c199b3d9dc827c9c7ebd990c9e62231be76afc448c207fe8d668c10d4ca25a6a93011ef8b43ba1cba399d9eb0ee05aaf47f798b0b
|
data/lib/ace/rails/version.rb
CHANGED
|
@@ -1522,7 +1522,7 @@ exports.addMouseWheelListener = function(el, callback) {
|
|
|
1522
1522
|
}
|
|
1523
1523
|
};
|
|
1524
1524
|
|
|
1525
|
-
exports.addMultiMouseDownListener = function(
|
|
1525
|
+
exports.addMultiMouseDownListener = function(elements, timeouts, eventHandler, callbackName) {
|
|
1526
1526
|
var clicks = 0;
|
|
1527
1527
|
var startX, startY, timer;
|
|
1528
1528
|
var eventNames = {
|
|
@@ -1531,7 +1531,7 @@ exports.addMultiMouseDownListener = function(el, timeouts, eventHandler, callbac
|
|
|
1531
1531
|
4: "quadclick"
|
|
1532
1532
|
};
|
|
1533
1533
|
|
|
1534
|
-
|
|
1534
|
+
function onMousedown(e) {
|
|
1535
1535
|
if (exports.getButton(e) !== 0) {
|
|
1536
1536
|
clicks = 0;
|
|
1537
1537
|
} else if (e.detail > 1) {
|
|
@@ -1563,18 +1563,22 @@ exports.addMultiMouseDownListener = function(el, timeouts, eventHandler, callbac
|
|
|
1563
1563
|
clicks = 0;
|
|
1564
1564
|
else if (clicks > 1)
|
|
1565
1565
|
return eventHandler[callbackName](eventNames[clicks], e);
|
|
1566
|
-
});
|
|
1567
|
-
|
|
1568
|
-
if (useragent.isOldIE) {
|
|
1569
|
-
exports.addListener(el, "dblclick", function(e) {
|
|
1570
|
-
clicks = 2;
|
|
1571
|
-
if (timer)
|
|
1572
|
-
clearTimeout(timer);
|
|
1573
|
-
timer = setTimeout(function() {timer = null}, timeouts[clicks - 1] || 600);
|
|
1574
|
-
eventHandler[callbackName]("mousedown", e);
|
|
1575
|
-
eventHandler[callbackName](eventNames[clicks], e);
|
|
1576
|
-
});
|
|
1577
1566
|
}
|
|
1567
|
+
function onDblclick(e) {
|
|
1568
|
+
clicks = 2;
|
|
1569
|
+
if (timer)
|
|
1570
|
+
clearTimeout(timer);
|
|
1571
|
+
timer = setTimeout(function() {timer = null}, timeouts[clicks - 1] || 600);
|
|
1572
|
+
eventHandler[callbackName]("mousedown", e);
|
|
1573
|
+
eventHandler[callbackName](eventNames[clicks], e);
|
|
1574
|
+
}
|
|
1575
|
+
if (!Array.isArray(elements))
|
|
1576
|
+
elements = [elements];
|
|
1577
|
+
elements.forEach(function(el) {
|
|
1578
|
+
exports.addListener(el, "mousedown", onMousedown);
|
|
1579
|
+
if (useragent.isOldIE)
|
|
1580
|
+
exports.addListener(el, "dblclick", onDblclick);
|
|
1581
|
+
});
|
|
1578
1582
|
};
|
|
1579
1583
|
|
|
1580
1584
|
var getModifierHash = useragent.isMac && useragent.isOpera && !("KeyboardEvent" in window)
|
|
@@ -1617,8 +1621,7 @@ function normalizeCommandKeys(callback, e, keyCode) {
|
|
|
1617
1621
|
if (keyCode in keys.MODIFIER_KEYS) {
|
|
1618
1622
|
keyCode = -1;
|
|
1619
1623
|
}
|
|
1620
|
-
|
|
1621
|
-
if (hashId & 8 && (keyCode === 91 || keyCode === 92)) {
|
|
1624
|
+
if (hashId & 8 && (keyCode >= 91 && keyCode <= 93)) {
|
|
1622
1625
|
keyCode = -1;
|
|
1623
1626
|
}
|
|
1624
1627
|
|
|
@@ -1977,11 +1980,11 @@ var TextInput = function(parentNode, host) {
|
|
|
1977
1980
|
if (tempStyle) return text.focus();
|
|
1978
1981
|
var top = text.style.top;
|
|
1979
1982
|
text.style.position = "fixed";
|
|
1980
|
-
text.style.top = "
|
|
1983
|
+
text.style.top = "0px";
|
|
1981
1984
|
text.focus();
|
|
1982
1985
|
setTimeout(function() {
|
|
1983
1986
|
text.style.position = "";
|
|
1984
|
-
if (text.style.top == "
|
|
1987
|
+
if (text.style.top == "0px")
|
|
1985
1988
|
text.style.top = top;
|
|
1986
1989
|
}, 0);
|
|
1987
1990
|
};
|
|
@@ -2351,6 +2354,8 @@ var TextInput = function(parentNode, host) {
|
|
|
2351
2354
|
|
|
2352
2355
|
if (host.renderer.$keepTextAreaAtCursor)
|
|
2353
2356
|
host.renderer.$keepTextAreaAtCursor = null;
|
|
2357
|
+
|
|
2358
|
+
clearTimeout(closeTimeout);
|
|
2354
2359
|
if (useragent.isWin && !useragent.isOldIE)
|
|
2355
2360
|
event.capture(host.container, move, onContextMenuClose);
|
|
2356
2361
|
};
|
|
@@ -2375,6 +2380,11 @@ var TextInput = function(parentNode, host) {
|
|
|
2375
2380
|
host.textInput.onContextMenu(e);
|
|
2376
2381
|
onContextMenuClose();
|
|
2377
2382
|
};
|
|
2383
|
+
event.addListener(text, "mouseup", onContextMenu);
|
|
2384
|
+
event.addListener(text, "mousedown", function(e) {
|
|
2385
|
+
e.preventDefault();
|
|
2386
|
+
onContextMenuClose();
|
|
2387
|
+
});
|
|
2378
2388
|
event.addListener(host.renderer.scroller, "contextmenu", onContextMenu);
|
|
2379
2389
|
event.addListener(text, "contextmenu", onContextMenu);
|
|
2380
2390
|
};
|
|
@@ -2426,10 +2436,11 @@ function DefaultHandlers(mouseHandler) {
|
|
|
2426
2436
|
var selectionRange = editor.getSelectionRange();
|
|
2427
2437
|
var selectionEmpty = selectionRange.isEmpty();
|
|
2428
2438
|
editor.$blockScrolling++;
|
|
2429
|
-
if (selectionEmpty)
|
|
2439
|
+
if (selectionEmpty || button == 1)
|
|
2430
2440
|
editor.selection.moveToPosition(pos);
|
|
2431
2441
|
editor.$blockScrolling--;
|
|
2432
|
-
|
|
2442
|
+
if (button == 2)
|
|
2443
|
+
editor.textInput.onContextMenu(ev.domEvent);
|
|
2433
2444
|
return; // stopping event here breaks contextmenu on ff mac
|
|
2434
2445
|
}
|
|
2435
2446
|
|
|
@@ -3708,11 +3719,11 @@ exports.loadModule = function(moduleName, onLoad) {
|
|
|
3708
3719
|
};
|
|
3709
3720
|
init(true);function init(packaged) {
|
|
3710
3721
|
|
|
3722
|
+
if (!global || !global.document)
|
|
3723
|
+
return;
|
|
3724
|
+
|
|
3711
3725
|
options.packaged = packaged || require.packaged || module.packaged || (global.define && define.packaged);
|
|
3712
3726
|
|
|
3713
|
-
if (!global.document)
|
|
3714
|
-
return "";
|
|
3715
|
-
|
|
3716
3727
|
var scriptOptions = {};
|
|
3717
3728
|
var scriptUrl = "";
|
|
3718
3729
|
var currentScript = (document.currentScript || document._currentScript ); // native or polyfill
|
|
@@ -3753,7 +3764,7 @@ init(true);function init(packaged) {
|
|
|
3753
3764
|
for (var key in scriptOptions)
|
|
3754
3765
|
if (typeof scriptOptions[key] !== "undefined")
|
|
3755
3766
|
exports.set(key, scriptOptions[key]);
|
|
3756
|
-
}
|
|
3767
|
+
}
|
|
3757
3768
|
|
|
3758
3769
|
exports.init = init;
|
|
3759
3770
|
|
|
@@ -3783,25 +3794,22 @@ var MouseHandler = function(editor) {
|
|
|
3783
3794
|
new DragdropHandler(this);
|
|
3784
3795
|
|
|
3785
3796
|
var focusEditor = function(e) {
|
|
3786
|
-
|
|
3797
|
+
var windowBlurred = !document.hasFocus || !document.hasFocus()
|
|
3798
|
+
|| !editor.isFocused() && document.activeElement == (editor.textInput && editor.textInput.getElement())
|
|
3799
|
+
if (windowBlurred)
|
|
3787
3800
|
window.focus();
|
|
3788
3801
|
editor.focus();
|
|
3789
|
-
if (!editor.isFocused())
|
|
3790
|
-
window.focus();
|
|
3791
3802
|
};
|
|
3792
3803
|
|
|
3793
3804
|
var mouseTarget = editor.renderer.getMouseEventTarget();
|
|
3794
3805
|
event.addListener(mouseTarget, "click", this.onMouseEvent.bind(this, "click"));
|
|
3795
3806
|
event.addListener(mouseTarget, "mousemove", this.onMouseMove.bind(this, "mousemove"));
|
|
3796
|
-
event.addMultiMouseDownListener(
|
|
3797
|
-
|
|
3798
|
-
|
|
3799
|
-
|
|
3800
|
-
|
|
3801
|
-
|
|
3802
|
-
event.addListener(editor.renderer.scrollBarH.element, "mousedown", focusEditor);
|
|
3803
|
-
}
|
|
3804
|
-
}
|
|
3807
|
+
event.addMultiMouseDownListener([
|
|
3808
|
+
mouseTarget,
|
|
3809
|
+
editor.renderer.scrollBarV && editor.renderer.scrollBarV.inner,
|
|
3810
|
+
editor.renderer.scrollBarH && editor.renderer.scrollBarH.inner,
|
|
3811
|
+
editor.textInput && editor.textInput.getElement()
|
|
3812
|
+
].filter(Boolean), [400, 300, 250], this, "onMouseEvent");
|
|
3805
3813
|
event.addMouseWheelListener(editor.container, this.onMouseWheel.bind(this, "mousewheel"));
|
|
3806
3814
|
event.addTouchMoveListener(editor.container, this.onTouchMove.bind(this, "touchmove"));
|
|
3807
3815
|
|
|
@@ -3812,11 +3820,11 @@ var MouseHandler = function(editor) {
|
|
|
3812
3820
|
event.addListener(gutterEl, "mousemove", this.onMouseEvent.bind(this, "guttermousemove"));
|
|
3813
3821
|
|
|
3814
3822
|
event.addListener(mouseTarget, "mousedown", focusEditor);
|
|
3815
|
-
|
|
3816
|
-
|
|
3817
|
-
editor.
|
|
3818
|
-
|
|
3819
|
-
}
|
|
3823
|
+
event.addListener(gutterEl, "mousedown", focusEditor);
|
|
3824
|
+
if (useragent.isIE && editor.renderer.scrollBarV) {
|
|
3825
|
+
event.addListener(editor.renderer.scrollBarV.element, "mousedown", focusEditor);
|
|
3826
|
+
event.addListener(editor.renderer.scrollBarH.element, "mousedown", focusEditor);
|
|
3827
|
+
}
|
|
3820
3828
|
|
|
3821
3829
|
editor.on("mousemove", function(e){
|
|
3822
3830
|
if (_self.state || _self.$dragDelay || !_self.$dragEnabled)
|
|
@@ -4253,7 +4261,7 @@ var Range = function(startRow, startColumn, endRow, endColumn) {
|
|
|
4253
4261
|
if (!this.isMultiLine()) {
|
|
4254
4262
|
if (row === this.start.row) {
|
|
4255
4263
|
return column < this.start.column ? -1 : (column > this.end.column ? 1 : 0);
|
|
4256
|
-
}
|
|
4264
|
+
}
|
|
4257
4265
|
}
|
|
4258
4266
|
|
|
4259
4267
|
if (row < this.start.row)
|
|
@@ -4856,8 +4864,10 @@ var Selection = function(session) {
|
|
|
4856
4864
|
var docPos = this.session.screenToDocumentPosition(screenPos.row + rows, screenPos.column);
|
|
4857
4865
|
|
|
4858
4866
|
if (rows !== 0 && chars === 0 && docPos.row === this.lead.row && docPos.column === this.lead.column) {
|
|
4859
|
-
if (this.session.lineWidgets && this.session.lineWidgets[docPos.row])
|
|
4860
|
-
docPos.row
|
|
4867
|
+
if (this.session.lineWidgets && this.session.lineWidgets[docPos.row]) {
|
|
4868
|
+
if (docPos.row > 0 || rows > 0)
|
|
4869
|
+
docPos.row++;
|
|
4870
|
+
}
|
|
4861
4871
|
}
|
|
4862
4872
|
this.moveCursorTo(docPos.row, docPos.column + chars, chars === 0);
|
|
4863
4873
|
};
|
|
@@ -4911,7 +4921,7 @@ var Selection = function(session) {
|
|
|
4911
4921
|
this.getRangeOfMovements = function(func) {
|
|
4912
4922
|
var start = this.getCursor();
|
|
4913
4923
|
try {
|
|
4914
|
-
func
|
|
4924
|
+
func(this);
|
|
4915
4925
|
var end = this.getCursor();
|
|
4916
4926
|
return Range.fromPoints(start,end);
|
|
4917
4927
|
} catch(e) {
|
|
@@ -5078,7 +5088,7 @@ var Tokenizer = function(rules) {
|
|
|
5078
5088
|
};
|
|
5079
5089
|
}
|
|
5080
5090
|
return tokens;
|
|
5081
|
-
}
|
|
5091
|
+
};
|
|
5082
5092
|
|
|
5083
5093
|
this.$arrayTokens = function(str) {
|
|
5084
5094
|
if (!str)
|
|
@@ -5587,7 +5597,7 @@ function addUnicodePackage (pack) {
|
|
|
5587
5597
|
var codePoint = /\w{4}/g;
|
|
5588
5598
|
for (var name in pack)
|
|
5589
5599
|
exports.packages[name] = pack[name].replace(codePoint, "\\u$&");
|
|
5590
|
-
}
|
|
5600
|
+
}
|
|
5591
5601
|
|
|
5592
5602
|
});
|
|
5593
5603
|
|
|
@@ -5749,7 +5759,7 @@ var Mode = function() {
|
|
|
5749
5759
|
return true;
|
|
5750
5760
|
var tokens = session.getTokens(row);
|
|
5751
5761
|
for (var i = 0; i < tokens.length; i++) {
|
|
5752
|
-
if (tokens[i].type ===
|
|
5762
|
+
if (tokens[i].type === "comment")
|
|
5753
5763
|
return true;
|
|
5754
5764
|
}
|
|
5755
5765
|
};
|
|
@@ -5922,8 +5932,8 @@ var Mode = function() {
|
|
|
5922
5932
|
}
|
|
5923
5933
|
}
|
|
5924
5934
|
|
|
5925
|
-
var delegations = [
|
|
5926
|
-
|
|
5935
|
+
var delegations = ["toggleBlockComment", "toggleCommentLines", "getNextLineIndent",
|
|
5936
|
+
"checkOutdent", "autoOutdent", "transformAction", "getCompletions"];
|
|
5927
5937
|
|
|
5928
5938
|
for (var i = 0; i < delegations.length; i++) {
|
|
5929
5939
|
(function(scope) {
|
|
@@ -5932,7 +5942,7 @@ var Mode = function() {
|
|
|
5932
5942
|
scope[delegations[i]] = function() {
|
|
5933
5943
|
return this.$delegator(functionName, arguments, defaultHandler);
|
|
5934
5944
|
};
|
|
5935
|
-
}
|
|
5945
|
+
}(this));
|
|
5936
5946
|
}
|
|
5937
5947
|
};
|
|
5938
5948
|
|
|
@@ -7030,7 +7040,7 @@ var RangeList = function() {
|
|
|
7030
7040
|
this.addList = function(list) {
|
|
7031
7041
|
var removed = [];
|
|
7032
7042
|
for (var i = list.length; i--; ) {
|
|
7033
|
-
removed.push.
|
|
7043
|
+
removed.push.apply(removed, this.add(list[i]));
|
|
7034
7044
|
}
|
|
7035
7045
|
return removed;
|
|
7036
7046
|
};
|
|
@@ -9394,11 +9404,11 @@ var EditSession = function(text, mode) {
|
|
|
9394
9404
|
function addSplit(screenPos) {
|
|
9395
9405
|
var displayed = tokens.slice(lastSplit, screenPos);
|
|
9396
9406
|
var len = displayed.length;
|
|
9397
|
-
displayed.join("")
|
|
9398
|
-
replace(/12/g, function() {
|
|
9407
|
+
displayed.join("")
|
|
9408
|
+
.replace(/12/g, function() {
|
|
9399
9409
|
len -= 1;
|
|
9400
|
-
})
|
|
9401
|
-
replace(/2/g, function() {
|
|
9410
|
+
})
|
|
9411
|
+
.replace(/2/g, function() {
|
|
9402
9412
|
len -= 1;
|
|
9403
9413
|
});
|
|
9404
9414
|
|
|
@@ -9851,7 +9861,7 @@ var EditSession = function(text, mode) {
|
|
|
9851
9861
|
c >= 0xFE68 && c <= 0xFE6B ||
|
|
9852
9862
|
c >= 0xFF01 && c <= 0xFF60 ||
|
|
9853
9863
|
c >= 0xFFE0 && c <= 0xFFE6;
|
|
9854
|
-
}
|
|
9864
|
+
}
|
|
9855
9865
|
|
|
9856
9866
|
}).call(EditSession.prototype);
|
|
9857
9867
|
|
|
@@ -10317,7 +10327,7 @@ MultiHashHandler.prototype = HashHandler.prototype;
|
|
|
10317
10327
|
};
|
|
10318
10328
|
|
|
10319
10329
|
this.bindKey = function(key, command, position) {
|
|
10320
|
-
if (typeof key == "object") {
|
|
10330
|
+
if (typeof key == "object" && key) {
|
|
10321
10331
|
if (position == undefined)
|
|
10322
10332
|
position = key.position;
|
|
10323
10333
|
key = key[this.platform];
|
|
@@ -11486,76 +11496,76 @@ var Editor = function(renderer, session) {
|
|
|
11486
11496
|
|
|
11487
11497
|
var oldSession = this.session;
|
|
11488
11498
|
if (oldSession) {
|
|
11489
|
-
this.session.
|
|
11490
|
-
this.session.
|
|
11491
|
-
this.session.
|
|
11492
|
-
this.session.
|
|
11493
|
-
this.session.
|
|
11494
|
-
this.session.
|
|
11495
|
-
this.session.
|
|
11496
|
-
this.session.
|
|
11497
|
-
this.session.
|
|
11498
|
-
this.session.
|
|
11499
|
-
this.session.
|
|
11500
|
-
this.session.
|
|
11501
|
-
this.session.
|
|
11502
|
-
this.session.
|
|
11499
|
+
this.session.off("change", this.$onDocumentChange);
|
|
11500
|
+
this.session.off("changeMode", this.$onChangeMode);
|
|
11501
|
+
this.session.off("tokenizerUpdate", this.$onTokenizerUpdate);
|
|
11502
|
+
this.session.off("changeTabSize", this.$onChangeTabSize);
|
|
11503
|
+
this.session.off("changeWrapLimit", this.$onChangeWrapLimit);
|
|
11504
|
+
this.session.off("changeWrapMode", this.$onChangeWrapMode);
|
|
11505
|
+
this.session.off("changeFold", this.$onChangeFold);
|
|
11506
|
+
this.session.off("changeFrontMarker", this.$onChangeFrontMarker);
|
|
11507
|
+
this.session.off("changeBackMarker", this.$onChangeBackMarker);
|
|
11508
|
+
this.session.off("changeBreakpoint", this.$onChangeBreakpoint);
|
|
11509
|
+
this.session.off("changeAnnotation", this.$onChangeAnnotation);
|
|
11510
|
+
this.session.off("changeOverwrite", this.$onCursorChange);
|
|
11511
|
+
this.session.off("changeScrollTop", this.$onScrollTopChange);
|
|
11512
|
+
this.session.off("changeScrollLeft", this.$onScrollLeftChange);
|
|
11503
11513
|
|
|
11504
11514
|
var selection = this.session.getSelection();
|
|
11505
|
-
selection.
|
|
11506
|
-
selection.
|
|
11515
|
+
selection.off("changeCursor", this.$onCursorChange);
|
|
11516
|
+
selection.off("changeSelection", this.$onSelectionChange);
|
|
11507
11517
|
}
|
|
11508
11518
|
|
|
11509
11519
|
this.session = session;
|
|
11510
11520
|
if (session) {
|
|
11511
11521
|
this.$onDocumentChange = this.onDocumentChange.bind(this);
|
|
11512
|
-
session.
|
|
11522
|
+
session.on("change", this.$onDocumentChange);
|
|
11513
11523
|
this.renderer.setSession(session);
|
|
11514
11524
|
|
|
11515
11525
|
this.$onChangeMode = this.onChangeMode.bind(this);
|
|
11516
|
-
session.
|
|
11526
|
+
session.on("changeMode", this.$onChangeMode);
|
|
11517
11527
|
|
|
11518
11528
|
this.$onTokenizerUpdate = this.onTokenizerUpdate.bind(this);
|
|
11519
|
-
session.
|
|
11529
|
+
session.on("tokenizerUpdate", this.$onTokenizerUpdate);
|
|
11520
11530
|
|
|
11521
11531
|
this.$onChangeTabSize = this.renderer.onChangeTabSize.bind(this.renderer);
|
|
11522
|
-
session.
|
|
11532
|
+
session.on("changeTabSize", this.$onChangeTabSize);
|
|
11523
11533
|
|
|
11524
11534
|
this.$onChangeWrapLimit = this.onChangeWrapLimit.bind(this);
|
|
11525
|
-
session.
|
|
11535
|
+
session.on("changeWrapLimit", this.$onChangeWrapLimit);
|
|
11526
11536
|
|
|
11527
11537
|
this.$onChangeWrapMode = this.onChangeWrapMode.bind(this);
|
|
11528
|
-
session.
|
|
11538
|
+
session.on("changeWrapMode", this.$onChangeWrapMode);
|
|
11529
11539
|
|
|
11530
11540
|
this.$onChangeFold = this.onChangeFold.bind(this);
|
|
11531
|
-
session.
|
|
11541
|
+
session.on("changeFold", this.$onChangeFold);
|
|
11532
11542
|
|
|
11533
11543
|
this.$onChangeFrontMarker = this.onChangeFrontMarker.bind(this);
|
|
11534
|
-
this.session.
|
|
11544
|
+
this.session.on("changeFrontMarker", this.$onChangeFrontMarker);
|
|
11535
11545
|
|
|
11536
11546
|
this.$onChangeBackMarker = this.onChangeBackMarker.bind(this);
|
|
11537
|
-
this.session.
|
|
11547
|
+
this.session.on("changeBackMarker", this.$onChangeBackMarker);
|
|
11538
11548
|
|
|
11539
11549
|
this.$onChangeBreakpoint = this.onChangeBreakpoint.bind(this);
|
|
11540
|
-
this.session.
|
|
11550
|
+
this.session.on("changeBreakpoint", this.$onChangeBreakpoint);
|
|
11541
11551
|
|
|
11542
11552
|
this.$onChangeAnnotation = this.onChangeAnnotation.bind(this);
|
|
11543
|
-
this.session.
|
|
11553
|
+
this.session.on("changeAnnotation", this.$onChangeAnnotation);
|
|
11544
11554
|
|
|
11545
11555
|
this.$onCursorChange = this.onCursorChange.bind(this);
|
|
11546
|
-
this.session.
|
|
11556
|
+
this.session.on("changeOverwrite", this.$onCursorChange);
|
|
11547
11557
|
|
|
11548
11558
|
this.$onScrollTopChange = this.onScrollTopChange.bind(this);
|
|
11549
|
-
this.session.
|
|
11559
|
+
this.session.on("changeScrollTop", this.$onScrollTopChange);
|
|
11550
11560
|
|
|
11551
11561
|
this.$onScrollLeftChange = this.onScrollLeftChange.bind(this);
|
|
11552
|
-
this.session.
|
|
11562
|
+
this.session.on("changeScrollLeft", this.$onScrollLeftChange);
|
|
11553
11563
|
|
|
11554
11564
|
this.selection = session.getSelection();
|
|
11555
|
-
this.selection.
|
|
11565
|
+
this.selection.on("changeCursor", this.$onCursorChange);
|
|
11556
11566
|
|
|
11557
11567
|
this.$onSelectionChange = this.onSelectionChange.bind(this);
|
|
11558
|
-
this.selection.
|
|
11568
|
+
this.selection.on("changeSelection", this.$onSelectionChange);
|
|
11559
11569
|
|
|
11560
11570
|
this.onChangeMode();
|
|
11561
11571
|
|
|
@@ -13022,9 +13032,9 @@ var Editor = function(renderer, session) {
|
|
|
13022
13032
|
if (enable)
|
|
13023
13033
|
return;
|
|
13024
13034
|
delete this.setAutoScrollEditorIntoView;
|
|
13025
|
-
this.
|
|
13026
|
-
this.renderer.
|
|
13027
|
-
this.renderer.
|
|
13035
|
+
this.off("changeSelection", onChangeSelection);
|
|
13036
|
+
this.renderer.off("afterRender", onAfterRender);
|
|
13037
|
+
this.renderer.off("beforeRender", onBeforeRender);
|
|
13028
13038
|
};
|
|
13029
13039
|
};
|
|
13030
13040
|
|
|
@@ -13079,6 +13089,11 @@ config.defineOptions(Editor.prototype, "editor", {
|
|
|
13079
13089
|
autoScrollEditorIntoView: {
|
|
13080
13090
|
set: function(val) {this.setAutoScrollEditorIntoView(val)}
|
|
13081
13091
|
},
|
|
13092
|
+
keyboardHandler: {
|
|
13093
|
+
set: function(val) { this.setKeyboardHandler(val); },
|
|
13094
|
+
get: function() { return this.keybindingId; },
|
|
13095
|
+
handlesSet: true
|
|
13096
|
+
},
|
|
13082
13097
|
|
|
13083
13098
|
hScrollBarAlwaysVisible: "renderer",
|
|
13084
13099
|
vScrollBarAlwaysVisible: "renderer",
|
|
@@ -13195,7 +13210,7 @@ var UndoManager = function() {
|
|
|
13195
13210
|
start: delta.start,
|
|
13196
13211
|
end: delta.end,
|
|
13197
13212
|
lines: delta.lines.length == 1 ? null : delta.lines,
|
|
13198
|
-
text: delta.lines.length == 1 ? delta.lines[0] : null
|
|
13213
|
+
text: delta.lines.length == 1 ? delta.lines[0] : null
|
|
13199
13214
|
};
|
|
13200
13215
|
}
|
|
13201
13216
|
|
|
@@ -14579,7 +14594,7 @@ var EventEmitter = require("../lib/event_emitter").EventEmitter;
|
|
|
14579
14594
|
|
|
14580
14595
|
var CHAR_COUNT = 0;
|
|
14581
14596
|
|
|
14582
|
-
var FontMetrics = exports.FontMetrics = function(parentEl
|
|
14597
|
+
var FontMetrics = exports.FontMetrics = function(parentEl) {
|
|
14583
14598
|
this.el = dom.createElement("div");
|
|
14584
14599
|
this.$setMeasureNodeStyles(this.el.style, true);
|
|
14585
14600
|
|
|
@@ -14674,7 +14689,7 @@ var FontMetrics = exports.FontMetrics = function(parentEl, interval) {
|
|
|
14674
14689
|
rect = this.$measureNode.getBoundingClientRect();
|
|
14675
14690
|
} catch(e) {
|
|
14676
14691
|
rect = {width: 0, height:0 };
|
|
14677
|
-
}
|
|
14692
|
+
}
|
|
14678
14693
|
var size = {
|
|
14679
14694
|
height: rect.height,
|
|
14680
14695
|
width: rect.width / CHAR_COUNT
|
|
@@ -14699,7 +14714,7 @@ var FontMetrics = exports.FontMetrics = function(parentEl, interval) {
|
|
|
14699
14714
|
this.getCharacterWidth = function(ch) {
|
|
14700
14715
|
var w = this.charSizes[ch];
|
|
14701
14716
|
if (w === undefined) {
|
|
14702
|
-
this.charSizes[ch] = this.$measureCharWidth(ch) / this.$characterSize.width;
|
|
14717
|
+
w = this.charSizes[ch] = this.$measureCharWidth(ch) / this.$characterSize.width;
|
|
14703
14718
|
}
|
|
14704
14719
|
return w;
|
|
14705
14720
|
};
|
|
@@ -15162,7 +15177,7 @@ var VirtualRenderer = function(container, theme) {
|
|
|
15162
15177
|
column : 0
|
|
15163
15178
|
};
|
|
15164
15179
|
|
|
15165
|
-
this.$fontMetrics = new FontMetrics(this.container
|
|
15180
|
+
this.$fontMetrics = new FontMetrics(this.container);
|
|
15166
15181
|
this.$textLayer.$setFontMetrics(this.$fontMetrics);
|
|
15167
15182
|
this.$textLayer.addEventListener("changeCharacterSize", function(e) {
|
|
15168
15183
|
_self.updateCharacterSize();
|
|
@@ -15557,8 +15572,12 @@ var VirtualRenderer = function(container, theme) {
|
|
|
15557
15572
|
return this.layerConfig.firstRow + (this.layerConfig.offset === 0 ? 0 : 1);
|
|
15558
15573
|
};
|
|
15559
15574
|
this.getLastFullyVisibleRow = function() {
|
|
15560
|
-
var
|
|
15561
|
-
|
|
15575
|
+
var config = this.layerConfig;
|
|
15576
|
+
var lastRow = config.lastRow
|
|
15577
|
+
var top = this.session.documentToScreenRow(lastRow, 0) * config.lineHeight;
|
|
15578
|
+
if (top - this.session.getScrollTop() > config.height - config.lineHeight)
|
|
15579
|
+
return lastRow - 1;
|
|
15580
|
+
return lastRow;
|
|
15562
15581
|
};
|
|
15563
15582
|
this.getLastVisibleRow = function() {
|
|
15564
15583
|
return this.layerConfig.lastRow;
|
|
@@ -15932,13 +15951,13 @@ var VirtualRenderer = function(container, theme) {
|
|
|
15932
15951
|
var scrollTop = this.$scrollAnimation ? this.session.getScrollTop() : this.scrollTop;
|
|
15933
15952
|
|
|
15934
15953
|
if (scrollTop + topMargin > top) {
|
|
15935
|
-
if (offset)
|
|
15954
|
+
if (offset && scrollTop + topMargin > top + this.lineHeight)
|
|
15936
15955
|
top -= offset * this.$size.scrollerHeight;
|
|
15937
15956
|
if (top === 0)
|
|
15938
15957
|
top = -this.scrollMargin.top;
|
|
15939
15958
|
this.session.setScrollTop(top);
|
|
15940
15959
|
} else if (scrollTop + this.$size.scrollerHeight - bottomMargin < top + this.lineHeight) {
|
|
15941
|
-
if (offset)
|
|
15960
|
+
if (offset && scrollTop + this.$size.scrollerHeight - bottomMargin < top - this.lineHeight)
|
|
15942
15961
|
top += offset * this.$size.scrollerHeight;
|
|
15943
15962
|
this.session.setScrollTop(top + this.lineHeight - this.$size.scrollerHeight);
|
|
15944
15963
|
}
|
|
@@ -16605,7 +16624,7 @@ var PlaceHolder = function(session, length, pos, others, mainClass, othersClass)
|
|
|
16605
16624
|
|
|
16606
16625
|
this.$pos = pos;
|
|
16607
16626
|
var undoStack = session.getUndoManager().$undoStack || session.getUndoManager().$undostack || {length: -1};
|
|
16608
|
-
this.$undoStackDepth =
|
|
16627
|
+
this.$undoStackDepth = undoStack.length;
|
|
16609
16628
|
this.setup();
|
|
16610
16629
|
|
|
16611
16630
|
session.selection.on("changeCursor", this.$onCursorChange);
|
|
@@ -16618,103 +16637,97 @@ var PlaceHolder = function(session, length, pos, others, mainClass, othersClass)
|
|
|
16618
16637
|
var _self = this;
|
|
16619
16638
|
var doc = this.doc;
|
|
16620
16639
|
var session = this.session;
|
|
16621
|
-
var pos = this.$pos;
|
|
16622
16640
|
|
|
16623
16641
|
this.selectionBefore = session.selection.toJSON();
|
|
16624
16642
|
if (session.selection.inMultiSelectMode)
|
|
16625
16643
|
session.selection.toSingleRange();
|
|
16626
16644
|
|
|
16627
|
-
this.pos = doc.createAnchor(pos.row, pos.column);
|
|
16628
|
-
|
|
16629
|
-
|
|
16630
|
-
|
|
16631
|
-
|
|
16632
|
-
});
|
|
16645
|
+
this.pos = doc.createAnchor(this.$pos.row, this.$pos.column);
|
|
16646
|
+
var pos = this.pos;
|
|
16647
|
+
pos.$insertRight = true;
|
|
16648
|
+
pos.detach();
|
|
16649
|
+
pos.markerId = session.addMarker(new Range(pos.row, pos.column, pos.row, pos.column + this.length), this.mainClass, null, false);
|
|
16633
16650
|
this.others = [];
|
|
16634
16651
|
this.$others.forEach(function(other) {
|
|
16635
16652
|
var anchor = doc.createAnchor(other.row, other.column);
|
|
16653
|
+
anchor.$insertRight = true;
|
|
16654
|
+
anchor.detach();
|
|
16636
16655
|
_self.others.push(anchor);
|
|
16637
16656
|
});
|
|
16638
16657
|
session.setUndoSelect(false);
|
|
16639
16658
|
};
|
|
16640
16659
|
this.showOtherMarkers = function() {
|
|
16641
|
-
if(this.othersActive) return;
|
|
16660
|
+
if (this.othersActive) return;
|
|
16642
16661
|
var session = this.session;
|
|
16643
16662
|
var _self = this;
|
|
16644
16663
|
this.othersActive = true;
|
|
16645
16664
|
this.others.forEach(function(anchor) {
|
|
16646
16665
|
anchor.markerId = session.addMarker(new Range(anchor.row, anchor.column, anchor.row, anchor.column+_self.length), _self.othersClass, null, false);
|
|
16647
|
-
anchor.on("change", function(event) {
|
|
16648
|
-
session.removeMarker(anchor.markerId);
|
|
16649
|
-
anchor.markerId = session.addMarker(new Range(event.value.row, event.value.column, event.value.row, event.value.column+_self.length), _self.othersClass, null, false);
|
|
16650
|
-
});
|
|
16651
16666
|
});
|
|
16652
16667
|
};
|
|
16653
16668
|
this.hideOtherMarkers = function() {
|
|
16654
|
-
if(!this.othersActive) return;
|
|
16669
|
+
if (!this.othersActive) return;
|
|
16655
16670
|
this.othersActive = false;
|
|
16656
16671
|
for (var i = 0; i < this.others.length; i++) {
|
|
16657
16672
|
this.session.removeMarker(this.others[i].markerId);
|
|
16658
16673
|
}
|
|
16659
16674
|
};
|
|
16660
16675
|
this.onUpdate = function(delta) {
|
|
16676
|
+
if (this.$updating)
|
|
16677
|
+
return this.updateAnchors(delta);
|
|
16678
|
+
|
|
16661
16679
|
var range = delta;
|
|
16662
|
-
if(range.start.row !== range.end.row) return;
|
|
16663
|
-
if(range.start.row !== this.pos.row) return;
|
|
16664
|
-
if (this.$updating) return;
|
|
16680
|
+
if (range.start.row !== range.end.row) return;
|
|
16681
|
+
if (range.start.row !== this.pos.row) return;
|
|
16665
16682
|
this.$updating = true;
|
|
16666
16683
|
var lengthDiff = delta.action === "insert" ? range.end.column - range.start.column : range.start.column - range.end.column;
|
|
16684
|
+
var inMainRange = range.start.column >= this.pos.column && range.start.column <= this.pos.column + this.length + 1;
|
|
16685
|
+
var distanceFromStart = range.start.column - this.pos.column;
|
|
16686
|
+
|
|
16687
|
+
this.updateAnchors(delta);
|
|
16667
16688
|
|
|
16668
|
-
if(
|
|
16669
|
-
var distanceFromStart = range.start.column - this.pos.column;
|
|
16689
|
+
if (inMainRange)
|
|
16670
16690
|
this.length += lengthDiff;
|
|
16671
|
-
|
|
16672
|
-
|
|
16673
|
-
|
|
16674
|
-
|
|
16675
|
-
|
|
16676
|
-
|
|
16677
|
-
|
|
16678
|
-
this.doc.insertMergedLines(newPos, delta.lines);
|
|
16679
|
-
}
|
|
16680
|
-
} else if(delta.action === 'remove') {
|
|
16681
|
-
for (var i = this.others.length - 1; i >= 0; i--) {
|
|
16682
|
-
var otherPos = this.others[i];
|
|
16683
|
-
var newPos = {row: otherPos.row, column: otherPos.column + distanceFromStart};
|
|
16684
|
-
if(otherPos.row === range.start.row && range.start.column < otherPos.column)
|
|
16685
|
-
newPos.column += lengthDiff;
|
|
16686
|
-
this.doc.remove(new Range(newPos.row, newPos.column, newPos.row, newPos.column - lengthDiff));
|
|
16687
|
-
}
|
|
16688
|
-
}
|
|
16689
|
-
if(range.start.column === this.pos.column && delta.action === 'insert') {
|
|
16690
|
-
setTimeout(function() {
|
|
16691
|
-
this.pos.setPosition(this.pos.row, this.pos.column - lengthDiff);
|
|
16692
|
-
for (var i = 0; i < this.others.length; i++) {
|
|
16693
|
-
var other = this.others[i];
|
|
16694
|
-
var newPos = {row: other.row, column: other.column - lengthDiff};
|
|
16695
|
-
if(other.row === range.start.row && range.start.column < other.column)
|
|
16696
|
-
newPos.column += lengthDiff;
|
|
16697
|
-
other.setPosition(newPos.row, newPos.column);
|
|
16698
|
-
}
|
|
16699
|
-
}.bind(this), 0);
|
|
16691
|
+
|
|
16692
|
+
if (inMainRange && !this.session.$fromUndo) {
|
|
16693
|
+
if (delta.action === 'insert') {
|
|
16694
|
+
for (var i = this.others.length - 1; i >= 0; i--) {
|
|
16695
|
+
var otherPos = this.others[i];
|
|
16696
|
+
var newPos = {row: otherPos.row, column: otherPos.column + distanceFromStart};
|
|
16697
|
+
this.doc.insertMergedLines(newPos, delta.lines);
|
|
16700
16698
|
}
|
|
16701
|
-
|
|
16702
|
-
|
|
16703
|
-
|
|
16704
|
-
|
|
16705
|
-
|
|
16706
|
-
other.setPosition(other.row, other.column - lengthDiff);
|
|
16707
|
-
}
|
|
16708
|
-
}
|
|
16709
|
-
}.bind(this), 0);
|
|
16699
|
+
} else if (delta.action === 'remove') {
|
|
16700
|
+
for (var i = this.others.length - 1; i >= 0; i--) {
|
|
16701
|
+
var otherPos = this.others[i];
|
|
16702
|
+
var newPos = {row: otherPos.row, column: otherPos.column + distanceFromStart};
|
|
16703
|
+
this.doc.remove(new Range(newPos.row, newPos.column, newPos.row, newPos.column - lengthDiff));
|
|
16710
16704
|
}
|
|
16711
16705
|
}
|
|
16712
|
-
this.pos._emit("change", {value: this.pos});
|
|
16713
|
-
for (var i = 0; i < this.others.length; i++) {
|
|
16714
|
-
this.others[i]._emit("change", {value: this.others[i]});
|
|
16715
|
-
}
|
|
16716
16706
|
}
|
|
16707
|
+
|
|
16717
16708
|
this.$updating = false;
|
|
16709
|
+
this.updateMarkers();
|
|
16710
|
+
};
|
|
16711
|
+
|
|
16712
|
+
this.updateAnchors = function(delta) {
|
|
16713
|
+
this.pos.onChange(delta);
|
|
16714
|
+
for (var i = this.others.length; i--;)
|
|
16715
|
+
this.others[i].onChange(delta);
|
|
16716
|
+
this.updateMarkers();
|
|
16717
|
+
};
|
|
16718
|
+
|
|
16719
|
+
this.updateMarkers = function() {
|
|
16720
|
+
if (this.$updating)
|
|
16721
|
+
return;
|
|
16722
|
+
var _self = this;
|
|
16723
|
+
var session = this.session;
|
|
16724
|
+
var updateMarker = function(pos, className) {
|
|
16725
|
+
session.removeMarker(pos.markerId);
|
|
16726
|
+
pos.markerId = session.addMarker(new Range(pos.row, pos.column, pos.row, pos.column+_self.length), className, null, false);
|
|
16727
|
+
};
|
|
16728
|
+
updateMarker(this.pos, this.mainClass);
|
|
16729
|
+
for (var i = this.others.length; i--;)
|
|
16730
|
+
updateMarker(this.others[i], this.othersClass);
|
|
16718
16731
|
};
|
|
16719
16732
|
|
|
16720
16733
|
this.onCursorChange = function(event) {
|
|
@@ -16729,20 +16742,16 @@ var PlaceHolder = function(session, length, pos, others, mainClass, othersClass)
|
|
|
16729
16742
|
}
|
|
16730
16743
|
};
|
|
16731
16744
|
this.detach = function() {
|
|
16732
|
-
this.session.removeMarker(this.markerId);
|
|
16745
|
+
this.session.removeMarker(this.pos && this.pos.markerId);
|
|
16733
16746
|
this.hideOtherMarkers();
|
|
16734
16747
|
this.doc.removeEventListener("change", this.$onUpdate);
|
|
16735
16748
|
this.session.selection.removeEventListener("changeCursor", this.$onCursorChange);
|
|
16736
|
-
this.pos.detach();
|
|
16737
|
-
for (var i = 0; i < this.others.length; i++) {
|
|
16738
|
-
this.others[i].detach();
|
|
16739
|
-
}
|
|
16740
16749
|
this.session.setUndoSelect(true);
|
|
16741
16750
|
this.session = null;
|
|
16742
16751
|
};
|
|
16743
16752
|
this.cancel = function() {
|
|
16744
|
-
if(this.$undoStackDepth === -1)
|
|
16745
|
-
|
|
16753
|
+
if (this.$undoStackDepth === -1)
|
|
16754
|
+
return;
|
|
16746
16755
|
var undoManager = this.session.getUndoManager();
|
|
16747
16756
|
var undosRequired = (undoManager.$undoStack || undoManager.$undostack).length - this.$undoStackDepth;
|
|
16748
16757
|
for (var i = 0; i < undosRequired; i++) {
|
|
@@ -17730,8 +17739,8 @@ exports.onSessionChange = function(e) {
|
|
|
17730
17739
|
oldSession.multiSelect.off("removeRange", this.$onRemoveRange);
|
|
17731
17740
|
oldSession.multiSelect.off("multiSelect", this.$onMultiSelect);
|
|
17732
17741
|
oldSession.multiSelect.off("singleSelect", this.$onSingleSelect);
|
|
17733
|
-
oldSession.multiSelect.lead.off("change",
|
|
17734
|
-
oldSession.multiSelect.anchor.off("change",
|
|
17742
|
+
oldSession.multiSelect.lead.off("change", this.$checkMultiselectChange);
|
|
17743
|
+
oldSession.multiSelect.anchor.off("change", this.$checkMultiselectChange);
|
|
17735
17744
|
}
|
|
17736
17745
|
|
|
17737
17746
|
if (session) {
|
|
@@ -17739,8 +17748,8 @@ exports.onSessionChange = function(e) {
|
|
|
17739
17748
|
session.multiSelect.on("removeRange", this.$onRemoveRange);
|
|
17740
17749
|
session.multiSelect.on("multiSelect", this.$onMultiSelect);
|
|
17741
17750
|
session.multiSelect.on("singleSelect", this.$onSingleSelect);
|
|
17742
|
-
session.multiSelect.lead.on("change",
|
|
17743
|
-
session.multiSelect.anchor.on("change",
|
|
17751
|
+
session.multiSelect.lead.on("change", this.$checkMultiselectChange);
|
|
17752
|
+
session.multiSelect.anchor.on("change", this.$checkMultiselectChange);
|
|
17744
17753
|
}
|
|
17745
17754
|
|
|
17746
17755
|
if (session && this.inMultiSelectMode != session.selection.inMultiSelectMode) {
|
|
@@ -18307,6 +18316,8 @@ function LineWidgets(session) {
|
|
|
18307
18316
|
if (!w || !w.el) continue;
|
|
18308
18317
|
if (w.session != this.session) continue;
|
|
18309
18318
|
if (!w._inDocument) {
|
|
18319
|
+
if (this.session.lineWidgets[w.row] != w)
|
|
18320
|
+
continue;
|
|
18310
18321
|
w._inDocument = true;
|
|
18311
18322
|
renderer.container.appendChild(w.el);
|
|
18312
18323
|
}
|
|
@@ -18601,7 +18612,7 @@ require("./ext/error_marker");
|
|
|
18601
18612
|
exports.config = require("./config");
|
|
18602
18613
|
exports.require = require;
|
|
18603
18614
|
exports.edit = function(el) {
|
|
18604
|
-
if (typeof
|
|
18615
|
+
if (typeof el == "string") {
|
|
18605
18616
|
var _id = el;
|
|
18606
18617
|
el = document.getElementById(_id);
|
|
18607
18618
|
if (!el)
|
|
@@ -18619,7 +18630,7 @@ exports.edit = function(el) {
|
|
|
18619
18630
|
oldNode.parentNode.replaceChild(el, oldNode);
|
|
18620
18631
|
} else if (el) {
|
|
18621
18632
|
value = dom.getInnerText(el);
|
|
18622
|
-
el.innerHTML =
|
|
18633
|
+
el.innerHTML = "";
|
|
18623
18634
|
}
|
|
18624
18635
|
|
|
18625
18636
|
var doc = exports.createEditSession(value);
|
|
@@ -18648,6 +18659,7 @@ exports.createEditSession = function(text, mode) {
|
|
|
18648
18659
|
}
|
|
18649
18660
|
exports.EditSession = EditSession;
|
|
18650
18661
|
exports.UndoManager = UndoManager;
|
|
18662
|
+
exports.version = "1.2.3";
|
|
18651
18663
|
});
|
|
18652
18664
|
(function() {
|
|
18653
18665
|
window.require(["ace/ace"], function(a) {
|