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

Unified Diff: third_party/WebKit/Source/devtools/front_end/console/ConsolePrompt.js

Issue 2760583002: DevTools: Don't give up autocomplete after a fancy character in a string (Closed)
Patch Set: merge 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/console/ConsolePrompt.js
diff --git a/third_party/WebKit/Source/devtools/front_end/console/ConsolePrompt.js b/third_party/WebKit/Source/devtools/front_end/console/ConsolePrompt.js
index f0c2ff7dd76c17e60e6d8eb9316bf830f8174de4..bc51932ba1d21cbcde40e8671e4b633012b2c01b 100644
--- a/third_party/WebKit/Source/devtools/front_end/console/ConsolePrompt.js
+++ b/third_party/WebKit/Source/devtools/front_end/console/ConsolePrompt.js
@@ -241,6 +241,10 @@ Console.ConsolePrompt = class extends UI.Widget {
* @return {?Common.TextRange}
*/
_substituteRange(lineNumber, columnNumber) {
+ var token = this._editor.tokenAtTextPosition(lineNumber, columnNumber);
+ if (token && token.type === 'js-string')
+ return new Common.TextRange(lineNumber, token.startColumn, lineNumber, columnNumber);
+
var lineText = this._editor.line(lineNumber);
var index;
for (index = columnNumber - 1; index >= 0; index--) {
@@ -254,23 +258,23 @@ Console.ConsolePrompt = class extends UI.Widget {
* @param {!Common.TextRange} queryRange
* @param {!Common.TextRange} substituteRange
* @param {boolean=} force
- * @param {string=} currentTokenType
* @return {!Promise<!UI.SuggestBox.Suggestions>}
*/
- _wordsWithQuery(queryRange, substituteRange, force, currentTokenType) {
+ _wordsWithQuery(queryRange, substituteRange, force) {
var query = this._editor.text(queryRange);
var before = this._editor.text(new Common.TextRange(0, 0, queryRange.startLine, queryRange.startColumn));
var historyWords = this._historyCompletions(query, force);
-
- var excludedTokens = new Set(['js-comment', 'js-string-2', 'js-def']);
- var trimmedBefore = before.trim();
- if (!trimmedBefore.endsWith('[') && !trimmedBefore.match(/\.\s*(get|set|delete)\s*\(\s*$/))
- excludedTokens.add('js-string');
- if (!trimmedBefore.endsWith('.'))
- excludedTokens.add('js-property');
- if (excludedTokens.has(currentTokenType))
- return Promise.resolve(historyWords);
-
+ var token = this._editor.tokenAtTextPosition(substituteRange.startLine, substituteRange.startColumn);
+ if (token) {
+ var excludedTokens = new Set(['js-comment', 'js-string-2', 'js-def']);
+ var trimmedBefore = before.trim();
+ if (!trimmedBefore.endsWith('[') && !trimmedBefore.match(/\.\s*(get|set|delete)\s*\(\s*$/))
+ excludedTokens.add('js-string');
+ if (!trimmedBefore.endsWith('.'))
+ excludedTokens.add('js-property');
+ if (excludedTokens.has(token.type))
+ return Promise.resolve(historyWords);
+ }
return ObjectUI.JavaScriptAutocomplete.completionsForTextInCurrentContext(before, query, force)
.then(words => words.concat(historyWords));
}

Powered by Google App Engine
This is Rietveld 408576698