| Index: Source/devtools/front_end/cm/matchbrackets.js
|
| diff --git a/Source/devtools/front_end/cm/matchbrackets.js b/Source/devtools/front_end/cm/matchbrackets.js
|
| index b889fa3ae5754c774d54bc0655a119a171927078..fa1ae030a5442c7ab85ca8cf301ca76e6cf18132 100644
|
| --- a/Source/devtools/front_end/cm/matchbrackets.js
|
| +++ b/Source/devtools/front_end/cm/matchbrackets.js
|
| @@ -1,3 +1,6 @@
|
| +// CodeMirror, copyright (c) by Marijn Haverbeke and others
|
| +// Distributed under an MIT license: http://codemirror.net/LICENSE
|
| +
|
| (function(mod) {
|
| if (typeof exports == "object" && typeof module == "object") // CommonJS
|
| mod(require("../../lib/codemirror"));
|
| @@ -22,6 +25,7 @@
|
| var style = cm.getTokenTypeAt(Pos(where.line, pos + 1));
|
|
|
| var found = scanForBracket(cm, Pos(where.line, pos + (dir > 0 ? 1 : 0)), dir, style || null, config);
|
| + if (found == null) return null;
|
| return {from: Pos(where.line, pos), to: found && found.pos,
|
| match: found && found.ch == match.charAt(0), forward: dir > 0};
|
| }
|
| @@ -30,9 +34,12 @@
|
| // should be a regexp, e.g. /[[\]]/
|
| //
|
| // Note: If "where" is on an open bracket, then this bracket is ignored.
|
| + //
|
| + // Returns false when no bracket was found, null when it reached
|
| + // maxScanLines and gave up
|
| function scanForBracket(cm, where, dir, style, config) {
|
| var maxScanLen = (config && config.maxScanLineLength) || 10000;
|
| - var maxScanLines = (config && config.maxScanLines) || 500;
|
| + var maxScanLines = (config && config.maxScanLines) || 1000;
|
|
|
| var stack = [];
|
| var re = config && config.bracketRegex ? config.bracketRegex : /[(){}[\]]/;
|
| @@ -54,6 +61,7 @@
|
| }
|
| }
|
| }
|
| + return lineNo - dir == (dir > 0 ? cm.lastLine() : cm.firstLine()) ? false : null;
|
| }
|
|
|
| function matchBrackets(cm, autoclear, config) {
|
| @@ -62,11 +70,10 @@
|
| var marks = [], ranges = cm.listSelections();
|
| for (var i = 0; i < ranges.length; i++) {
|
| var match = ranges[i].empty() && findMatchingBracket(cm, ranges[i].head, false, config);
|
| - if (match && cm.getLine(match.from.line).length <= maxHighlightLen &&
|
| - match.to && cm.getLine(match.to.line).length <= maxHighlightLen) {
|
| + if (match && cm.getLine(match.from.line).length <= maxHighlightLen) {
|
| var style = match.match ? "CodeMirror-matchingbracket" : "CodeMirror-nonmatchingbracket";
|
| marks.push(cm.markText(match.from, Pos(match.from.line, match.from.ch + 1), {className: style}));
|
| - if (match.to)
|
| + if (match.to && cm.getLine(match.to.line).length <= maxHighlightLen)
|
| marks.push(cm.markText(match.to, Pos(match.to.line, match.to.ch + 1), {className: style}));
|
| }
|
| }
|
|
|