Merging latest commits.
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
a68e8bea01
33 changed files with 202 additions and 60 deletions
59
experiments/debug_mem_leak.html
Normal file
59
experiments/debug_mem_leak.html
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<script src="../demo/kitchen-sink/require.js"></script>
|
||||
<script type="text/javascript">
|
||||
require.config({
|
||||
paths: { ace: "../lib/ace" },
|
||||
waitSeconds: 0
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<p><button onclick="toggleEditor()">Toggle editor</button></p>
|
||||
|
||||
<div id="container"></div>
|
||||
<script>
|
||||
var editor;
|
||||
var counter = 0
|
||||
|
||||
function toggleEditor() {
|
||||
if (!editor) {
|
||||
var root = document.createElement("div");
|
||||
root.style.height = "100px";
|
||||
root.setAttribute("id", "editor");
|
||||
root.textContent = "function foo(items) {\nvar x = 'All this is syntax highlighted';\nreturn x;\n}";
|
||||
|
||||
document.getElementById("container").appendChild(root);
|
||||
|
||||
editor = ace.edit(root);
|
||||
|
||||
if (counter++ % 2)
|
||||
editor.setTheme("ace/theme/monokai");
|
||||
else
|
||||
editor.setTheme("ace/theme/clouds");
|
||||
|
||||
editor.session.setMode("ace/mode/javascript");
|
||||
} else {
|
||||
editor.destroy();
|
||||
var el = editor.container;
|
||||
el.parentNode.removeChild(el);
|
||||
|
||||
editor.container = null
|
||||
editor.renderer = null
|
||||
|
||||
editor = null;
|
||||
|
||||
var root = document.getElementById("editor")
|
||||
if (root)
|
||||
root.parentNode.removeChild(root);
|
||||
}
|
||||
}
|
||||
require(["ace/ace"], function(ace) {
|
||||
window.ace = ace;
|
||||
toggleEditor();
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -142,7 +142,7 @@ var Autocomplete = function() {
|
|||
// we have to check if activeElement is a child of popup because
|
||||
// on IE preventDefault doesn't stop scrollbar from being focussed
|
||||
var el = document.activeElement;
|
||||
var text = this.editor.textInput.getElement()
|
||||
var text = this.editor.textInput.getElement();
|
||||
if (el != text && ( !this.popup || el.parentNode != this.popup.container )
|
||||
&& el != this.tooltipNode && e.relatedTarget != this.tooltipNode
|
||||
&& e.relatedTarget != text
|
||||
|
|
@ -349,7 +349,7 @@ var Autocomplete = function() {
|
|||
doc = selected;
|
||||
|
||||
if (typeof doc == "string")
|
||||
doc = {docText: doc}
|
||||
doc = {docText: doc};
|
||||
if (!doc || !(doc.docHTML || doc.docText))
|
||||
return this.hideDocTooltip();
|
||||
this.showDocTooltip(doc);
|
||||
|
|
@ -416,7 +416,7 @@ Autocomplete.startCommand = {
|
|||
bindKey: "Ctrl-Space|Ctrl-Shift-Space|Alt-Space"
|
||||
};
|
||||
|
||||
var FilteredList = function(array, filterText, mutateData) {
|
||||
var FilteredList = function(array, filterText) {
|
||||
this.all = array;
|
||||
this.filtered = array;
|
||||
this.filterText = filterText || "";
|
||||
|
|
|
|||
|
|
@ -31,7 +31,6 @@
|
|||
define(function(require, exports, module) {
|
||||
"use strict";
|
||||
|
||||
var EditSession = require("../edit_session").EditSession;
|
||||
var Renderer = require("../virtual_renderer").VirtualRenderer;
|
||||
var Editor = require("../editor").Editor;
|
||||
var Range = require("../range").Range;
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ var AppConfig = require("./lib/app_config").AppConfig;
|
|||
module.exports = exports = new AppConfig();
|
||||
|
||||
var global = (function() {
|
||||
return this;
|
||||
return this || typeof window != "undefined" && window;
|
||||
})();
|
||||
|
||||
var options = {
|
||||
|
|
|
|||
|
|
@ -422,3 +422,30 @@
|
|||
position: absolute;
|
||||
z-index: 8;
|
||||
}
|
||||
|
||||
/*
|
||||
styles = []
|
||||
for (var i = 1; i < 16; i++) {
|
||||
styles.push(".ace_br" + i + "{" + (
|
||||
["top-left", "top-right", "bottom-right", "bottom-left"]
|
||||
).map(function(x, j) {
|
||||
return i & (1<<j) ? "border-" + x + "-radius: 3px;" : ""
|
||||
}).filter(Boolean).join(" ") + "}")
|
||||
}
|
||||
styles.join("\n")
|
||||
*/
|
||||
.ace_br1 {border-top-left-radius : 3px;}
|
||||
.ace_br2 {border-top-right-radius : 3px;}
|
||||
.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}
|
||||
.ace_br4 {border-bottom-right-radius: 3px;}
|
||||
.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}
|
||||
.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}
|
||||
.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}
|
||||
.ace_br8 {border-bottom-left-radius : 3px;}
|
||||
.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}
|
||||
.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}
|
||||
.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}
|
||||
.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
||||
.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
||||
.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
||||
.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ var EditSession = function(text, mode) {
|
|||
this.$foldData = [];
|
||||
this.$foldData.toString = function() {
|
||||
return this.join("\n");
|
||||
}
|
||||
};
|
||||
this.on("changeFold", this.onChangeFold.bind(this));
|
||||
this.$onChange = this.onChange.bind(this);
|
||||
|
||||
|
|
@ -679,10 +679,10 @@ var EditSession = function(text, mode) {
|
|||
};
|
||||
|
||||
/**
|
||||
* Returns an array containing the IDs of all the markers, either front or back.
|
||||
* Returns an object containing all of the markers, either front or back.
|
||||
* @param {Boolean} inFront If `true`, indicates you only want front markers; `false` indicates only back markers
|
||||
*
|
||||
* @returns {Array}
|
||||
* @returns {Object}
|
||||
**/
|
||||
this.getMarkers = function(inFront) {
|
||||
return inFront ? this.$frontMarkers : this.$backMarkers;
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ var Marker = function(parentEl) {
|
|||
else
|
||||
this.drawMultiLineMarker(html, range, marker.clazz, config);
|
||||
} else {
|
||||
this.drawSingleLineMarker(html, range, marker.clazz + " ace_start", config);
|
||||
this.drawSingleLineMarker(html, range, marker.clazz + " ace_start" + " ace_br15", config);
|
||||
}
|
||||
}
|
||||
this.element.innerHTML = html.join("");
|
||||
|
|
@ -100,29 +100,30 @@ var Marker = function(parentEl) {
|
|||
return (row - layerConfig.firstRowScreen) * layerConfig.lineHeight;
|
||||
};
|
||||
|
||||
function getBorderClass(tl, tr, br, bl) {
|
||||
return (tl ? 1 : 0) | (tr ? 2 : 0) | (br ? 4 : 0) | (bl ? 8 : 0);
|
||||
}
|
||||
// Draws a marker, which spans a range of text on multiple lines
|
||||
this.drawTextMarker = function(stringBuilder, range, clazz, layerConfig, extraStyle) {
|
||||
// selection start
|
||||
var row = range.start.row;
|
||||
var session = this.session;
|
||||
|
||||
var lineRange = new Range(
|
||||
row, range.start.column,
|
||||
row, session.getScreenLastRowColumn(row)
|
||||
);
|
||||
this.drawSingleLineMarker(stringBuilder, lineRange, clazz + " ace_start", layerConfig, 1, extraStyle);
|
||||
|
||||
// selection end
|
||||
row = range.end.row;
|
||||
lineRange = new Range(row, session.getRowWrapIndent(row), row, range.end.column);
|
||||
this.drawSingleLineMarker(stringBuilder, lineRange, clazz, layerConfig, 0, extraStyle);
|
||||
|
||||
for (row = range.start.row + 1; row < range.end.row; row++) {
|
||||
lineRange.start.row = row;
|
||||
lineRange.start.column = session.getRowWrapIndent(row);
|
||||
lineRange.end.row = row;
|
||||
lineRange.end.column = session.getScreenLastRowColumn(row);
|
||||
this.drawSingleLineMarker(stringBuilder, lineRange, clazz, layerConfig, 1, extraStyle);
|
||||
var start = range.start.row;
|
||||
var end = range.end.row;
|
||||
var row = start;
|
||||
var prev = 0;
|
||||
var curr = 0;
|
||||
var next = session.getScreenLastRowColumn(row);
|
||||
var lineRange = new Range(row, range.start.column, row, curr);
|
||||
for (; row <= end; row++) {
|
||||
lineRange.start.row = lineRange.end.row = row;
|
||||
lineRange.start.column = row == start ? range.start.column : session.getRowWrapIndent(row);
|
||||
lineRange.end.column = next;
|
||||
prev = curr;
|
||||
curr = next;
|
||||
next = row + 1 < end ? session.getScreenLastRowColumn(row + 1) : row == end ? 0 : range.end.column;
|
||||
this.drawSingleLineMarker(stringBuilder, lineRange,
|
||||
clazz + (row == start ? " ace_start" : "") + " ace_br"
|
||||
+ getBorderClass(row == start || row == start + 1 && range.start.column, prev < curr, curr > next, row == end),
|
||||
layerConfig, row == end ? 0 : 1, extraStyle);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -136,7 +137,7 @@ var Marker = function(parentEl) {
|
|||
extraStyle = extraStyle || "";
|
||||
|
||||
stringBuilder.push(
|
||||
"<div class='", clazz, " ace_start' style='",
|
||||
"<div class='", clazz, " ace_br1 ace_start' style='",
|
||||
"height:", height, "px;",
|
||||
"right:0;",
|
||||
"top:", top, "px;",
|
||||
|
|
@ -148,7 +149,7 @@ var Marker = function(parentEl) {
|
|||
var width = range.end.column * config.characterWidth;
|
||||
|
||||
stringBuilder.push(
|
||||
"<div class='", clazz, "' style='",
|
||||
"<div class='", clazz, " ace_br12' style='",
|
||||
"height:", height, "px;",
|
||||
"width:", width, "px;",
|
||||
"top:", top, "px;",
|
||||
|
|
@ -160,9 +161,11 @@ var Marker = function(parentEl) {
|
|||
if (height <= 0)
|
||||
return;
|
||||
top = this.$getTop(range.start.row + 1, config);
|
||||
|
||||
var radiusClass = (range.start.column ? 1 : 0) | (range.end.column ? 0 : 8);
|
||||
|
||||
stringBuilder.push(
|
||||
"<div class='", clazz, "' style='",
|
||||
"<div class='", clazz, (radiusClass ? " ace_br" + radiusClass : ""), "' style='",
|
||||
"height:", height, "px;",
|
||||
"right:0;",
|
||||
"top:", top, "px;",
|
||||
|
|
|
|||
|
|
@ -326,13 +326,14 @@ exports.addCommandKeyListener = function(el, callback) {
|
|||
});
|
||||
|
||||
if (!pressedKeys) {
|
||||
pressedKeys = Object.create(null);
|
||||
addListener(window, "focus", function(e) {
|
||||
pressedKeys = Object.create(null);
|
||||
});
|
||||
resetPressedKeys();
|
||||
addListener(window, "focus", resetPressedKeys);
|
||||
}
|
||||
}
|
||||
};
|
||||
function resetPressedKeys(e) {
|
||||
pressedKeys = Object.create(null);
|
||||
}
|
||||
|
||||
if (window.postMessage && !useragent.isOldIE) {
|
||||
var postMessageId = 1;
|
||||
|
|
|
|||
|
|
@ -39,15 +39,92 @@ define(function(require, exports, module) {
|
|||
var oop = require("../lib/oop");
|
||||
var TextMode = require("./text").Mode;
|
||||
var SchemeHighlightRules = require("./scheme_highlight_rules").SchemeHighlightRules;
|
||||
var MatchingParensOutdent = require("./matching_parens_outdent").MatchingParensOutdent;
|
||||
|
||||
var Mode = function() {
|
||||
this.HighlightRules = SchemeHighlightRules;
|
||||
this.$outdent = new MatchingParensOutdent();
|
||||
};
|
||||
oop.inherits(Mode, TextMode);
|
||||
|
||||
(function() {
|
||||
|
||||
this.lineCommentStart = ";";
|
||||
this.minorIndentFunctions = ["define", "lambda", "define-macro", "define-syntax", "syntax-rules", "define-record-type", "define-structure"];
|
||||
|
||||
this.$toIndent = function(str) {
|
||||
return str.split('').map(function(ch) {
|
||||
if (/\s/.exec(ch)) {
|
||||
return ch;
|
||||
} else {
|
||||
return ' ';
|
||||
}
|
||||
}).join('');
|
||||
};
|
||||
|
||||
this.$calculateIndent = function(line, tab) {
|
||||
var baseIndent = this.$getIndent(line);
|
||||
var delta = 0;
|
||||
var isParen, ch;
|
||||
// Walk back from end of line, find matching braces
|
||||
for (var i = line.length - 1; i >= 0; i--) {
|
||||
ch = line[i];
|
||||
if (ch === '(') {
|
||||
delta--;
|
||||
isParen = true;
|
||||
} else if (ch === '(' || ch === '[' || ch === '{') {
|
||||
delta--;
|
||||
isParen = false;
|
||||
} else if (ch === ')' || ch === ']' || ch === '}') {
|
||||
delta++;
|
||||
}
|
||||
if (delta < 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (delta < 0 && isParen) {
|
||||
// Were more brackets opened than closed and was a ( left open?
|
||||
i += 1;
|
||||
var iBefore = i;
|
||||
var fn = '';
|
||||
while (true) {
|
||||
ch = line[i];
|
||||
if (ch === ' ' || ch === '\t') {
|
||||
if(this.minorIndentFunctions.indexOf(fn) !== -1) {
|
||||
return this.$toIndent(line.substring(0, iBefore - 1) + tab);
|
||||
} else {
|
||||
return this.$toIndent(line.substring(0, i + 1));
|
||||
}
|
||||
} else if (ch === undefined) {
|
||||
return this.$toIndent(line.substring(0, iBefore - 1) + tab);
|
||||
}
|
||||
fn += line[i];
|
||||
i++;
|
||||
}
|
||||
} else if(delta < 0 && !isParen) {
|
||||
// Were more brackets openend than closed and was it not a (?
|
||||
return this.$toIndent(line.substring(0, i+1));
|
||||
} else if(delta > 0) {
|
||||
// Mere more brackets closed than opened? Outdent.
|
||||
baseIndent = baseIndent.substring(0, baseIndent.length - tab.length);
|
||||
return baseIndent;
|
||||
} else {
|
||||
// Were they nicely matched? Just indent like line before.
|
||||
return baseIndent;
|
||||
}
|
||||
};
|
||||
|
||||
this.getNextLineIndent = function(state, line, tab) {
|
||||
return this.$calculateIndent(line, tab);
|
||||
};
|
||||
|
||||
this.checkOutdent = function(state, line, input) {
|
||||
return this.$outdent.checkOutdent(line, input);
|
||||
};
|
||||
|
||||
this.autoOutdent = function(state, doc, row) {
|
||||
this.$outdent.autoOutdent(doc, row);
|
||||
};
|
||||
|
||||
this.$id = "ace/mode/scheme";
|
||||
}).call(Mode.prototype);
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
.ace-clouds.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px #FFFFFF;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.ace-clouds .ace_marker-layer .ace_step {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
.ace-clouds-midnight.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px #191919;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.ace-clouds-midnight .ace_marker-layer .ace_step {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
.ace-cobalt.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px #002240;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.ace-cobalt .ace_marker-layer .ace_step {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
.ace-dawn.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px #F9F9F9;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.ace-dawn .ace_marker-layer .ace_step {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px #323232;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.ace-idle-fingers .ace_marker-layer .ace_step {
|
||||
|
|
|
|||
|
|
@ -31,7 +31,6 @@
|
|||
|
||||
.ace-katzenmilch.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px #f3f2f3;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.ace-katzenmilch .ace_marker-layer .ace_step {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
.ace-kr-theme.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px #0B0A09;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.ace-kr-theme .ace_marker-layer .ace_step {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
.ace-merbivore.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px #161616;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.ace-merbivore .ace_marker-layer .ace_step {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
.ace-merbivore-soft.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px #1C1C1C;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.ace-merbivore-soft .ace_marker-layer .ace_step {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
.ace-mono-industrial.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px #222C28;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.ace-mono-industrial .ace_marker-layer .ace_step {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
.ace-monokai.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px #272822;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.ace-monokai .ace_marker-layer .ace_step {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
.ace-pastel-on-dark.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px #2C2828;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.ace-pastel-on-dark .ace_marker-layer .ace_step {
|
||||
|
|
|
|||
|
|
@ -30,7 +30,6 @@
|
|||
|
||||
.ace-solarized-dark.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px #002B36;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.ace-solarized-dark .ace_marker-layer .ace_step {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
.ace-solarized-light.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px #FDF6E3;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.ace-solarized-light .ace_marker-layer .ace_step {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
.ace-terminal-theme.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px black;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.ace-terminal-theme .ace_marker-layer .ace_step {
|
||||
|
|
|
|||
|
|
@ -122,7 +122,6 @@
|
|||
}
|
||||
.ace-tm.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px white;
|
||||
border-radius: 2px;
|
||||
}
|
||||
.ace-tm .ace_marker-layer .ace_step {
|
||||
background: rgb(252, 255, 0);
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
.ace-tomorrow.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px #FFFFFF;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.ace-tomorrow .ace_marker-layer .ace_step {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
.ace-tomorrow-night.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px #1D1F21;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.ace-tomorrow-night .ace_marker-layer .ace_step {
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@
|
|||
|
||||
.ace-tomorrow-night-blue.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px #002451;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.ace-tomorrow-night-blue .ace_marker-layer .ace_step {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
.ace-tomorrow-night-bright.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px #000000;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.ace-tomorrow-night-bright .ace_marker-layer .ace_step {
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@
|
|||
|
||||
.ace-tomorrow-night-eighties.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px #2D2D2D;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.ace-tomorrow-night-eighties .ace_marker-layer .ace_step {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
.ace-twilight.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px #141414;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.ace-twilight .ace_marker-layer .ace_step {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
.ace-vibrant-ink.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px #0F0F0F;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.ace-vibrant-ink .ace_marker-layer .ace_step {
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@
|
|||
|
||||
.ace-xcode.ace_multiselect .ace_selection.ace_start {
|
||||
box-shadow: 0 0 3px 0px #FFFFFF;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.ace-xcode .ace_marker-layer .ace_step {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue