diff --git a/src/services/services.ts b/src/services/services.ts index 7af601c7e30..da40e36a053 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -2981,14 +2981,16 @@ module ts { || containingNodeKind === SyntaxKind.ArrayLiteralExpression // [a, | || containingNodeKind === SyntaxKind.BinaryExpression; // let x = (a, | - case SyntaxKind.OpenParenToken: return containingNodeKind === SyntaxKind.CallExpression // func( | || containingNodeKind === SyntaxKind.Constructor // constructor( | || containingNodeKind === SyntaxKind.NewExpression // new C(a| || containingNodeKind === SyntaxKind.ParenthesizedExpression // let x = (a| || containingNodeKind === SyntaxKind.ParenthesizedType // function F(pred: (a| - || containingNodeKind === SyntaxKind.Parameter; // function F(pred: a| + || containingNodeKind == SyntaxKind.FunctionType; // function F(pred: (a| // todo: figure out why fourslash and the IDE don't agree on node kind here + + case SyntaxKind.ColonToken: + return containingNodeKind === SyntaxKind.Parameter; // function F(pred: a| case SyntaxKind.OpenBracketToken: return containingNodeKind === SyntaxKind.ArrayLiteralExpression; // [ | @@ -3013,9 +3015,6 @@ module ts { case SyntaxKind.TemplateMiddle: return containingNodeKind === SyntaxKind.TemplateSpan; // `aa ${10} dd ${| - case SyntaxKind.ColonToken: - return containingNodeKind === SyntaxKind.BindingElement; // var {x :html| - case SyntaxKind.PublicKeyword: case SyntaxKind.PrivateKeyword: case SyntaxKind.ProtectedKeyword: @@ -3107,10 +3106,13 @@ module ts { containingNodeKind === SyntaxKind.ObjectBindingPattern; // function func({ x, y| case SyntaxKind.DotToken: - return containingNodeKind === SyntaxKind.ArrayBindingPattern; // var [.| + return containingNodeKind === SyntaxKind.ArrayBindingPattern; // var [.| + + case SyntaxKind.ColonToken: + return containingNodeKind === SyntaxKind.BindingElement; // var {x :html| case SyntaxKind.OpenBracketToken: - return containingNodeKind === SyntaxKind.ArrayBindingPattern; // var [x| + return containingNodeKind === SyntaxKind.ArrayBindingPattern; // var [x| case SyntaxKind.OpenParenToken: return containingNodeKind === SyntaxKind.CatchClause || diff --git a/tests/cases/fourslash/completionListNewIdentifierBindingElement.ts b/tests/cases/fourslash/completionListNewIdentifierBindingElement.ts index 3d1c17e0efd..753d6c7d4d2 100644 --- a/tests/cases/fourslash/completionListNewIdentifierBindingElement.ts +++ b/tests/cases/fourslash/completionListNewIdentifierBindingElement.ts @@ -3,4 +3,4 @@ ////var { x:html/*1*/ goTo.marker("1"); -verify.completionListAllowsNewIdentifier(); \ No newline at end of file +verify.completionListIsEmpty(); \ No newline at end of file diff --git a/tests/cases/fourslash/completionListNewIdentifierFunctionDeclaration.ts b/tests/cases/fourslash/completionListNewIdentifierFunctionDeclaration.ts index 3180f8fd820..56bebda6d63 100644 --- a/tests/cases/fourslash/completionListNewIdentifierFunctionDeclaration.ts +++ b/tests/cases/fourslash/completionListNewIdentifierFunctionDeclaration.ts @@ -3,7 +3,6 @@ ////function F(pref: (a/*1*/ //// ////function F(pref: a/*2*/ -//// test.markers().forEach((m) => { goTo.position(m.position, m.fileName);