Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1655)

Unified Diff: third_party/WebKit/Source/devtools/front_end/cm/closebrackets.js

Issue 2772343006: DevTools: Roll CodeMirror to 5.25.1 (Closed)
Patch Set: stray space Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/devtools/front_end/cm/closebrackets.js
diff --git a/third_party/WebKit/Source/devtools/front_end/cm/closebrackets.js b/third_party/WebKit/Source/devtools/front_end/cm/closebrackets.js
index a8777b51b32361ff40b981013fc91416ca1489ec..01fdd96ce1a6ba31a1aa39000c27a5df13c23e32 100644
--- a/third_party/WebKit/Source/devtools/front_end/cm/closebrackets.js
+++ b/third_party/WebKit/Source/devtools/front_end/cm/closebrackets.js
@@ -45,7 +45,7 @@
function getConfig(cm) {
var deflt = cm.state.closeBrackets;
- if (!deflt) return null;
+ if (!deflt || deflt.override) return deflt;
var mode = cm.getModeAt(cm.getCursor());
return mode.closeBrackets || deflt;
}
@@ -116,7 +116,9 @@
if (opening && !range.empty()) {
curType = "surround";
} else if ((identical || !opening) && next == ch) {
- if (triples.indexOf(ch) >= 0 && cm.getRange(cur, Pos(cur.line, cur.ch + 3)) == ch + ch + ch)
+ if (identical && stringStartsAfter(cm, cur))
+ curType = "both";
+ else if (triples.indexOf(ch) >= 0 && cm.getRange(cur, Pos(cur.line, cur.ch + 3)) == ch + ch + ch)
curType = "skipThree";
else
curType = "skip";
@@ -183,7 +185,7 @@
function enteringString(cm, pos, ch) {
var line = cm.getLine(pos.line);
var token = cm.getTokenAt(pos);
- if (/\bstring2?\b/.test(token.type)) return false;
+ if (/\bstring2?\b/.test(token.type) || stringStartsAfter(cm, pos)) return false;
var stream = new CodeMirror.StringStream(line.slice(0, pos.ch) + ch + line.slice(pos.ch), 4);
stream.pos = stream.start = token.start;
for (;;) {
@@ -192,4 +194,9 @@
stream.start = stream.pos;
}
}
-});
+
+ function stringStartsAfter(cm, pos) {
+ var token = cm.getTokenAt(Pos(pos.line, pos.ch + 1))
+ return /\bstring/.test(token.type) && token.start == pos.ch
+ }
+});

Powered by Google App Engine
This is Rietveld 408576698