Merge pull request #30380 from Microsoft/completionsWhileWritingSpread
Fix completions when writing spread expression
This commit is contained in:
commit
8b04143675
2 changed files with 20 additions and 0 deletions
|
@ -703,6 +703,14 @@ namespace ts.Completions {
|
|||
case SyntaxKind.PropertyAccessExpression:
|
||||
propertyAccessToConvert = parent as PropertyAccessExpression;
|
||||
node = propertyAccessToConvert.expression;
|
||||
if (node.end === contextToken.pos &&
|
||||
isCallExpression(node) &&
|
||||
node.getChildCount(sourceFile) &&
|
||||
last(node.getChildren(sourceFile)).kind !== SyntaxKind.CloseParenToken) {
|
||||
// This is likely dot from incorrectly parsed call expression and user is starting to write spread
|
||||
// eg: Math.min(./**/)
|
||||
return undefined;
|
||||
}
|
||||
break;
|
||||
case SyntaxKind.QualifiedName:
|
||||
node = (parent as QualifiedName).left;
|
||||
|
|
12
tests/cases/fourslash/completionsWritingSpreadArgument.ts
Normal file
12
tests/cases/fourslash/completionsWritingSpreadArgument.ts
Normal file
|
@ -0,0 +1,12 @@
|
|||
/// <reference path='fourslash.ts'/>
|
||||
|
||||
////
|
||||
//// const [] = [Math.min(./*marker*/)]
|
||||
////
|
||||
|
||||
goTo.marker("marker");
|
||||
verify.completions({ exact: undefined });
|
||||
edit.insert(".");
|
||||
verify.completions({ exact: undefined });
|
||||
edit.insert(".");
|
||||
verify.completions({ exact: completion.globals });
|
Loading…
Reference in a new issue