Chromium Code Reviews| Index: third_party/WebKit/Source/devtools/front_end/components/ExecutionContextSelector.js |
| diff --git a/third_party/WebKit/Source/devtools/front_end/components/ExecutionContextSelector.js b/third_party/WebKit/Source/devtools/front_end/components/ExecutionContextSelector.js |
| index 0573f25821a0397dcc42abb781b457ca9949d3bc..79f0d70b6cd9c0a8ce501803346a2f54952cadfb 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/components/ExecutionContextSelector.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/components/ExecutionContextSelector.js |
| @@ -204,13 +204,25 @@ WebInspector.ExecutionContextSelector.completionsForTextPromptInCurrentContext = |
| } |
| // Pass less stop characters to rangeOfWord so the range will be a more complete expression. |
| - var expressionRange = wordRange.startContainer.rangeOfWord(wordRange.startOffset, " =:({;,!+-*/&|^<>", proxyElement, "backward"); |
| + var expressionRange = wordRange.startContainer.rangeOfWord(wordRange.startOffset, " =:({;,!+-*/&|^<>`", proxyElement, "backward"); |
|
lushnikov
2016/07/20 23:37:54
did you test this new apostrophe?
einbinder
2016/07/22 23:26:46
Done.
|
| var expressionString = expressionRange.toString(); |
| - // The "[" is also a stop character, except when it's the last character of the expression. |
| - var pos = expressionString.lastIndexOf("[", expressionString.length - 2); |
| - if (pos !== -1) |
| - expressionString = expressionString.substr(pos + 1); |
| + var bracketCount = 0; |
| + for (var i = expressionString.length - 1; i >= 0; i--) { |
|
lushnikov
2016/07/20 23:37:54
1. let's extract "i" outside of the loop and name
einbinder
2016/07/22 23:26:46
Done.
|
| + switch (expressionString.charAt(i)) { |
|
lushnikov
2016/07/20 23:37:54
converting this into if statement would be easier
einbinder
2016/07/22 23:26:45
Done.
|
| + case "]": |
| + bracketCount++; |
| + break; |
| + case "[": |
| + // Allow an open bracket at the end for property completion |
|
lushnikov
2016/07/20 23:37:54
nit: comments should finish with "."
einbinder
2016/07/22 23:26:45
Done.
|
| + if (i < expressionString.length - 1) |
| + bracketCount--; |
| + break; |
| + } |
| + if (bracketCount < 0) |
| + break; |
| + } |
| + expressionString = expressionString.substr(i + 1); |
| var prefix = wordRange.toString(); |
| executionContext.completionsForExpression(expressionString, text, cursorOffset, prefix, force, completionsReadyCallback); |