|
|
|
@ -102,18 +102,23 @@
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
var currentlyHighlighted = null;
|
|
|
|
|
|
|
|
function doMatchBrackets(cm) {
|
|
|
|
function doMatchBrackets(cm) {
|
|
|
|
cm.operation(function() {
|
|
|
|
cm.operation(function() {
|
|
|
|
if (currentlyHighlighted) {currentlyHighlighted(); currentlyHighlighted = null;}
|
|
|
|
if (cm.state.matchBrackets.currentlyHighlighted) {
|
|
|
|
currentlyHighlighted = matchBrackets(cm, false, cm.state.matchBrackets);
|
|
|
|
cm.state.matchBrackets.currentlyHighlighted();
|
|
|
|
|
|
|
|
cm.state.matchBrackets.currentlyHighlighted = null;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
cm.state.matchBrackets.currentlyHighlighted = matchBrackets(cm, false, cm.state.matchBrackets);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
CodeMirror.defineOption("matchBrackets", false, function(cm, val, old) {
|
|
|
|
CodeMirror.defineOption("matchBrackets", false, function(cm, val, old) {
|
|
|
|
if (old && old != CodeMirror.Init) {
|
|
|
|
if (old && old != CodeMirror.Init) {
|
|
|
|
cm.off("cursorActivity", doMatchBrackets);
|
|
|
|
cm.off("cursorActivity", doMatchBrackets);
|
|
|
|
if (currentlyHighlighted) {currentlyHighlighted(); currentlyHighlighted = null;}
|
|
|
|
if (cm.state.matchBrackets && cm.state.matchBrackets.currentlyHighlighted) {
|
|
|
|
|
|
|
|
cm.state.matchBrackets.currentlyHighlighted();
|
|
|
|
|
|
|
|
cm.state.matchBrackets.currentlyHighlighted = null;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (val) {
|
|
|
|
if (val) {
|
|
|
|
cm.state.matchBrackets = typeof val == "object" ? val : {};
|
|
|
|
cm.state.matchBrackets = typeof val == "object" ? val : {};
|
|
|
|
|